Mundarija:

Arduino Oled Dice: 10 qadam (rasmlar bilan)
Arduino Oled Dice: 10 qadam (rasmlar bilan)

Video: Arduino Oled Dice: 10 qadam (rasmlar bilan)

Video: Arduino Oled Dice: 10 qadam (rasmlar bilan)
Video: How to use SSD1306 128x64 OLED Display I2C with Arduino code 2024, Iyun
Anonim
Image
Image
Zar vazifalari
Zar vazifalari

Bu ko'rsatma, qanday qilib oled displey va Arduino uno yoki shunga o'xshash yordamida juda chiroyli elektron zar yasash mumkinligi haqida. Bu loyihaning boshida men prototip tugagandan so'ng, men o'zimga moslashtirilgan versiyani yaratmoqchiman, deb qaror qildim. Agar siz o'zingizning shaxsiy versiyangizni yaratmoqchi bo'lsangiz, prototip versiyasini qanday tuzish va foydali maslahatlar mavjud.

Videoda zarlarning oxirgi versiyasi va funktsiyalari ko'rsatilgan.

1 -qadam: Zar vazifalari

Zarlarda 1 yoki 2 ta zarni tanlash uchun tanlash tugmasi mavjud, shuningdek, zarlar tasodifiy sonlar davomida ishlaganda va u to'xtaganda ovoz chiqaradigan piezo elementi mavjud. Tugmachani bosib turganda, zarlar ishlaydi va displeyda tasodifiy sonlarni ko'rsatadi. Tugma qo'yib yuborilganda, u oxirigacha to'xtab, natijalarni ko'rsatguncha tasodifiy vaqtni sekinlashtira boshlaydi. Bu haqiqiy zar zarining xatti -harakatini simulyatsiya qilish uchun.

Dice batareyalarni tejash uchun avtomatik o'chirish sxemasiga ega.

Agar siz 60 soniya davomida zar ishlatmasangiz, quvvat avtomatik ravishda o'chadi.

Dasturiy ta'minotni tanlash tugmachasini bir soniyadan ko'proq bosib ushlab turish orqali ovozni yoqish yoki o'chirish funktsiyasi mavjud.

2 -qadam: Avtomatik o'chirish funktsiyasi

Avtomatik o'chirish funktsiyasi
Avtomatik o'chirish funktsiyasi

Zar batareyalarni tejash uchun ishlatilmaganda o'zini o'chirish funktsiyasiga ega, avtomatik o'chirish sxemasi sxemasiga qarang.

Bu shunday ishlaydi:

O'chirish tugmasi kabi ishlaydigan P FET tranzistoridan iborat. Transistordagi eshik standart lahzali tugma (S1) bilan boshqariladi. Kalit bosilganda kuchlanish eshikka tushadi va oqim tranzistor orqali oqa boshlaydi. Darvozada erga o'tish bilan parallel ravishda boshqa tranzistor mavjud. Tranzistor FETs eshigidagi past kuchlanishni ushlab turadi, chunki bazadagi kuchlanish yuqori. Asosiy kuchlanish mikro boshqaruvchidan qo'llaniladi va nazoratchi quvvat olganda eskizni bajaradigan birinchi narsa - bu raqamli pin 8 ni yuqori va dasturiy ta'minot zanjirini qulflash. 7805 voltaj regulyatori kuchlanishni 5V ga barqarorlashtiradi va ikkita diod akkumulyatordan 9 voltli mikrokontrollerga kirishiga to'sqinlik qiladi. Xuddi shu kalit, tekshirgichdagi raqamli kirishni boshqarish uchun ham ishlatiladi (pin 7).

Eskizda biz tugma bosilgandan keyin o'tgan vaqtni o'lchaymiz va uni belgilangan ON vaqti bilan taqqoslaymiz.

Quvvat o'chmasidan oldin, zarlar/ zarlar miltillay boshlaydi va piezodan ogohlantirish signali chiqadi, shuning uchun foydalanuvchi taymerni qayta o'rnatish uchun kalitni yana bosishga vaqt topadi.

Quvvat o'chmasidan oldin mikrokontroller oxirgi raqamni EEPROM xotirasida, tanlangan son/zar va ovoz holatini saqlaydi. Bu qiymatlar zarning keyingi boshlanishida esga olinadi.

3 -qadam: prototip

Prototip
Prototip

Endi qurilishni boshlash vaqti keldi.

Senga kerak:

  • 1 Lehimsiz non paneli
  • 1 Arduino Uno
  • 1 OLED displey 128x64 i2c
  • 2 kondansatör 10uF
  • 1 kondansatör 100nF
  • 2 rezistor 10 Kohm
  • 2 rezistor 100 Kohm
  • 2 diod 1n4148
  • 1 tranzistorli NPN BC547b
  • 1 MosFET IRF 9640
  • 1 kuchlanish regulyatori L7805
  • 2 metrli kalit
  • 1 ta piezo
  • Jumper simlari
  • 9 V batareya

Bo'ldi shu.

Yuqoridagi sovuq rasmga diqqat bilan amal qiling

Rasmdagi voltaj regulyatori orqasidagi diodga (ko'rish qiyin), sxemada D1 ga alohida e'tibor bering. Diodning anod tomoni BC547 tranzitorining kollektoriga ulangan bo'lishi kerak.

Piezo 6 -pin, Roll tugmasi 7 -pin, Tanlash tugmasi 10 -pin va Power_ON boshqaruvi 8 -pin bilan bog'langan.

Arduino Uno -ni Arduino platasidagi 5V va erga ulangan pin orqali quvvatlantirishni unutmang, yonidagi dc ko'ylagi bilan emas.

Eskizda displey uchun U8g2lib.h ishlatiladi, siz uni bu erda topasiz, https://github.com/olikraus/u8g2/, kodni tuzishdan oldin yuklab oling va o'rnating.

Kutubxonalarni qanday o'rnatish mumkin? Https: //www.arduino.cc/en/Guide/Libraries

Kodni nusxa ko'chiring va Arduino IDE -ga joylashtiring va eskizni yuklang.

Arduino -dan USB kabelini olib tashlashni unutmang, aks holda avtomatik o'chirish funktsiyasi ishlamaydi, chunki USB/Kompyuter tekshirgichni quvvatlaydi.

4 -qadam: Maxsus versiya

Maxsus versiya
Maxsus versiya
Maxsus versiya
Maxsus versiya
Maxsus versiya
Maxsus versiya
Maxsus versiya
Maxsus versiya

Qolganlari maslahatlar va trix haqida, agar siz uni yanada foydali va moslashtirilgan versiyaga aylantirmoqchi bo'lsangiz.

Maxsus versiyaning to'liq sxemasini tuzish uchun men EASYEDA bepul onlayn sxemasi va PCB dasturidan foydalanardim.

Komponentlarga buyurtma berayotganda, mikrokontrollerda chipda Arduino bootloader borligiga ishonch hosil qilishingiz kerak, agar bo'lmasa, avval chipni tayyorlashingiz kerak. Buni qanday qilish kerakligi haqida Internetda ko'plab qo'llanmalar mavjud.

Men ushbu loyihada ishlatilmaydigan, lekin kelajakdagi loyihalar uchun mavjud bo'lgan qo'shimcha komponentlarni qo'shdim. U4, U5, R4, S2.

Sxemadagi PGM sarlavhasi chipni dasturlash uchun ishlatiladi. Agar siz chipni PGM porti yordamida dasturlashni xohlasangiz, USB -dan seriyali adapterga ehtiyoj bor.

USB -dan ketma -ket UART kartalariga

Siz, albatta, eskizni Arduino kartasi yordamida tekshirgichga yuklashingiz mumkin, keyin uning o'rniga chipni PCBga o'tkazishingiz mumkin.

EASYEDA shuningdek, siz uchun tenglikni ishlab chiqarish funktsiyasini taqdim etadi.

Men sxemani PCB sxemasiga aylantirishni boshlashdan oldin, tashqi tomondan o'zgarib turadigan 9 voltli akkumulyator uchun mos o'lchamli va joyli qutini tanlagan edim.

Buning sababi shundaki, men o'lchamlarni va vintlar uchun tenglikni PCB -ga joylashtiradigan joyni joylashtirishim kerak edi, shuning uchun yakuniy tenglik qutiga juda mos keladi.

Men qutidagi ichki o'lchovni juda ehtiyotkorlik bilan o'lchayman va dizaynni xuddi shu dastur yordamida maxsus o'lchamdagi taxtaga aylantiraman, so'ngra tugmachani bosaman va buyurtma beraman.

5 -qadam: Lehimlash

Lehimlash
Lehimlash
Lehimlash
Lehimlash

Chunki men maqbul narxga ega bo'lish uchun bir nechta PCBga buyurtma berishim kerak, shuning uchun men uni ko'p qirrali qilib loyihalashtiraman, shuning uchun kelajakdagi loyihalar uchun xuddi shu taxta va qutidan foydalanishim mumkin. Men analog va raqamli portlar uchun qo'shimcha pinlarni, qo'shimcha tugmachalarni qo'shdim, bu loyihada men S1 -dan sxemani yoqish va zarlarni siljitish uchun, S3 ni esa Select sifatida ishlataman. PCBni olganingizda, barcha komponentlarni kerakli joyga lehimlash vaqti keldi. Mening tenglikni kartamda displey va tugmalar orqa tomonga o'rnatilgan bo'lib, o'lchamini qisqartirish va tashqaridan ko'rish mumkin.

Men zarlar yasayotganimda, agar siz qutini silkitib, zarni siljitib qo'ysangiz yaxshi bo'lardi, agar siz bu xususiyatni xohlasangiz, sxemaga ozgina o'zgartirish kiritishingiz kerak.

O'zgartirish:

Tsilindrni (S1) burilish sensori bilan almashtirdik va FET eshigidagi sathni etarlicha past ushlab turish uchun kalitga parallel ravishda 100uF kondansatkichni qo'shdik, shunda mikro tekshirgich raqamli chiqish portini ishga tushirish va o'rnatishga vaqt topadi. va "yoqish" sxemasini qulflang.

Burilish sensori uzatma pimlariga o'rnatilishi kerak, shunda siz uni egishingiz va burchakni sozlashingiz mumkin, shunda quti stol ustida yotganda kalit o'chadi.

Tiltsensor

6 -qadam: qutidagi teshiklarni kesib oling

Qutidagi kerakli teshiklarni kesib oling
Qutidagi kerakli teshiklarni kesib oling
Qutidagi kerakli teshiklarni kesib oling
Qutidagi kerakli teshiklarni kesib oling

PCB bilan ish tugagach, qutidagi teshiklarni burish vaqti keldi. Displey uchun to'rtburchaklar teshikni kesish uchun men mikro tegirmondan foydalandim, lekin siz mayda yoki boshqa shunga o'xshash arra ishlatishingiz mumkin.

7 -qadam: old panel

Old panel
Old panel
Old panel
Old panel

Keyin sizga old panel kerak, men panelni "smart-draw" dasturida chizardim, lekin siz xohlagan chizish dasturlaridan deyarli har birini ishlatishingiz mumkin.

Chizishni tugatgandan so'ng, uni standart rangli yoki shunga o'xshash lazerli printerda, lekin odatdagidan ko'ra qalinroq qog'ozda chop eting. Ikkala tomonida yopishqoq bo'lgan plastik varaqni oling. Bir tomondan himoya qatlamini olib tashlang va panelni ehtiyotkorlik bilan yopishtiring. bu plastmassa plyonkani ko'pchilik qog'oz do'konlarida topishingiz mumkin.

8 -qadam: paneldagi teshiklarni kesish

Paneldagi teshiklarni kesish
Paneldagi teshiklarni kesish
Paneldagi teshiklarni kesish
Paneldagi teshiklarni kesish
Paneldagi teshiklarni kesish
Paneldagi teshiklarni kesish
Paneldagi teshiklarni kesish
Paneldagi teshiklarni kesish

O'tkir qog'oz pichoq bilan paneldagi teshiklarni kesib oling, yumaloq tugma teshiklari uchun teshikdan foydalaning. Endi panel oddiy stikerga o'xshaydi, lekin uni qutiga yopishtirishdan oldin uni lakning himoya qatlami bilan sepish kerak. Panel quriganidan keyin uni ehtiyotkorlik bilan qutiga yopishtiring.

9 -qadam: Loyihaning oxiri

Loyihaning oxiri
Loyihaning oxiri
Loyihaning oxiri
Loyihaning oxiri

Men bu loyihaning oxirigacha etib kelganimda, afsuski, zarlar uni silkitganda muzlab qoladi va qayta boshlash kerak bo'ladi.

Men prototiplashda hech qachon bunday muammoga duch kelmaganman, shuning uchun men biroz chalkashib ketdim, lekin bu displeyning SDA, SCL pinlarida aks ettirilgan shovqin tufayli ekanligini aniqladim.

Yechim, har bir pin uchun 5V ga qo'shimcha rezistorlarni tortish sifatida qo'shish edi, rasmga qarang, shundan so'ng zarlar kutilganidek mukammal ishlaydi.

10 -qadam: silkiting va aylantiring

Maza qiling.

Tavsiya: