Mundarija:

Haptik nay o'qituvchisi: 10 qadam
Haptik nay o'qituvchisi: 10 qadam

Video: Haptik nay o'qituvchisi: 10 qadam

Video: Haptik nay o'qituvchisi: 10 qadam
Video: 3D Touch vs Haptic Feedback! 🤯 2024, Iyul
Anonim
Image
Image
Qismlar ro'yxati
Qismlar ro'yxati

"B" baland kvartirasining barmoqlarini unutishdan charchadingizmi va o'z guruhdoshlaringiz oldida o'zingizni xijolat qildingizmi? Yo'q? Faqat men? Fleyta barmog'imni yodlashga yordam berish uchun (mashq qilish o'rniga), men har bir notani qanday chalishni eslab qolishim uchun "Haptik nay o'qituvchisi" qurdim. Gaptik pianino o'qituvchisi haqidagi ushbu maqolani o'qib bo'lgach, men o'zimni fleyta uchun yasashda sinab ko'rdim. Men bu narsani hayotga tatbiq qilish uchun ikkita Arduino, bir nechta zumzorlar va ko'plab simlardan foydalandim. Haptik nay o'qituvchisi naytadagi barcha yozuvlar (shu jumladan tekis va o'tkir) uchun barmoqlarni biladi va sizga xromatik o'lchovni qanday o'ynashni o'rgatishi mumkin! Bu nay o'qituvchisidan foydalanish uchun siz qo'lqop kiyasiz, so'ng tugmani bosib LCD displeydagi yozuv yoki qo'shiqni tanlaysiz. Kerakli nota yoki qo'shiq paydo bo'lganda, boshqa tugmani bosing va nayga bosgan barmoqlaringiz tebrana boshlaydi, barmog'ingiz ko'rsatiladi. Har bir barmog'ingizni tebratib, fikr shundaki, notaning barmoqlari mushak xotirasiga aylanadi. Bu loyiha asosan nay chalishni biladigan va notalar va qo'shiqlar uchun barmoq izlarini yodlashga yordamga muhtoj bo'lganlar uchun mo'ljallangan. Bu loyiha, shuningdek, harakatlarini ushlab tura olmaydigan, harakatlari muvofiqlashtirilmagan va qo'llari shikastlanmaganlarga yordam berishi mumkin. Loyihani amalga oshirishdan oldin, Arduino va ba'zi sxemalar asoslarini bilganingizga ishonch hosil qiling. Kirish joyidan chiqib, qurilish jarayoniga o'tamiz!

1 -qadam: qismlar ro'yxati

Qismlar ro'yxati
Qismlar ro'yxati
Qismlar ro'yxati
Qismlar ro'yxati

Zarur:

2 Arduino

Non paneli

LCD displey - eslatmani/qo'shiqni ko'rsatish uchun

2 tugmachalar - qaysi notani/qo'shiqni ijro etishini tanlash uchun

Simlar

10 tebranuvchi motor - qo'lqopga yopishtirish

Bir juft qo'lqop - motorlarni o'rnatish uchun

2330 ohmli rezistorlar

1 10k potentsiometr

3 L293D chiplari

Majburiy emas:

1 Passiv buzzer

Amaliyot paytida elektronikani joylashtirish uchun quti

Asboblar:

Issiq yopishtiruvchi qurol

Lehimlash temir

Lenta

Tel -striptizchilar

Sizning miyangiz (eng muhimi)

2 -qadam: I2C protokoli

I2C protokoli
I2C protokoli

Biz o'nta dvigatel bilan ishlayotganimiz uchun va Arduino faqat PWM pinli dvigatellarning tezligini boshqarishi mumkin, biz barcha o'nta motorni boshqarish uchun bir nechta Ardunioga muhtojmiz. Har bir Arduino -da taxminan 6 ta PWM pin bor, shuning uchun ikkita Arduino -ni ulaganimizda, bizda jami 12 ta PWM pin bor. Ikki Arduino -ni ulash uchun biz I2C protokolidan foydalanamiz. Oddiy qilib aytganda, bu bitta "usta" Arduino -ni boshqa "qul" Arduinosni simlar orqali yuborish orqali boshqarishning bir usuli. I2C protokolini o'rnatish uchun mening chizish sxemamga qarang. A4, A5 va GND ni ikkita Arduino -ga ulang. Kodda usta Arduino simlar orqali qiymat yuboradi va qul Arduino uni oladi. Qiymatga qarab, qul Arduino boshqa vazifani bajaradi. Misol uchun, agar men nay chalishda past C chalishni xohlasam, usta Arduino simlar orqali past S qiymatini yuboradi (shu bilan birga o'ng qo'lning qaysi barmoqlari tebranishini ham aytadi) qul Arduinoga barmoqlarni shivirlashni aytadi. past S uchun I2C protokoli haqida ko'proq ma'lumot.

3 -qadam: motorlarni tayyorlang

Motorlaringizni tayyorlang
Motorlaringizni tayyorlang
Motorlaringizni tayyorlang
Motorlaringizni tayyorlang

Bu dvigatellar arzon va juda yomon. Simlar dvigateldan osongina tushib ketadi va ularni yaroqsiz holga keltiradi. Siz ularni mustahkamlash uchun dvigatelga sim ulanadigan joyga issiq yopishtiruvchi yopishtirgich qo'yishni xohlaysiz. Keyin dvigatelning nozik simlarini ehtiyotkorlik bilan echib oling va motor simlariga yaxshiroq simlarni lehimlang. Agar biror kishi nuqsonli bo'lsa yoki uni sindirib tashlasa yaxshi bo'ladi, chunki nay chalganda o'ng barmog'ingiz uchun kalit yo'q, shuning uchun sizga faqat 9 ta motor kerak.

4 -qadam: Dvigatellarni qo'lqoplarga o'rnatish

Qo'lqoplarga motorlarni o'rnatish
Qo'lqoplarga motorlarni o'rnatish
Qo'lqoplarga motorlarni o'rnatish
Qo'lqoplarga motorlarni o'rnatish

Birinchidan, qo'lqop kiying va ularning mosligiga ishonch hosil qiling. Ularni ushlab turing va motorlaringizni oling. Vibratsiyali dvigatellar qulay joylashadigan va uchlari hech qanday to'siqsiz aylanadigan joyni toping. Keyin issiq elim oling va qo'lqop qo'lingizda bo'lsa (yoki issiqqa dosh berolmasangiz), dvigatellarni barmog'ingizga kerakli joyga yopishtiring. Keyin lehimlangan yaxshi simlarni oling va qo'lqop uzunligiga yopishtiring, shunda ular chalkashib ketmaydi. Keyin Arduino -ga ulanadigan uzunroq simlarni oling (ularning uzunligi etarlicha ekanligiga ishonch hosil qiling, shunda ular Arduino -ga ulanganda erkin harakatlana olasiz (ehtimol qo'l uzunligi)) va ularni motorga ulangan simlarga lehimlang.. Har bir dvigatelning ikkita simini bir -biriga bog'lang, shunda har bir motorni qaysi simlar boshqarishini bilib olasiz. Endi siz motorlar va qo'lqoplarni o'rnatdingiz, biz non panelidagi dvigatellarni boshqarish markazini o'rnatamiz.

5 -qadam: LCD -ni ulang

LCD -ni ulang
LCD -ni ulang
LCD -ni ulang
LCD -ni ulang
LCD -ni ulang
LCD -ni ulang

Arduino-ga LCD-ni qanday ulash kerakligini ko'rsatadigan bir necha bosqichli ko'rsatmalar mavjud. Bu erda Arduino veb -saytiga qanday ulanish kerakligini aytadigan havola. Arduino veb -saytidagi muammo shundaki, darslik dvigatellarni boshqarish uchun zarur bo'lgan LCD uchun PWM pinlaridan foydalanadi. Shunday qilib, men dvigatellar uchun PWM pinlarini bo'shatish uchun LCD -ning qaysi pinlariga ulanishini o'zgartirdim. Men nima qilganimni diagrammadan tekshiring. Xususan, men nimani o'zgartirdim: rs = 7, en = 11, d4 = 5, d5 = 8, d6 = 12, d7 = 13. Siz LCD displey uchun 10k potdan foydalanasiz. LCDni qul Arduino emas, balki asosiy Arduino -ga ulashingizga ishonch hosil qiling.

6-qadam: L293D o'rnatish

L293D o'rnatish
L293D o'rnatish
L293D o'rnatish
L293D o'rnatish
L293D o'rnatish
L293D o'rnatish

OK, shuning uchun bu chiplar dvigatel haydovchilari. Har bir haydovchi 2 ta dvigatelni boshqarishi mumkin, bunda kodning dvigatel yo'nalishini teskari aylantirish imkoniyati mavjud. Maqsadimga ko'ra, menda dvigatellar ko'p va joyim kam. Dvigatelning qay tomonga burilishining ahamiyati yo'qligi uchun (u qanday aylanishidan qat'i nazar, shovqin qiladi), men har bir dvigatelning bir uchini erga, ikkinchisini esa dvigatel haydovchisining chiqish piniga uladim, bu chip o'rniga 4 ta dvigatelni boshqarishga imkon berdi. of 2. Ularni qanday ulash mumkinligi haqidagi yuqoridagi simlar sxemasini tekshiring. Men har bir pin L239D chipida nima qilishi haqida qo'shimcha ma'lumot olish uchun ma'lumotlar jadvalini qo'shdim. Hozircha kirish pinlarini bo'sh qoldiring, chunki men buni keyingi bosqichda aytib o'taman.

7-qadam: Arduino-ni L293D-ga ulang

Arduino-ni L293D-ga ulash
Arduino-ni L293D-ga ulash
Arduino-ni L293D-ga ulash
Arduino-ni L293D-ga ulash

Endi uchta komponentni oling (motorli qo'lqop, L293D va 2 Arduinosli LCD displey) va ularni bir-biriga ulang. Usta Arduino sizning o'ng qo'lingizdagi dvigatellarni, qulingiz Arduino esa chap qo'lingizdagi motorlarni boshqaradi. Asosiy Arduino -ga ulang: 3 -pinli Rpointer dvigateli; O'rtacha = 10; Ring = 9; Rpinky = 6. Qul Arduino uchun ulang: Lpointer = pin 11; Lmiddle = 10; Lring = 9; Lpinky = 6; Lthumb = 5. Arduino simlari L293D piniga ulanadi, u boshqaradigan vosita ulanadi. Aniq joylar uchun mening muzlashimni tekshiring. Bundan tashqari, bu erda tugmachalarni o'rnatishingiz kerak. Bular tezda o'rnatilishi kerak, faqat mening gaplarimga amal qiling. Men tugmalar uchun 330 ohmli rezistorlardan foydalanardim. Birini 2 -pinli, ikkinchisini 4 -pinli master Arduino -ga ulang. 2 -pin bilan bog'langan kishi eslatmani tanlaydi va 4 -pinga ulangan dvigatellar LCD displeyda ko'rsatiladigan yozuvni tebratadi.

8 -qadam: Ikkala Arduino uchun kod

Ikkala Arduino uchun kod
Ikkala Arduino uchun kod

Har bir Arduino uchun bizga ikkita alohida kod to'plami kerak. Men ularni GitHub -ga yukladim. Ularning har birida yuklanishi kerak bo'lgan Arduino nomlari bor. Mening kodimni tekshirganingizga ishonch hosil qiling. Agar sizda biron bir savol bo'lsa, ularga o'sha erda javob berish kerak.

9 -qadam: quvvat manbai

Uni quvvatlantirish
Uni quvvatlantirish

Dvigatellar ko'p quvvat sarflagani uchun, men uni quvvatlantirish uchun 2 ta 9V batareyadan foydalanardim. Bu, ehtimol, eng yaxshi emas, lekin bu men uchun ishladi. Ikkala Arduino -ning vinini ham nonvoyxonalarning elektr rållariga ulang va ustaning erini non panellarining relslariga ulang. Va endi siz nay bilan shug'ullanishga tayyormiz!

10 -qadam: Ba'zi qo'shimchalar

Ba'zi qo'shimchalar
Ba'zi qo'shimchalar
Ba'zi qo'shimchalar
Ba'zi qo'shimchalar
Ba'zi qo'shimchalar
Ba'zi qo'shimchalar

Mening kodimda siz bir nechta satrlarni sharhlaganimni payqagan bo'lishingiz mumkin. Bu chiziqlar fleyta o'qituvchisini siz bilan birga passiv gudok chalib o'ynashga majbur qiladi. Menda ovozli signal yo'q edi, shuning uchun men shunchaki ajoyib narsani qo'shdim. Shunchaki mening kodimni izohlamang va Arduino -dagi ochiq pinga buzzer qo'shing. Endi sizda o'qituvchi bilan o'yin bor!

Nay o'qituvchingizni portativ qilish uchun elektronikani qutiga yoki sumkaga joylashtiring!

Siz boshqa qo'shiqlarni dasturlashingiz mumkin! Menda har bir eslatma usuli bo'lgani uchun, siz mening kalit so'zimga boshqa shartni qo'shib, ijro etishni xohlagan qo'shiqning notalarini tartibini qo'yishingiz mumkin. Vaqtni o'zgartirish uchun har bir eslatma orasidagi kechikishni o'zgartiring.

Quyidagi izohlarda savollaringiz yoki xavotirlaringiz bo'lsa, menga xabar bering. Baxtli nay chalish!

Tavsiya: