Mundarija:
- 1 -qadam: Loyihaga kirish
- 2-qadam: non paneli
- 3 -qadam: yig'ish
- 4 -qadam: Dasturlash va sozlash
- 5 -qadam: Sketchni o'qish tugmachasi sizga asosiy eskizda tahrir qilish uchun qarama -qarshi qiymatlarni topishga yordam beradi. Asosiy eskizga kirish uchun har bir tugmani bosing va qarshilik qiymatlarini yozib oling
- 6 -qadam: Ehtiyot qismlar ro'yxati va asboblar
- 7 -qadam: Qo'shimcha ma'lumotlar va asosiy eskiz
Video: Qo'lli Arduino qog'ozli qaychi o'yini, 20x4 o'lchamli LCD displey yordamida I2C: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Hammaga salom yoki ehtimol "Salom dunyo!" Deb aytishim kerak.
Siz bilan Arduino ko'p narsalarga kirgan loyihamni siz bilan bo'lishish men uchun katta baxt bo'ladi. Bu I2C 20x4 LCD displey yordamida qo'lda ishlaydigan Arduino Paper Rock Scissors o'yini. Bilaman, siz: "Qog'ozli qaychi uchun yana bir o'yin?" Ammo ko'pchilik Arduino Paper Rock Scissors o'yinlarida oddiy LEDlar ishlatiladi va men ham servo tomonidan ko'tarilgan qog'oz belgilaridan foydalanganini ko'rdim. Bular zo'r. Ushbu loyiha 20x4 o'lchamli LCD displeydan foydalanadi va bittasini I2C bilan, ikkinchisisiz (bu erda ko'rsatilmagan). Tayyor ko'rinishga ega bo'lgan arzon sumkaga muhtoj edim, faqat non taxtasidagi tartibsizlik emas. Hamma ham 3D -printerdan foydalana olmaydi va uni ishlatgan odamga pul to'lamoqchi emas. Men o'z fikrlarimni boshqalar bilan bo'lishish uchun oson bo'lishini xohlardim. Mening dasturlash ko'nikmalarim boshlang'ich darajada bo'lgani uchun, eskiz juda sodda va tushunish va tahrir qilish oson. Bu men eskiz yaratish bo'yicha shaxsiy ta'limim edi. Siz eskizda juda ko'p eslatmalarni topasiz va u to'g'ri, deb o'ylamagunimcha, u juda ko'p (20+?) Takrorlashlardan o'tdi. Loyihaning narxi 20 dollardan kam (I2C bo'lmagan).
Men 2018 yilda Arduino bilan ishlay boshladim va ularning veb -saytini ko'rib chiqdim va hamma narsani o'qib chiqdim. Ko'p yillar davomida siz ko'pchilik baham ko'rgan ko'plab ko'rsatmalarni o'qing va ular bilan birga kelgan namunaviy loyihalar bilan tajriba o'tkazing. Haqiqatan ham ularni qadrlang va barchangizdan ko'p narsani o'rgandingiz. Rahmat. Endi men o'z bilimlarim bilan o'rtoqlashmoqchiman. Sharhlar bo'limida buni qanday qilish kerakligi haqida ko'plab savollar to'planishidan oldin, men buni Arduinoda tajribasiz boshladim. Men Arduino va Instructables veb -saytlarida namunaviy loyihalarni yaratish orqali bilib oldim. Bolalar, men sizlardan o'rgandim. Qachonki siz tiqilib qolsangiz, bu sizning yechim topishning eng tezkor usuli bo'lishi mumkin.
1 -qadam: Loyihaga kirish
Amazon LCD displeyini tanladi va I2C 20x4 LCD ni tanladi, chunki uning narxi past (taxminan 12-18 dollar) va simlar va dasturlash qulayligi. Agar xohlasangiz, siz I2C -dan foydalanishingiz mumkin va 7 dollarga arzon bo'lishi mumkin. Ammo siz boshqa kutubxona va simlar sxemasidan foydalanishingiz va ko'proq Arduino pinlarini ishlatishingiz kerak bo'ladi. Xavotir olmang, har qanday yo'l bilan borish kifoya. I2C 20x4 seriyasini qurish osonroq bo'lardi, kamroq simlar chalkashroq bo'ladi. Ammo parallel 20x4 LCD taxminan 5 dollar arzonroq. Men ikkala simli simlarning sxemalarini chizdim. Boshqa qismlarning ko'pini Amazon va mahalliy do'konlardan sotib oldim. Mening qutim - bu bo'sh kapuchino ichimlik aralashmasi. Menga yoqish/o'chirish, har qanday komponentda ishlash yoki batareyani o'zgartirish uchun qopqoq osongina ochilishi yoqadi. Va "Hey!" quti bepul edi va menga kapuchino yoqadi. Plastikni qayta ishlash atrof -muhit uchun yaxshi. Siz xohlagan qutini ishlatishingiz mumkin, shunda hamma narsa loyihaga mos keladi yoki hatto uni tashlab yuboradi. Men arzon "loyiha ko'rinishini" xohlardim. O'ylaymanki, kimdir 3D bosma versiyasini yaratadi. Arduino siz bilan LCD displeyda "Paper Rock Scissors" o'yinini o'ynaydi, hisobni saqlaydi, siz tugmachalarni kiritishingiz mumkin va agar siz tanlasangiz aldashga imkon beradigan variant bor. Dastlab, aldash xususiyati disk raskadrovka maqsadida yozilgan va men uni tugatganimda, uni sharhlab berdim. O'yin -kulgi uchun men uni yana joyiga qo'ydim.
2-qadam: non paneli
Men o'z davralarimni Arduino Uno yordamida bordim, lekin hammasini yig'ishda Arduino Nano ishlatiladi, chunki u qutiga yaxshiroq joylashadi. Shunday qilib, siz uni ikkalasi bilan qurishingiz mumkin. Ammo IDE -da bir nechta sozlamalarni o'zgartirishni unutmang. Nano LCD displeyining orqa tomoniga buyruq chiziqlari yoki ikki tomonlama yopishqoq lenta yordamida o'rnatiladi. Arduino Nano ni I2C cho'chqachilik taxtasi yoniga joylashtiring, shunda USB ulagichi tashqi tomonga (LCD o'ng tomonida) qaraydi. 9V yoki 4x AA (6v beradi) batareyali qutidan foydalanishingiz mumkin, u SPST slayd kalitiga ega, shuningdek, buyruq chiziqlari bilan qutiga o'rnatilgan. Ikkala usulda ham qurilgan Arduino bort kuchlanish regulyatoriga ega, u uni 5 voltgacha tushiradi. Agar siz bu haqda o'ylab ko'rsangiz, bu o'yin haqiqatan ham "asosan o'lik 9v batareyalarni" quvvatga aylantirishi va yaxshi ishlashi mumkin. (Siz tutun detektori batareyalarini yiliga ikki marta almashtirasiz, to'g'rimi?) 9v batareyadan foydalanadigan boshqa qurilmalarda u 6-8 voltda o'lik deb aytish mumkin; lekin u "Arduino O'lik!" bo'lmaguncha o'lik emas.
Loyihani ishlab chiqishda men kirish uchun 4 ta SPST tugmachasidan foydalanardim, lekin tugallangan o'yinni 5 ta SPST tugmachasini ishlatib, kelajakda o'ylaymanki, men ko'proq tugmalar kerak bo'lgan o'yinni yaratishga harakat qilaman. Balki labirint o'yini? Tugmalar uchun rezistorli kuchlanish taqsimlagichi buyruq chiziqlari bilan o'rnatilishi mumkin bo'lgan proto taxtaning bir bo'lagiga o'rnatiladi.
3 -qadam: yig'ish
O'rnatish:
4 ta asosiy yig'ilish - bu ixtiyoriy I2C cho'chqachilik taxtali, Arduino Nano, bir -biriga ulangan proto -taxtali bilan zanjirlangan rezistorlar va kalitlar va yoqish/o'chirish tugmachali batareya qutisi.
Sxemaga binoan siz sxemani non taxtasidan yoki proto taxtasini qattiq simdan boshlashingiz kerak. Menga chizilmasligi uchun LCD displeyni quti qopqog'ida yuzi pastga qarab saqlash yoqadi. Men Arduino -ning faqat bir tomonida 5V ga ega bo'lgan bosh panelni proto taxtaga ulash uchun ishlatardim. Men Arduino-dan proto-taxtagacha 3 ta sarlavhali ko'prik yasadim (ular lehim ishi ko'p), ular LCD displeyning orqa tomoniga buyruqli chiziqlar yoki ikki tomonlama yopishqoq lenta bilan yotqizilgan. Ammo, aslida, taxtalarni bir -biridan lehimlovchi simlarga ulash mumkin. Ayol sarlavhasi yordamida protokollar panelini LCD I2C ga ulashdi. Tugmalar uchun 5 ta lehim nuqtasini yaratish uchun proto taxtali rezistorli oyoqlardan foydalanish mumkin. Har bir tugmachaning ikkinchi oyog'i Arduino pin A0 ga o'tadi. Har bir tugma uchun lehimli 2 ta sim kerak bo'ladi. Qaysi tugmachali oyoqlardan foydalanish kerakligini aniqlash uchun Ohm o'lchagichdan foydalaning, lekin odatda, siz bir -biriga yaqin bo'lmagan oyoqlarda xato qila olmaysiz (bir -biridan diagonal).
IDE -da Arduino sozlamalarini tanlang. Eskizni yuklab oling va Arduino -ga yuklang va sinov / muammoni hal qiling.
Uni qutiga solishga tayyormisiz? Kapuchino uchun yorliqni olib tashladi, qutimni yuvdi va quritdi. Ko'rib turganingizdek, LCD displey qutisidagi teshikni ehtiyotkorlik bilan o'lchab oling va kesib oling va u uchta dublon bilan o'rnatiladi, ular LCD displeyning uchta burchagiga (2 qutining pastki qismiga, 1 qopqoq yaqinida) vidalanadi, shunda ular ekranga yetadi. qutining orqasida va ishqalanish bilan joyida saqlang. LCD displeyidagi burama teshik terminalga juda yaqin bo'lishi mumkin, shuning uchun men uni o'tkazib yubormayman. Dublonlar vintlardek bo'linmasligi uchun uchuvchi teshiklarni burg'ilash uchun Exacto pichog'idan foydalangan (ehtiyot bo'ling, sirg'alib ketmang va pichoqlamang, dübellarni pensel bilan ushlang). Oxirgi o'rnatish uchun qutini ozgina egish kerak edi, lekin u to'g'ri shaklga qaytdi. Tugmalar uchun teshiklar "burg'ulash" orqali joylashtiriladi (tekis qirrali chiziqlar chiziladi) va terminallarni lehimlantiruvchi temir bilan qizdirib, ular "erimaguncha" isitiladi. Keyin tugmalari soviganidan keyin olib tashlandi va 6 " - 9" CAT 5e sim qoldiqlari yoki tugmalarga 18 dan 22 g gacha bo'lgan simlarga lehimlandi. Tugmachalarni avval teshiklariga joylashtiring, so'ng rezistor prototipiga lehimlang. Nuqta super elim, issiq elim yoki hatto ishqalanish tugmachalarni joyida saqlaydi. Bir qurilishda batareya qutisi, rezistor proto-taxtasi va LCD / Arduino moslamasi orasidagi so'nggi ulanishlarni osonlashtirish uchun bir nechta telefon kabel ajratgichlari (shaffof plastik bloklardagi qizil doiralar) ishlatilgan. Agar xohlasangiz, uning o'rniga lehim va issiqlik qisqichidan foydalanishingiz mumkin. Keyin ehtiyotkorlik bilan va asta -sekin barcha sim va komponentlarni qutiga suring va qopqog'ini yoping. Siz bularning barchasini qilishdan oldin batareyani o'rnatdingiz va Arduino eskizini yukladingizmi? Shuningdek, sizga Github -da bepul yuklab olishingiz mumkin bo'lgan 20x4 o'lchamli LCD displeyli I2C bilan yoki bo'lmasdan kutubxona kerak bo'ladi (qaysi birini tanlaysiz). Quvvatni yoqing, sinab ko'ring va ishlayotganini ko'ring. Keyinchalik men o'qishni osonlashtirish uchun eskizni pauza bilan tahrir qildim, "miltillovchi nuqta effekti" va boshqa narsalarni qo'shdim, ko'plab sharhlar bilan. USB ulanishi va yangi eskiz yuklanishi uchun Arduino -ni joylashtiring. Albatta, eskizni tuzishda oqim sxemasidan foydalanilgan. Siz sharhlar jadvalining har bir bloki qaerda joylashganligini aniqlab olasiz.
Siz tugmalar ketma -ket / parallel zanjirda ekanligini bilib olasiz, bu sizga bitta tugmachani xohlaganingizcha ishlatishga imkon beradi. O'chirish har bir tugma bosilganda o'qiladigan qiymatni o'zgartiradigan analog pinga qiymat berish uchun kuchlanish bo'luvchi vazifasini bajaradi. Siz ketma -ket monitor yordamida rezistorlaringizga asoslangan elektron qiymatlarini aniqlashingiz va eskizdagi "qabul qilingan qiymatlarni" o'zgartirishingiz mumkin.
Umid qilamanki, siz o'z uyingizni qurishdan zavqlanasiz! Agar siz ulardan birortasini yoki hatto ba'zi usullarini qilsangiz, biz bilan baham ko'ring. O'qiganingiz uchun tashakkur.
4 -qadam: Dasturlash va sozlash
Endi IDE bilan dam olish uchun. Umid qilamanki, siz kappuchino ichgansiz. Sizga hushyor turishga yordam berish uchun kerak bo'lishi mumkin.
Ehtimol, ba'zi kutubxonalarni o'rnatish kerak bo'ladi. Sizga I2C uchun Wire.h, LCD uchun LCD.h, I2C boshqariladigan LCD uchun LiquidCrystal_I2C.h kerak bo'ladi. Bundan tashqari, Arduino -ga 20 belgidan iborat 4 qatorli LCD -dan foydalanayotganingizni bildirish uchun lcd.begin (20, 4) buyrug'ini ishlatishingiz kerak bo'ladi va boshqa sozlamalar bo'lishi mumkin.
Kutubxonalarni o'rnatish haqida ma'lumot olish uchun qarang:
Arduino IDE -da siz taxtani va u ulangan portni o'rnatishingiz kerak bo'ladi. Portni kompyuterning boshqaruv panelida/qurilma menejerida/Universal Serial Bus kontrollerlarida topish mumkin. Siz qaysi Arduino -dan foydalanayotganingizni aniqlashingiz kerak. Men Arduino Nano -dan foydalanayapman, lekin Uno ham buning uchun ishlaydi. Sozlamalarni diqqat bilan tanlang.
Sizga I2C manzilingizni aniqlash kerak bo'lishi mumkin. Siz uni to'g'ridan -to'g'ri taxtadan o'tish joylaridan o'qishingiz kerak. Bundan tashqari, I2C skanerini Arduino.cc yoki https://www.gammon.com.au/forum/?id=10896 va boshqa joylardan yuklab olishingiz mumkin.
Bu erda siz Arduino -ga dasturni yuklashingiz va uning funktsional imkoniyatlarini sinab ko'rishingiz kerak. LCD displey yonadimi? Qahramonlarni o'qiy olasizmi? Bir marta men sxemani qurdim, keyin orqa nuri yonib ketganini sinab ko'rdim, lekin belgilar o'qilmaydi. To'g'ri qurilganligiga ishonch hosil qilish uchun sozlamalar va ulanishlarni sinab ko'rish uchun bir necha soat (to'g'ri, HOURS) sarflandi. Bir -ikki kunga voz kechdi. Keyinchalik unga qaytib keldi va cho'chqachilik taxtasidagi o'zgaruvchan qarshilik minimal darajaga tushirilganini tushundi. Uni o'zgartirdi va qahramonlar ko'rinib qoldi. Ish stolida boshini silkit. Boshingizni stolga urishning yana bir sababi? Agar siz batareyani o'zgartirishingiz kerak bo'lsa, bu o'zgaruvchan qarshilikni qayta sozlashingiz kerak bo'ladi. Bu sodir bo'lganda, men kirish uchun qutining orqa qismidagi kichik bir teshikni kesib tashladim.
Siz o'z tugmalaringiz uchun ishlatiladigan rezistorlar asosida ushbu dasturda o'zingizning tugma qiymatlarini o'rnatishingiz kerak bo'lishi mumkin. Buning uchun siz bu kichik eskizdan foydalanishingiz mumkin va ketma -ket monitorni yoqishni unutmang. Eskizni ishga tushiring va har bir tugmani bosing va har bir qiymatni yozing. Keyin tugma qiymatlarini aks ettirish uchun eskizni tahrir qiling. Keyin tahrirlangan eskizni taxtangizga yuklang va u ishlayotganini tekshiring.
Hammasi to'g'ri bo'lishi kerak bo'lgan juda ko'p o'zgaruvchilar bor va sizniki menikidan farq qilishi mumkin. Sabr -toqatli bo'lish va har xil narsalarni sinab ko'rish sizning ishingizga yordam beradi. Shuni ham yodda tutingki, siz Arduino o'zgaruvchilarini o'rnatganingizdan so'ng (masalan, taxtaning nomi, com 3, 5 yoki shunga o'xshash, protsessor va dasturchi [barchasi asboblar ostida)), siz ularni to'g'ri sozlagan bo'lishingiz mumkin, lekin u ishlamaydi, chunki siz qayta yuklashingiz kerak. Arduino -ni ajratib oling va uni qayta kompyuteringizga ulang. Siz ham kompyuterni saqlashingiz va qayta yuklashingiz kerak bo'lishi mumkin.
Bu eskizni yuklang, monitorni ishga tushiring, tugmachalarni bosing va qiymatlarni yozib oling, so'ng rezistor qiymatlarini sizniki bilan almashtirib, qog'ozli qaychi eskizini tahrir qiling. Paper Rock Scissors eskizini ishga tushiring va u to'g'ri ishlayotganini tekshiring. Ha, siz tugmalaringizni noto'g'ri tartibda o'rnatdingizmi? Agar siz ularni ma'lum tartibda xohlasangiz, ularni qayta o'rnatishingiz kerak bo'ladi.
Maza qiling!
5 -qadam: Sketchni o'qish tugmachasi sizga asosiy eskizda tahrir qilish uchun qarama -qarshi qiymatlarni topishga yordam beradi. Asosiy eskizga kirish uchun har bir tugmani bosing va qarshilik qiymatlarini yozib oling
// tugmachani o'qish eskizi
bo'sh o'rnatish () {
// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying:
Serial.begin (9600);
}
void loop () {
// qayta ishga tushirish uchun asosiy kodingizni bu erga qo'ying:
int buTTon; // tugmalarni o'qish uchun
buTTon = 0; // tugmalarni o'qish uchun
buTTon = analogRead (A0); // Buyruqlar tugmachalarni o'qish uchun ishlatilgan
kechikish (100);
Serial.println (buTTon);
6 -qadam: Ehtiyot qismlar ro'yxati va asboblar
Amazon -dan ehtiyot qismlar ro'yxati:
Arduino Uno yoki Arduino Nano
I2C bilan yoki bo'lmasdan 20x4 LCD displey
SPST slayd kaliti bo'lgan 9v yoki 6v batareya qutisi (yoki slayd kalitini alohida oling)
5 marta SPST tugmachalari
1x tortish qarshiligi 1k - 5k
5x rezistorlar 1k dan past, 200 - 500 Ohm yaxshi
Qismlar ro'yxati boshqa joylar yoki do'konlar:
9V yoki 4x 1,5 voltli batareya (9V variant "ko'pincha o'lik" batareyalarni qayta ishlashga imkon beradi)
Buyruqlar chiziqlari (to'ldirishda ishlatilgan) yoki ikki tomonlama yopishqoq lenta
Telefon kabelini ulash moslamalari (ixtiyoriy, lekin simlarni ulashni osonlashtiradi)
Bir necha dyuym 1/4 dyuymli dübel
Dübellarni LCD -ga o'rnatish uchun yog'ochdan yasalgan kichik vintlar
Lehim
18 ga simlar uchun issiqlik qisqarishi
Chiqindilar yoki qayta ishlash qismlari:
Bo'sh kappuchino ichimlik aralashmasi qutisi (hamma ham 3D -printerga ega emas, bir oz kappuchino bor va bir nechta plastmassani qayta ishlating)
Taxminan 1 "x 2" o'lchamli proto -plastinka qoldiqlari, garchi men Amazon protobardidan foydalansam
Har xil uzunlikdagi 18 dan 22 g gacha simli yoki Cat 5e qattiq yadroli
Sizga kerak bo'lishi mumkin bo'lgan vositalar:
Kichik Philips tornavida
Kichkina tekis tornavida
Exacto pichog'i
Lehimlash temir va lehim
Qattiq qaychi
Igna pense
Hukmdor
7 -qadam: Qo'shimcha ma'lumotlar va asosiy eskiz
O'qiganingiz uchun tashakkur. Bilaman, bu juda ko'p. Bu mening birinchi tushunarsiz va bu men uchun biroz tarbiyali edi. Orqaga nazar tashlasam, ba'zi joylarda o'zimni gapirmay qo'yganimni, boshqalarda esa juda qisqa ekanligimni ko'raman. Men yig'ilishni bosqichlarga bo'lishim kerak edi. Va men bu loyihani o'nlab marta qurganimdan buyon to'g'ri bo'lgunga qadar, ba'zi rasmlar bitta modeldan yoki boshqasidan olingan. Men qaytib, bitta modelni suratga olishim kerak. Men ham bir yoki ikkita video qo'shmoqchiman. Ha, men qaytib kelib, bu narsalarni tuzataman. Lekin hozircha uni sizning qo'llaringizga topshirdim. Umid qilamanki, siz uni men kabi qurishni yoqtirasiz. O'qiganingiz uchun yana bir bor rahmat.
Tavsiya:
Tosh qog'ozli qaychi o'yini: 6 qadam
Toshli qog'oz qaychi o'yini: Bu mening birinchi ko'rsatma. Men uzoq vaqtdan beri yozmoqchi edim, lekin bu erda nashr qila oladigan loyiham yo'q edi. Shunday qilib, men bu loyiha g'oyasi bilan kelganimda, men bu loyiha deb qaror qildim, shuning uchun men tensorflow.js saytini ko'rib chiqardim, u men
E-qog'ozli displey va Raspberry Pi Zero W yordamida YouTube obunachilari hisoblagichi: 5 qadam (rasmlar bilan)
E-qog'ozli displey va Raspberry Pi Zero W-dan foydalangan holda YouTube obunachisi hisoblagichi: Ushbu ko'rsatmada men sizga YouTube API-ni so'rash uchun elektron qog'ozli displey va Raspberry Pi Zero W yordamida o'z Youtube obunachi hisoblagichini qanday qurishni ko'rsataman. va displeyni yangilang. Elektron qog'ozli displeylar bunday turdagi loyihalar uchun juda mos keladi, chunki
Qanday qilib ESP8266, elektron qog'ozli displey yordamida koronavirus COVID 19 jonli ma'lumotlarni kuzatuvchi qilish mumkin: 7 qadam
ESP8266, elektron qog'ozli displey yordamida koronavirus COVID 19 jonli ma'lumotlar kuzatuvchisini qanday qilish kerak: 1
Elektron zanjirlar uchun non taxtasi yasang - qog'ozli qog'oz: 18 qadam (rasmlar bilan)
Elektron sxemalar uchun elektron jadval yaratish-Papercliptronics: bu kuchli va doimiy elektron sxemalar. Hozirgi yangilanishlar uchun papcliptronics.weebly.com saytiga tashrif buyuring
Qog'ozli qaychi: 10 qadam
Qog'ozli qaychi qaychi: Maqsad: Buni tugatgandan so'ng, siz Code.org yordamida noldan oddiy Rok, Qog'oz Qaychi o'yinini yasashni o'rganasiz. Kerakli materiallar / talablar: Javascript sintaksisi, kompyuter, Code.org hisobi haqida asosiy tushuncha