Mundarija:

Rangga asoslangan jumboq: 6 qadam
Rangga asoslangan jumboq: 6 qadam

Video: Rangga asoslangan jumboq: 6 qadam

Video: Rangga asoslangan jumboq: 6 qadam
Video: Ko'zingiz nuri qanchalik darajada o'tkirligini aniqlashni xohlaysizmi? 2024, Iyul
Anonim
Rangga asoslangan jumboq
Rangga asoslangan jumboq
Rangga asoslangan jumboq
Rangga asoslangan jumboq

Salom!

"Agar shunday bo'lsa" nomli maktab loyihasi uchun men Arduino yordamida interaktiv ob'ekt yaratishim kerak edi. Men oddiy geribildirim tizimi bilan rangga asoslangan jumboq yaratishga qaror qildim.

U nima qiladi (qisqasi):

  1. Rang sensori ustidagi ob'ekt rangini aniqlaydi.
  2. Bu rang to'g'ri echimga mos keladimi -yo'qligini tekshiradi.
  3. "Siz o'ldingiz" belgisini ko'taradi yoki yo'q, ob -havoga qarab, jumboq hal qilinganmi yoki yo'qmi.

Xo'sh, bu jumboqni hal qilish oson deb o'ylaysizmi?

Xo'sh, bu qanday ishlashini biladigan odamga, garchi siz echimni o'zgartirsangiz ham! Xavotir olmang, qanday ishlashini bilmaydigan odamga bu sehr kabi ko'rinadi. Mening tajribamda ko'p odamlar jumboq rang emas, vazn haqida o'ylashdi. Va unutmaslik kerakki, siz jumboqning ustasisiz, qancha maslahatlar berishingiz sizga bog'liq.

Men uni qanday ishlatishni xohlayman:

Men bu jumboqni D & D kampaniyasining interaktiv qismi sifatida ishlatmoqchiman.

1 -qadam: materiallar

Materiallar
Materiallar
Materiallar
Materiallar

Qurilishni boshlashdan oldin sizga quyidagilar kerak bo'ladi:

Umuman:

Jumboq o'ylab topadigan (ijodiy) miya

Arduino mahsulotlari:

  • Arduino Uno
  • Non paneli
  • Servo dvigatel
  • (TCS3200) Rang sensori
  • 7x Erkak - ayol o'tish simlari (yaxshisi har xil rangda, tavsiya etiladi)
  • 11x Erkak - Erkak o'tish simlari
  • Powerbank (agar siz kompyuter/noutbuksiz ishlashini xohlasangiz)

Koson:

  • Qopqoqli (poyabzal) quti (jumboqni qurish uchun)
  • bir nechta karton bo'laklari (devorlar, o'rtada ustun va siz o'lganingizni belgi qilish uchun)
  • Yog'och bloklar, (hech bo'lmaganda) bir tomoni rang sensoridan kattaroq bo'lishi kerak.
  • bo'yoq: qora, qizil, ko'k va yashil (agar xohlasangiz*)
  • A4 oq qog'oz
  • Qaychi
  • Qora marker
  • Ikki tomonlama kuchli yopishqoq lenta
  • Qalam
  • Tez yopishtiruvchi
  • Pichoq yoki Stenli pichog'i

* Ranglardagi kichik yon yozuv: dastlab men binafsha rang ishlatardim, lekin sensor qizil va binafsha rangni ajrata olmadi, shuning uchun men uni tashlab qo'ydim. Bilingki, boshqa ranglar ham juda yaxshi ishlamasligi mumkin (lekin ular men sinab ko'rmaganman). Mening sensorim arzon edi, aniqroq sensor, ehtimol, ko'proq ranglarni ajrata oladi.

2 -qadam: jumboq

Jumboq
Jumboq

Loyihaning eng muhim qismi - miyani yaxshi yorib yuboradigan jumboq bo'lishi.

Birinchi rasmda ko'rib turganingizdek (kirish joyi bor), men o'zimning bloklarimga norin rinlarini chizdim (pastdan tashqari har tomondan). Ular jumboq bilan bog'liq. Keyin men oddiy savolni qo'ydim: "Haqiqiy boylik …?".

Rinalarni tarjima qilish uchun yuqoridagi rasmdan foydalandim. Men ham jumboq ustida harakat qilayotgan odamlarga tarjimalarni berdim.

Jumboqning echimi:

Haqiqiy boylik - baxt!

Xo'sh, o'yinchi nima qilishi kerak - xazinani (boylik belgisi bilan blokni) uning ustiga baxt belgisi qo'yilgan blok bilan almashtirish.

Menga jumboqni ishlating, lekin men sizni o'zingizni o'ylab topishga undayman.

3 -qadam: simlarni ulash

Simlar
Simlar
Simlar
Simlar

Ulanish juda oddiy, chunki faqat ikkita komponent mavjud (va arduino). Tavsifda men minimal miqdordagi simlardan foydalanaman, agar siz ko'proq foydalanmoqchi bo'lsangiz, bemalol qiling. (Men rasmda ko'proq sim ishlatardim)

Arduino non paneliga: (2 ta erkak - erkak simidan foydalaning)

  1. 5V pinni non paneli + tomoniga ulang.
  2. tuproqli pimlardan birini non paneli yon tomoniga ulang.

Servo: (3 ta erkak - erkak simidan foydalaning)

Servo uchta simga ega: quvvat, er va signal.

  1. Quvvat odatda qizil simdir, bu simni taxtangizning + tomoniga ulang.
  2. Topraklama odatda qora yoki jigarrang simdan iborat, bu simni taxtaning yon tomoniga ulang.
  3. Signal odatda sariq yoki to'q sariq rangli simdir, bu simni non panelidagi gorizontal qatorga ulang.

Rang sensori: (7 erkak - ayol simidan foydalaning)

  1. VCC: bu simni taxtangizning + tomoniga ulang (bu quvvat).
  2. GND: bu simni non taxtangizning yon tomoniga ulang (bu tuproq).
  3. S0: bu simni non panelidagi gorizontal qatorga ulang.
  4. S1: bu simni non panelidagi gorizontal qatorga ulang.
  5. S2: bu simni non panelidagi gorizontal qatorga ulang.
  6. S3: bu simni non panelidagi gorizontal qatorga ulang.
  7. OUT: bu simni taxtangizdagi gorizontal qatorga ulang.

*Men sizga uni taxtaga qayerga yopishtirish kerakligini aniq aytmayapman, chunki o'zingizning qurilishingiz bilan eng yaxshisi nima ekanligini aniqlash osonroq.

Arduino uchun non paneli: ** (6 ta erkak - erkak simidan foydalaning)

Qutiga qo'yishdan oldin hamma narsa ishlayaptimi yoki yo'qligini ko'rish aqlli, buni bilish uchun siz bu kabellarni olib tashlashingiz va keyinroq qayta joylashtirishingiz kerak. Qaysi kabel nimaga ulanganini eslab qoling yoki yozing.

  1. Servo signal piniga ulangan qatorni Arduino -dagi 9 -pin bilan ulang.
  2. rang sensori S0 piniga ulangan qatorni Arduino 4 -piniga ulang.
  3. rang sensori S1 piniga ulangan qatorni Arduino 5 -piniga ulang.
  4. rang sensori S2 piniga ulangan qatorni Arduino 6 -piniga ulang.
  5. rang sensori S3 piniga ulangan qatorni Arduino 7 -piniga ulang.
  6. rang sensori OUT piniga ulangan qatorni Arduino 8 -piniga ulang.

** bu erda men ko'rsatgan qatorlar sizning taxtangizda.

4 -qadam: Kod

Bu erda siz ushbu loyihani ishga tushirish uchun kerak bo'lgan kodni topasiz. Koddagi izohlar nima qilayotgani aniq bo'lishi kerak. Agar siz rang sensori qanday ishlashi haqida batafsilroq ma'lumotga ega bo'lishni istasangiz (agar siz kodni to'liq tushunmoqchi bo'lsangiz) "Sensor qanday ishlaydi?" Bo'lim.

Siz hali u erda bo'lmasangiz ham, kodda bir nechta narsalarni o'zgartirish kerak:

  • O'zgaruvchilarni sozlang.
  • If-iboralarni jumboqingizga moslang (agar kerak bo'lsa).

O'zgaruvchilarni sozlashdan oldin, keyingi bosqichdan ustunni yasash va bloklarni bo'yash juda qulay, shuning uchun uni takrorlamaslik kerak.

O'zgaruvchilarni sozlang:

Agar siz simlarni to'g'ri qurgan bo'lsangiz, kod ishlashi kerak, qog'oz, qalam va (bo'yalgan) bloklarni oling.

  1. Void checkRiddle funktsiyasini koddan vaqtincha izohlang. (shuning uchun bu qism ishlamaydi)
  2. Kodni Arduino -ga yuklang.
  3. Ketma -ket monitorni oching, u ishlay boshlaydi va sizga R =… G =… B =… (va yana bir qancha narsalar, hozir muhim emas) ko'rsatadi.
  4. Rangli blokni datchik oldida bir necha soniya ushlab turing (oxirgi dizayningizda qanchalik yaqin bo'lsa).
  5. Sensor oldida ushlab turganda, Arduino -ni o'chiring. (uni USB portidan chiqarib oling)
  6. Har bir rang (R, G va B) bo'yicha o'lchangan rang sensori tashqi (eng yuqori va eng past) qiymatlarini yozing.
  7. Eng kam farq qiladigan ikkita qiymatni tanlang (masalan, R va B). **
  8. Sensor kichik xatolarga yo'l qo'yiladi, shuning uchun eng yuqori qiymatda +10 va eng past qiymatda -10 ni hisoblang.
  9. Endi koddagi qiymatlarni hozir mavjud bo'lganlar bilan almashtiring. (Izohlarda qaysi qiymatlarni almashtirish kerakligi aytilgan)
  10. Agar siz mendan boshqa rangni ishlatayotgan bo'lsangiz, serial.print -ni ham o'zgartiring.
  11. Endi yangi o'lchangan qiymatlar yordamida kodni Arduino-ga qayta yuklang.
  12. Agar ketma -ket monitor sizning kodingizga kiritgan rangni yaxshi bosib chiqaradimi -yo'qligini tekshiring, uning oldida bir xil rangli blokni ushlab turing. Sensor oldida ushlab tursangiz, uning mos kelishiga ishonch hosil qiling.
  13. Agar yo'q bo'lsa:: (qiymatlarni tekshiring, diapazonni kattalashtirish kerakmi yoki yo'qligini ko'ring. Ha::) kod endi bu rangni taniydi.
  14. Endi siz ishlatmoqchi bo'lgan barcha ranglar kodga birlashtirilmaguncha bu jarayonni takrorlang (4 - 13 -qadam).
  15. Void checkRiddle funktsiyasini izohlashni unutmang!

* Agar siz hali ularni bo'yamagan bo'lsangiz, avval "ish" bosqichiga o'ting.

** agar siz xohlasangiz, aniqroq bo'lishi mumkin, agar siz barcha 3 (R, G va B), lekin bu loyiha uchun kerak bo'lmasa.

If-iboralarni jumboqqa moslang: (agar siz echimni o'zgartirmoqchi bo'lsangiz)

5 -qadam: ish va bloklarni bo'yash

Kassa va bloklarni bo'yash
Kassa va bloklarni bo'yash
Kassa va bloklarni bo'yash
Kassa va bloklarni bo'yash
Kassa va bloklarni bo'yash
Kassa va bloklarni bo'yash
Kassa va bloklarni bo'yash
Kassa va bloklarni bo'yash

Ish biroz murakkab qism, lekin buni qilish qiyin emas, asosan to'g'ri o'lchovlarga bog'liq. Men o'z o'lchovlarimni bermayman, chunki biz bir xil o'lchamdagi materiallardan foydalanmaymiz.

Bloklarni bo'yash:

Bloklarni ishlatmoqchi bo'lgan ranglarga bo'yab qo'ying. Men qizil, yashil va ko'k ranglarni tavsiya qilaman, chunki sensorli bo'lganlarni ajratish oson.

Agar siz o'zingiz ham jumboqni rinalarda bo'yamasangiz.

Ustun:

Ustun rang sensori va unga ulangan kabellarni (qisman) yashirishi kerak. Ustunning o'lchovlarini aniqlash uchun siz rang sensori tomonlarini o'lchashingiz va ustuningiz qanchalik baland bo'lishini xohlayotganingizni aniqlashingiz kerak. 3 sm balandlikdagi rasmga qarang). Keyin kartonga chizib oling va kesib oling, agar xohlasangiz, ularni bo'yashingiz mumkin.

Sensorga simlarni ulang, uni tirgakka qo'yishdan oldin, endi pinlarga etib bora olmaysiz.

Sensorni tirgakka ulash uchun ikki tomonlama yopishqoq lentadan foydalandim. Buni uchinchi rasmda ko'rishingiz mumkin.

Sensorning chiroqlari ustun ichida joylashganligiga ishonch hosil qiling (chetidan emas), bloklar keyinroq turishi kerak.

"Siz o'ldingiz" belgisi:

Bir parcha kartonni kesib oling va ustiga "o'ldingiz" deb yozing. Birinchi rasmda ko'rib turganingizdek, men boshqa tarafga qilichli g'azablangan odamning rasmini yopishtirdim. Belgining pastki qismida quloq borligiga ishonch hosil qiling. Belgini servoga yopishtirish uchun quloqdan foydalaning.

Xonani yaratish:

  1. Koson uchun tanlagan qutini bo'yab qo'ying. (Har qanday rang sizga yoqadi, men qora rangdan foydalanardim)
  2. Devorlarning uzunligini aniqlash uchun xonaning shaklini qutining pastki qismiga torting. (Chiziqlarni o'lchagich bilan o'lchang).
  3. Devorlarning balandligi qanday bo'lishini aniqlang. Mening misolimdagi devorlar 5 santimetr balandlikda.
  4. Endi sizning devorlaringizning o'lchamlari bor, ularni kartonga torting va kesib oling.
  5. Devorlarni bo'yash. (Men ularni qora rangga bo'yadim)
  6. Devorlarni qutiga, ilgari chizilgan chiziqlarga yopishtiring.

Endi siz xonani tayyorladingiz.

Kabellar va belgilar uchun teshiklar:

Qutiga ikkita teshik qilish kerak, biri kabellar uchun, ikkinchisi "o'lding" belgisi uchun. va ehtiyot bo'ling! teshiklar u erda bo'lganidan keyin ularni olib tashlash mumkin emas.

Rang sensori o'tishi kerak bo'lgan joy ostida teshik qiling. Teshikni iloji boricha kichikroq qilib qo'ying, lekin kabellar zo'riqishidan saqlaning, ularning bo'shashishini xohlamaysiz.

"Siz o'ldingiz" belgisining teshigi siz ishlatayotgan kartondan biroz qalinroq bo'lishi kerak, shunda u qutiga tegmasdan chiqib ketishi mumkin. Teshikning uzunligi belgining qanchalik katta ekanligiga bog'liq. Teshik qilish uchun Stenli pichog'i yoki pichoqni ishlating.

Endi servo dvigatelni qutining yon tomoniga ulash uchun ikki tomonlama lentani ishlating.

6 -qadam: Savollar bormi?

Endi siz Arduino bilan rangga asoslangan ajoyib jumboq yaratishingiz kerak. Agar sizda biron bir savol bo'lsa, albatta so'rang!

Bino qurishdan zavqlaning!

Tavsiya: