Mundarija:

Arduino loyihasi // Saymon aytadi (zo'r oqibat bilan): 5 qadam
Arduino loyihasi // Saymon aytadi (zo'r oqibat bilan): 5 qadam

Video: Arduino loyihasi // Saymon aytadi (zo'r oqibat bilan): 5 qadam

Video: Arduino loyihasi // Saymon aytadi (zo'r oqibat bilan): 5 qadam
Video: arduino ir sensor test 2024, Iyul
Anonim
Arduino loyihasi // Saymon aytadi (achinarli oqibat bilan)
Arduino loyihasi // Saymon aytadi (achinarli oqibat bilan)

Salom!

Bu juda yangi boshlanuvchilar uchun qulay, chunki bu mening birinchi arduino loyiham. Men bu loyihani hozirda kuzatayotgan kursimdan o'tish uchun yaratganman, agar bu shunday bo'lsa.

Bu yo'riqnomada men sizga Arduino yordamida penalti bilan Simon Says o'yinini qanday qilishni ko'rsataman. Men o'yinni biroz jonlantirish uchun penalti natijasini qo'shishni tanladim; Bu foydalanuvchiga faqat chiroqlarni kuzatib turish va buning evaziga tugmachalarni bosish o'rniga, arduino bilan ko'proq o'zaro aloqani beradi.

Jarima, foydalanuvchi bosim sensori bosishidan iborat. Arduino foydalanuvchi bergan bosimga ta'sir qiladi va bosimga qarab, arduino qizil yoki yashil LED yoritgichini qaytaradi. Agar qizil LED yonib tursa, demak o'yinchi chegirma nuqtasini oladi, agar yashil LED yonib tursa, hech narsa bo'lmaydi. Siz faqat o'yinni tiklashingiz va uni qayta o'ynashingiz mumkin.

Oq doska yordamida siz tizimning o'zida qancha chegirmali nuqtani belgilashingiz mumkin. Bu sizga loyihaning dizayni bilan qo'shimcha shovqinni beradi.

1 -qadam: MATERIALLAR

Siz birinchi navbatda kerakli materiallarni olishni xohlashingiz mumkin. Men elektronika to'plamini sotib olgan edim va ko'proq elektronikani sotib olmoqchi bo'lmagani uchun, bu to'plamdagi narsalar va asboblardan foydalanishni xohlardim. Bemalol o'zingiz yoqtirgan narsani qo'shib qo'ying.

Ishlatilgan narsalar:

- Arduino Uno (1x)

- Non paneli (1x)

- LEDlar (4x va iloji bo'lsa, turli ranglarda, chunki bu o'yinni rang -barang qiladi)

- PCB tugmachasi (4x, 6x6 mm)

- 200 ohmli rezistorlar (4x)

- 10K ohmli rezistorlar (5x)

- Bosim sensori (1x)

- Non -taxtali o'tish simlari to'plami

- Perf / Strip taxtasi (1x)

- Ko'pik taxtasi (oq)

- asetat folga

- Washi tasmasi

- Paxta yostiqchalari

- Bo'yoqli lenta

- Yelim

Ishlatilgan asboblar:

- Lehimlash temir

- Kesgichlar

- Pense qisish

- Lazerli kesuvchi

- Stenli pichog'i

2 -qadam: KODINGIZNI O'RNATING

Men o'zimni dasturlashni boshlashdan oldin, men arduino -ga asoslangan boshqa Simon Says o'yinlarini ko'rib chiqdim. Men ularni kodlashda solishtirdim. Men ularni mos yozuvlar sifatida ishlatardim:

- Sxema va kod bilan o'rgatish mumkin. Kod tushuntirilmagan, agar siz dasturlash bilan tanish bo'lmasangiz, buni birdaniga tushunish qiyin bo'lishi mumkin.

- Sxematik va kodli II bilan ko'rsatma

- Sxematik va kod III bilan ko'rsatma

O'yin uchta alohida holatga bo'linadi: START holati, PLAY holati va GAMEOVER holati. Bu aylana o'xshaydi, siz har safar o'yin o'ynaganingizda takrorlanasiz. Kodning qolgan qismini bu erda topishingiz mumkin.

Men penalti natijasi uchun taymerdan foydalandim. Sensor qancha vaqt bosim o'tkazishini kuzatib boradi. If/else iboralaridan foydalanib, qizil LED yoki yashil chiroq yonib tursa, bu sizning bosimingizga bog'liq.

int onGameOver () {//Serial.print (millis ());

Serial.print (" -");

Serial.println (taymer);

agar (analogRead (A0)> 0)

{// Taymer zetten biz 2 soniyani ishlatamiz, agar (! SetOnce)

{Serial.println ("bosilgan.");

setOnce = rost;

taymer = millis () + 2000; }}

if (millis ()> taymer va& setOnce)

{// Taymer afgelopen

Serial.println ("afgelopen.");

blinkOnce = noto'g'ri; setOnce = noto'g'ri;

qaytish (analogRead (A0) <512? 2: 1); }}"

3 -qadam: Sxematik

Sxematik
Sxematik

O'yiningizga prototip yaratish uchun taxtadan foydalaning. Shuni yodda tutingki, non paneli ulangan.

Siz, ehtimol, ko'pgina taxtalarda har xil satr va ustunlarda raqamlar va harflar yozilganligini payqagan bo'lishingiz mumkin, lekin ular sizning sxemangizni qurishda sizga ko'rsatma berishdan boshqa maqsadga xizmat qilmaydi. Agar siz qilmoqchi bo'lgan ulanishning qator raqamini bilsangiz, simni yuz marta tekshirishdan ko'ra, bu raqamga ulash ancha osonlashadi.

Gorizontal qatorlardan tashqari, non taxtalarida odatda vertikal ravishda yonma -yon ishlaydigan elektr relslar mavjud.

4 -qadam: Lehimlash

Lehimlash
Lehimlash

O'qituvchilarim menga baho berishganda, men loyiham tom ma'noda qulab tushishi haqida tavakkal qilishni xohlamaganim uchun (men ham jamoat transportida sayohat qilishim kerak), men o'z loyihamni davom ettirish o'rniga uni lehimlashni ham tanladim. non taxtasi.

Men sxemani ko'rsatmadim, chunki men ramzlar va narsalarni ishlatishni bilmasdim, lekin agar siz lehimlashdan oldin o'zingiz uchun yaxshiroq usul topsangiz, bu ham yaxshi.

Men o'z taxtamda o'z prototipimni o'rganib chiqdim va nima bo'lishini aniq tushunishga ishonch hosil qildim. Men aloqalarni o'rnatdim va shuni yodda tutdimki, salbiy tomoni ijobiy tomonga ulanishi kerak.

Men lehim paytida qaysi pin / tugma / sim / sensor ushlab turishini yozdim. Qachondir sizda mavjud bo'lgan simlar miqdori sizni juda xafa qiladi. Men nima qildim - bu simning vazifasi nima va u qaysi pinga bo'yalgan lentaga o'raladi va simning atrofiga o'raladi, shunda har xil simlar nimaga mo'ljallanganligi aniqroq bo'ladi.

Hamma narsa ulanganligiga ishonch hosil qiling va siz borishga tayyormiz!

Lekin men sizga bermoqchi bo'lgan maslahat - lehim paytida siz o'zingizning prototipingizni yoningizda ushlab turishingiz kerak, shunda siz nima qilayotganingizga ishonchingiz komil bo'lmasa, uni ma'lumot sifatida ishlatishingiz mumkin. Men ko'plab talaba -qizlarning prototipini ajratib, keyin qandaydir narsalarni bir -biriga qanday bog'laganini unutganini ko'rdim.

5 -qadam: qadoqlash

PAKETLASH
PAKETLASH
PAKETLASH
PAKETLASH
PAKETLASH
PAKETLASH
PAKETLASH
PAKETLASH

Men arduinoimni yopadigan kubga ega bo'lishni xohlardim. Men Illustrator -da kub yasadim va uni lazer bilan kesib oldim. Materiallar uchun men ko'pikli taxtani tanlayman, chunki menimcha, bu oson va qattiq turdagi material. Har bir lazer to'sar boshqacha bo'lgani uchun, siz materialning qalinligiga qarab, lazer tezligini va kuchini o'zingiz tekshirishni xohlaysiz.

Ikkita oddiy kvadrat kubning yuqori va pastki qismiga, qolganlari esa yon tomonga yopishib qoladi. Buning uchun siz elimdan foydalanishingiz mumkin. Qisqa tomoni borki, boshqasidan ko'ra qisqaroq, chunki agar siz biron-bir o'zgartirish kiritmoqchi bo'lsangiz yoki o'yinni yoqmoqchi bo'lsangiz, usb-kabelingizni arduino-dan bu kubdan va noutbukdan chiqarib olishingiz mumkin.

Men qo'shimcha xavfsizlik uchun yon tomonlarini bir -biriga yopishtirdim va yopishtirdim. Oxirida men kubning yuqori qismini yopishtirdim, chunki men kubni arduino yotadigan paxta yostiqchalari bilan to'ldirmoqchi edim. Men Stenli pichog'ini ishlatib, LEDlar chiqib ketadigan doiralarni, tugmachalari bosiladigan maydonlarni va bosim sensori chiqib ketadigan joyni kesib tashlaganimdan so'ng, kubni yuqori qismiga perf / striptopimni yopishtirdim. va bosishga tayyor bo'ling.

Kir yuvish lentasidan foydalanib, asetat folga svetodioddan yuqoriga yopishtiriladi va sizning Simon Says o'yiningiz yaxshi!

Tavsiya: