Mundarija:
- 1 -qadam: taxtani loyihalash
- 2 -qadam: lazerni kesish
- 3 -qadam: Qurilmani yarating
- 4 -qadam: davralarni yarating
- 5 -qadam: Kodni yuklang
- 6 -qadam: Qurilmani tugatish
- 7 -qadam: BILDI !!!!!
Video: Azimutal proektsiyasi 3D xaritasini bezatish X xalq musiqasi jumboq o'yini - Arduino: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
KIRISH
Keyingi sahifada sizga geografiya, geometriya, xaritalar, Birlashgan Millatlar va musiqa sohalarini birlashtirgan ikkita asosiy funktsiyali yorug'lik va xalq musiqasi jumboqli o'yini bo'lgan Arduino loyihasini qanday yaratishni o'rgatadi. Olti burchakli tuzilishga asoslanib, qurilma dunyo xaritasini Birlashgan Millatlar Tashkiloti (va uning ramzi) tomonidan qo'llaniladigan xarita proektsiyasi shaklidagi Azimutal teng masofali proektsiyada tasvirlaydi.
Bezatish rejimini faollashtirganda, xaritaning qit'alari RGB LEDlarining tasodifiy kombinatsiyasi bilan aniqlanadigan turli xil ranglarda porlab turardi.
Boshqa tomondan, o'yin rejimi foydalanuvchilardan xalq qo'shiqlarining kelib chiqishini tan olishni talab qiladi (tasodifiy sonlar 1 dan 20 gacha tanlanadi) va o'z javobining kontinental taxtasini to'plamdagi asosiy yog'och taxtaning tegishli joyiga qo'yadi. vaqt (oldindan 1 daqiqa o'rnatilgan).
_
TAMOMATLAR
Haqiqiy materiallar
- 5 mm RGB LED *20
- Simlar
- Rezistorlar *9
- Arduino taxtasi *1 (har qanday turdagi)
- Non paneli *3
- Tugmalar *7
- LCD displey paneli I2C *1
- Karton quti (13*9*5,7 dyuym; 33*23*14,5 sm)
- Yog'och taxta (37,5*29*0,8 sm)
- Akril plitalar (shaffof * 2, yarim shaffof * 1)
- Portativ zaryadlovchi *1
Asboblar:
- Pichoq *1
- UVni davolash uchun yopishtiruvchi moddalar *1
- Ikki tomonlama lenta *1 rulon
- Issiq yopishtiruvchi qurol *1
Mashinalar:
Lazerni kesish mashinasi
Dasturiy ta'minot:
- Adobe Illustrator dasturi
- Adobe fotoshop
- Rino 3D
1 -qadam: taxtani loyihalash
Siz to'g'ridan -to'g'ri biriktirilgan faylni yuklab olishingiz yoki quyidagi amallarni bajarishingiz mumkin.
Xaritaning tavsifi
-
Google -dan xaritaning konturini yuklab oling
- Google "Birlashgan Millatlar Tashkilotining logotipi"
- "Asboblar - o'lcham - katta" ni tanlang.
- O'zingiz yoqtirgan rasmni yuklab oling (ushbu loyihada ishlatilgan rasm: havola) *Qit'a erlari bilan o'ralgan murakkab chiziqli rasmlarni tanlamaslikka harakat qiling *
-
Yuklab olingan xaritani bosib chiqarish versiyasiga o'tkazing
- Adobe Photoshop -da bo'yash cho'tkasi yordamida kiruvchi joylarni oq rangga bo'yang
- Faylni eksport qilish (JPEG)
- Faylni Adobe Illustrator -ga import qiling va xaritani kuzatish uchun "rasm izi" funktsiyasidan foydalaning
- Faylni eksport qilish (dxf)
Olti burchakli fonni qo'shish
- Dxf faylini Rinoga import qiling
- "Ko'pburchak" funktsiyasini tanlang va "NumSides" opsiyasi uchun "6" ni kiriting
- Radius qiymati uchun "3.5" ni kiriting
- 28 ta teng o'lchamli olti burchakni chizish
- Faylni 3dm formatida eksport qiling
2 -qadam: lazerni kesish
- Oldindan to'ldirilgan faylni xxx -ga import qiling.
- Lazerni kesish mashinasi yordamida asosiy tanani yog'och taxtaga va qit'alarni akril taxtalarga (2 shaffof va 1 yarim shaffof) chop eting (video yuqorida keltirilgan)
3 -qadam: Qurilmani yarating
Lazerni kesishdan keyingi taxtalar
-
Akril qit'alar
- Har bir qit'aning uchta taxtasini bir-biriga yopishtirish uchun ultrabinafsha nurlanish bilan ishlov beradigan yopishtiruvchi vositalardan foydalaning (o'rta qatlam sifatida yarim shaffof).
- Yelimlarning qattiqlashishiga imkon berish uchun yopishtirilgan joylarga porlash uchun UV nuridan foydalaning
-
Yog'och taxta fondi
- Asosiy yog'och taxtaga yopishtirilgan kichik er maydonlarini qo'lda olib tashlang
- *Agar yog'och taxtaning biron bir qismi sindirilgan bo'lsa, ularni qayta yopishtirish uchun ultrabinafsha nurlar bilan ishlov beradigan yopishtiruvchi vositalardan foydalaning*
Baza yaratish (butun qurilmaning pastki poydevori)
- O'lchamlari 13*9*5,7 dyuym (33*23*14,5 sm) bo'lgan mos keladigan o'lchamdagi karton qutini toping.
- Yog'och taxtani mos yozuvlar modeli sifatida ishlatib, kontinental qismlarni qutining yuqori yuzasida kuzatib boring
- Tugmalarning pastki qismini qutining yuqori yuzasida, har bir tugma markazlashtirilgan har bir kontinental qismda joylashgan.
- Izlarga rioya qilib, tugma qismlarini kesish uchun pichoqdan foydalaning
- Kuzatilgan qit'a qismlarida tugma atrofidagi qisqa segmentlarni kesish uchun pichoqdan foydalaning
- Tugmaning yana ikkita pastki qismini qutining o'ng tomoniga o'tkazing (izlarni bir xil balandlikda tekislashga harakat qiling)
- LCD displey taxtasini qutining o'ng tomoniga o'tkazing (oldingi qadamdagi ikkita tugma ustida)
- 6 va 7 -qadamdagi izlarga rioya qilib, ikkita tugmachani va LCD qismini kesish uchun pichoqdan foydalaning
4 -qadam: davralarni yarating
Yuqoridagi sxemalarga murojaat qilib, sxemani tuzing.
Eslatma:
- RGB LEDlari va tugmachalarining rezistorlari boshqacha, aniq ko'ring!
-
Yuqoridagi LCD displey taxtasida I2C modeli yo'qligi sababli u mukammal ulanmagan. (I2C modelli LCD displeylar faqat to'rtta pinli ulanishi kerak)
- GND -larni displey va Arduino kartasiga ulang
- Displeydagi VCC -ni non panelidagi musbat pinlar bilan ulang
- SDA -larni displey va Arduino kartasiga ulang
- SCL -larni displey va Arduino kartasiga ulang
5 -qadam: Kodni yuklang
Loyihaning kodini bu erda yoki pastda topish mumkin.
Har bir kodlash chizig'ida uning maqsadi va funktsiyasini tushuntiruvchi qo'shimcha yozuv mavjud.
Eslatma:
- Barcha aniq D pinlari sizning sxemangizga qarab o'zgartirilishi va sozlanishi mumkin
- Barcha kechiktirilgan soniyalarni turli qiymatlarga o'zgartirish mumkin, lekin ularni o'chirmang! (Bu kechiktirilgan soniyalar kodni mantiqiy oqishiga imkon beradi. Ularsiz kodning ba'zi qismlari ishlamasligi mumkin!)
- 24 -qatorda ("ko'chadan" so'zining kiritilishi), siz takrorlashni xohlagan takrorlanish sonini belgilashingiz mumkin (asl qiymati 5)
- Har bir tugmachadagi "bosilsa" va "bosilmasa" halqalarida RGB LED -larining rang kombinatsiyasi sozlanishi va sozlanishi mumkin. (Dastlab, RGB LED -lari bosilsa yashil rangda, bosilmasa qizil rangda yonadi. O'ng va noto'g'ri deb javob berish uchun qiymatlarni ijodiy ranglarga o'zgartirish mumkin)
#qo'shing
#LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2) qo'shing; // LCD manzilini 16 ta belgi va 2 qatorli displey uchun belgilang int _R; // int _G RGB LEDlarining qizil qiymatini bildiruvchi R o'zgaruvchisini kiriting; // int _B RGB LEDlarining yashil qiymatini bildiruvchi G o'zgaruvchisini kiriting; // int _SongNumber RGB LEDlarining ko'k qiymatini anglatuvchi B o'zgaruvchisini kiriting; // o'zgarmaydigan SongNumber void setup () {pinMode (10, INPUT) ni kiritish; // pinMode (9, INPUT) xaritasini bezatish tugmasi uchun D10-ni kirish sifatida belgilaydi; // pinMode (8, INPUT) jumboq-o'yin tugmasi uchun D9 ni kirish sifatida belgilaydi; // D8 ni Evrosiyo tugmachasi pinMode (4, INPUT) uchun kirish sifatida belgilaydi; // D4 ni Shimoliy Amerika tugmachasi pinMode (3, INPUT) uchun kirish sifatida belgilaydi; // D3 ni Janubiy Amerika tugmachasi pinMode (2, INPUT) uchun kirish sifatida belgilaydi; // D2 ni Afrika tugmachasi pinMode (1, INPUT) uchun kirish sifatida belgilaydi; // D1 ni Okeaniya tugmasi lcd_I2C_27.init () uchun kirish sifatida belgilaydi; // lcd_I2C_27 LCD displeyini ishga tushirish. backlight (); // LCD displey taxtasining orqa nuri yoqiladi} void loop () {if (digitalRead (10)) {// agar xaritani bezatish tugmasi bosilsa (int i = 0; i <5; ++ i) {// quyidagi tsiklni 5 marta ishlating _R = random (0, 1023); // R o'zgaruvchiga 0 dan 1023 gacha tasodifiy qiymat bering _G = tasodifiy (0, 1023); // G o'zgaruvchiga 0 dan 1023 gacha tasodifiy qiymat bering _B = tasodifiy (0, 1023); // B o'zgaruvchiga 0 dan 1023 gacha analogWrite tasodifiy qiymatini bering (13, (_R /4)); // birinchi guruh o'rnini bosadigan RGB LEDlarining R qiymati va 0 dan 255 gacha analogWrite (12, (_G /4)) o'zgaruvchan qiymatini yozadi; // birinchi guruh o'rnini bosuvchi RGB LEDlarining G qiymati va 0 dan 255 gacha analogWrite (11, (_B /4)) o'zgaruvchan qiymatini yozadi; // birinchi guruh o'rnini bosadigan RGB LEDlarining B qiymati va 0 dan 255 gacha analogWrite (7, (_R /4)) o'zgaruvchan qiymatini yozadi; // ikkinchi guruh uchun RGB LEDlarining R qiymati o'rnini bosadi va 0 dan 255 gacha analogWrite o'zgaruvchan qiymatini yozadi (6, (_G /4)); // ikkinchi guruh uchun RGB LEDlarining G qiymati o'rnini bosadi va 0 dan 255 gacha analogWrite o'zgaruvchan qiymatini yozadi (5, (_B /4)); // ikkinchi guruhni almashtiradigan RGB LEDlarining B qiymati va o'zgarmaydigan qiymatini 0 dan 255 kechiktirishgacha yozadi (3000); // 3000 millisekund kutib turing (3 soniya)} // R, G, B o'zgarmaydigan qiymatlari pastadirda aniqlanganligi sababli, har bir tsiklda besh xil rang kombinatsiyasi bo'ladi} if (digitalRead (9)) {// if jumboq-o'yin tugmasi bosiladi _SongNumber = tasodifiy (1, 20); // SongNumber o'zgaruvchiga tasodifiy qiymatni 1 dan 20 gacha bering lcd_I2C_27.setCursor (0, 0); // kursorni o'rnating, sanash 0 lcd_I2C_27.print (_SongNumber) bilan boshlanadi; // analogWrite LCD displey taxtasida SongNumber qiymatini chop etish (13, 0); // reset va D13 qiymatini 0 analogWrite (12, 0) sifatida yozish; // tiklash va D12 qiymatini 0 analogWrite (11, 0) sifatida yozish; // tiklash va D11 qiymatini 0 analogWrite (7, 0) sifatida yozish; // tiklash va D7 qiymatini 0 analogWrite (6, 0) sifatida yozish; // tiklash va D6 qiymatini 0 analogWrite (5, 0) sifatida yozish; // reset va D5 qiymatini 0 deb yozing, agar (_SongNumber> = 1 && _SongNumber = 4 && _SongNumber = 7 && _SongNumber = 11 && _SongNumber = 15 && _SongNumber = 18 && _SongNumber <= 20) {// SongNumber o'zgaruvchan 18 dan 20 gacha kechikish (60000); // o'yinchilar xalq musiqasini tinglashlari uchun 60000 millisekund kuting (60 soniya; 1 min) if (digitalRead (1)) {// agar Okeaniya tugmasi analogWrite (13, 0) bosilsa; // analogD13 qiymatini 0 analogWrite sifatida yozing (12, 255); // analogD12 qiymatini 255 analogWrite (11, 0) deb yozing; // analogD11 qiymatini 0 analogWrite (7, 0) deb yozing; // analogD7 qiymatini 0 analogWrite sifatida yozing (6, 255); // analogW665 analogWrite qiymatini yozing (5, 0); // analogD5 qiymatini 0} deb yozing // barcha RGB LEDlari boshqa yashil rangda yonadi {// agar Oceania tugmasi bosilmasa analogWrite (13, 255); // analogD13 qiymatini 255 analogWrite (12, 0) deb yozing; // analogD12 qiymatini 0 analogWrite (11, 0) deb yozing; // analogD11 qiymatini 0 analogWrite sifatida yozing (7, 255); // analogD7 qiymatini 255 analogWrite (6, 0) deb yozing; // analogD6 qiymatini 0 analogWrite (5, 0) deb yozing; // analogD5 qiymatini 0} deb yozing // barcha RGB LEDlari qizil rangda porlaydi} // SongNumber 18 dan 20 gacha bo'lgan to'g'ri javoblar hammasi Okeaniya bo'lgani uchun, agar "loop" o'yinchining javobining to'g'riligiga kirsa. lcd_I2C_27.clear () emas; // LCD displey kartasining kechikishini tozalash (1000); // 1000 millisekund kuting (1 soniya)}}
6 -qadam: Qurilmani tugatish
- Karton qutini oching va ilgari qurilgan sxemalarni joylashtiring (barcha elementlarni o'z ichiga oladi, masalan: uchta taxta, Arduino taxtasi, portativ zaryadlovchi)
-
Kod va qutining yuqori qismidagi kontinental qismlarga murojaat qilib, tugmachalarni har biriga mos keladigan joyga joylashtiring.
*Qaysi qit'aning qaysi tugmachasi ekanligini aniqlash uchun siz kodlar yonidagi yozuvlarga murojaat qilishingiz mumkin*
- Ikkita "funktsional tugmachani" (D10 xaritasi va D9 jumboq o'yini) qutining o'ng tomonidagi har bir qismga joylashtiring.
- LCD displey panelini qutining o'ng tomonidagi kesilgan qismiga o'rnating
- Qutini oching va barcha simlar taxtalarga to'g'ri ulanganligiga ishonch hosil qiling
- Yog'och taxta poydevorini ikki tomonlama lenta yordamida qutining yuqori qismiga mahkamlang (tugmachalar yog'och taxtalarning kesilgan qismiga to'g'ri kelishi uchun to'g'ri tekislang).
- Kichik qismlarni (asosiy qit'alarni emas) to'ldirish uchun issiq yopishtiruvchi tabancadan foydalaning.
7 -qadam: BILDI !!!!!
Jumboq o'yini uchun test pleylistining havolasiga o'ting!
Tavsiya:
BBC MicroBit yordamida xotira bo'yicha jumboq o'yini: 7 qadam
BBC MicroBit -dan foydalanadigan xotira jumboq o'yini: Agar siz BBC MicroBit nima ekanligini bilmasangiz, bu asosan kirish va chiqish dasturini o'rnatishingiz mumkin bo'lgan juda kichik qurilma. Kindof Arduinoga o'xshaydi, lekin undan ham ko'proq. MicroBit -ni menga yoqtirgan narsa shundaki, u ikkita o'rnatilgan b
Lazer proektsiyasi Pomodoro taymeri: 5 qadam
Pomodoro taymerining lazer proektsiyasi: blokirovka paytida hammaga o'z uyida salom. Umid qilamanki, bu ko'rsatma sizga bu kunlarni engishga yordam beradi. Shunday qilib, men uyda o'qish uchun pomodoro texnikasidan foydalanganman. Pomodoro texnikasi nima ekanligini bilmaganlar uchun bu texnik
Taxtlar o'yini xaritasini yoritadi: 4 qadam (rasmlar bilan)
Taxtlar o'yini xaritani yoritadi: buzg'unchi! Qish albatta keladi. Ammo bu ajoyib "Taxtlar o'yini" bahor loyihasi uchun xaritani yoritib turing, xarita olov effekti bilan yonadi va qolgan uyning sigilini ko'rsatadi. Men nimani bilaman, buni sevganingizning ovozi bilan qiling
Giper -portativ yorug'lik proektsiyasi: 5 qadam (rasmlar bilan)
Hyper Portable Light Projection: Men topilgan narsalardan proyektor yasadim. Gitara tagida axlat qutisi buzilgan slayd-proyektordan linzalar Qo'ng'iroqlar bozorida topilgan Va, albatta, men ustaxonada yotqizgan narsalarim menga juda yoqdi. Shakli menga juda yoqdi va uni ishga tushirish mening kunimni o'zgartirdi :-)
Traktor Pro -da BCD3000 uchun MIDI xaritasini qanday yaratish kerak: 6 qadam
Traktor Pro-da BCD3000 uchun MIDI xaritasini qanday yaratish kerak: Bu sizni Behringer DEEJAY BCD3000 uchun Traktor Pro-da o'z shaxsiy tsi MIDI xaritalarini yaratish bo'yicha bosqichma-bosqich olib boradi