Mundarija:

Arduino boshqariladigan qo'ng'iroq minorasi/Karillon: 5 qadam (rasmlar bilan)
Arduino boshqariladigan qo'ng'iroq minorasi/Karillon: 5 qadam (rasmlar bilan)

Video: Arduino boshqariladigan qo'ng'iroq minorasi/Karillon: 5 qadam (rasmlar bilan)

Video: Arduino boshqariladigan qo'ng'iroq minorasi/Karillon: 5 qadam (rasmlar bilan)
Video: avtomatik elektron qo'ng'iroq 2024, Noyabr
Anonim
Arduino boshqariladigan qo'ng'iroq minorasi/Karillon
Arduino boshqariladigan qo'ng'iroq minorasi/Karillon
Arduino boshqariladigan qo'ng'iroq minorasi/Karillon
Arduino boshqariladigan qo'ng'iroq minorasi/Karillon

Bu solenoidlar tomonidan boshqariladigan va Arduino mikrokontroller tomonidan boshqariladigan musiqiy qo'ng'iroqlar to'plami. Bir oktavani qamrab oluvchi 8 ta qo'ng'iroq bor. Qo'ng'iroqlar kompyuterdan boshqarilishi mumkin, yoki minora yolg'iz o'zi turishi va oldindan dasturlashtirilgan ohanglarni ijro etishi mumkin. Videoning amaldagi yakuniy sahifasiga qarang.

1 -qadam: qismlar

Qismlar
Qismlar

Quyidagi qismlar ishlatilgan: 1 ta xromatik qo'l qo'ng'iroqlari to'plami. Men ularni mahalliy Aldi -dan 20 dollarga oldim. Ular C dan C gacha bo'lgan diapazonni o'z ichiga oladi. $ 10,8 Qo'ng'iroqlar uchun solenoidlar. Men ularni axlat qutisiga tashlab qo'ygan edim. Men ularni tashlab yuborayotgan yozuv mashinkasini ta'mirlash ustasidan oldim. Siz shunga o'xshashni Ebay. Arudino mikrokontrollerida topishingiz mumkin. ~ 45 dollar. Men o'zimni SparkFun electronics. Proto/Perf taxtasi va boshqa komponentlarini arduino uchun maxsus "qalqon" qilib oldim. $ 10. Darlington haydovchi taxtasi. Men o'zim yotqizgan narsamdan foydalandim, lekin ishonamanki, ular alohida sotilmaydi. ULN2803 chipini bir necha dollarga sotib olish mumkin.

2 -qadam: yog'ochni qayta ishlash

Yog'ochni qayta ishlash
Yog'ochni qayta ishlash

Ajablanarlisi shundaki, bu qadam eng uzoq davom etdi. Kodlash va o'tkazgich yopishtiruvchi quriganidan ko'ra kamroq vaqt talab qildi, buning uchun ramka juda oddiy edi. Hamma qo'ng'iroqlarni ushlab turish uchun faqat bitta kontrplak, shuningdek solenoidlar uchun qarag'ay qavslari. Hamma narsa PVA elim bilan yopishtirilgan, solenoidli qavslarni takrorlash uchun MS Visio -da shablon yasab, keyin yog'ochga yopishtirdim. Bu barcha solenoidlarning qo'ng'iroqdan doimiy masofada bo'lishiga katta yordam berdi. Agar siz shunday qilsangiz, men hujumchi joylarini sinchkovlik bilan o'lchab bera olmayman. Qo'ng'iroqlar qaerga urganingizga va solenoidning "otilishiga" bog'liq.

3 -qadam: Elektron va simlar

Elektronika va simlar
Elektronika va simlar

Haydovchi tomoni: men baxtli edim, darlington haydovchisi yotar edi, bu dizaynni ancha soddalashtirdi. Darlington - bu kuch -quvvat tranzistoridir, siz uni kichik mikrokontroldor pimlari odatda qo'llab -quvvatlagandan ko'ra og'irroq yuklarni haydash uchun ishlatishingiz mumkin. Men foydalanadigan taxta ULN2803 chipiga asoslangan bo'lib, u juda keng tarqalgan va arzon. Iltimos, diqqat qiling: Solenoidlar (odatda) doimiy haydash uchun mo'ljallanmagan! Agar shunday qilsangiz, ular erishi mumkin! Qo'shimcha ma'lumot olish uchun dasturiy ta'minot bo'limiga qarang. Arduino tomoni: Darlington kirishlarini boshqarish uchun arduino -dan 8 ta IO pinini topishgina qoldi. Men ketma -ket ma'lumotlarni yuborishni va olishni xohlaganim uchun 0 va 1 -pinlardan foydalana olmadim, shuning uchun men bir tomondan 2, 3, 4 va 5 raqamli raqamlarni, boshqa tomondan esa to'rtta analog kirish pimini raqamli chiqish sifatida ishlatdim.. Men, shuningdek, tempni boshqarish uchun ishlatiladigan #5 analogli kirishga ulangan potentsiometrni qo'shdim. Haydovchining vizual teskari aloqasi uchun ikkita LED ishlatiladi. 8-13-pinlar arduino pinlari orasidagi bo'shliq tufayli hech qanday foyda bermadi. Men (tasodifan) USB quvvati etarli ekanligini aniqladim, men to'satdan oqim pulsining kuchlanishni pasayishiga va mikrokontrollerning "jigarranglashishiga" olib kelishi mumkinligidan xavotirda edim, lekin bu sodir bo'lmayapti. Sizning yurishingiz har xil bo'lishi mumkin. Menga USB quvvatidan foydalanish qulayroq bo'lgani uchun, men muammoga duch kelguncha buni davom ettiraman.

4 -qadam: dasturiy ta'minot dizayni

Dasturiy ta'minot dizayni
Dasturiy ta'minot dizayni
Dasturiy ta'minot dizayni
Dasturiy ta'minot dizayni

Dizayn strategiyasi Buning maqsadi qo'ng'iroq minorasini kompyuterdan haydash edi. Arduino -ning USBSerial havolasi buni amalga oshirishning eng yaxshi usuli edi. Arduino kompyuterdan ketma -ket ma'lumotlarni oladi, bu esa qaysi eslatmaga mos keladi. Protokol oddiy; barcha yozuvlar ASCII matn ekvivalentlarida. O'zgaruvchan kechikish sifatida raqamli raqam ham mavjud. Kompyuter yuboradi: "cde2fgABC" va Arduino 1, 2, 3 qo'ng'iroqlarini chaladi, yarim notada dam oladi, so'ngra 4, 5, 6, 7 va 8. qo'ng'iroqlarni chaladi, qisman ilhomlangan ServoBells loyihasi uchun Jon Plocherga. Bu loyiha. Arduino yon kodi: Arduino kodi ketma -ket ma'lumotlarni oladi, qaysi yozuvni yoki kechiktirishni hal qiladi, so'ngra solenoidlarni mos ravishda o'zgartiradi. Sizning kodingiz solenoidlar saqlanmasligi uchun yaratilganligiga ishonch hosil qiling! Agar siz solenoidni xato qilib qo'yib qo'ysangiz, u eriydi. Men buni solenoid o'chirilmaguncha blokirovka qilib, doimiy so'rovlar va hokazolarni blokirovka qilish orqali hal qildim. Kompyuterning yon kodi: Mijoz dasturi C#da yozilgan. Unda har bir alohida nota uchun tugmalar, shuningdek oldindan dasturlashtirilgan ohanglar uchun tugmalar mavjud. Eslatma ma'lumotlari ketma -ket portga yuboriladi, hamma narsa uchun manba kodi biriktirilgan. Yaxshilash uchun xona:

Polifonik notalar

Men bir vaqtning o'zida ikkita notani ijro etish imkoniyatidan voz kechdim, chunki 1 oktavaga mos keladigan hech qanday kuy ularni talab qilmaydi deb o'ylardim. Bundan tashqari, bir nechta solenoid qutisini yoqish

Navbatni o'ldirish

Kompyuter arduino -ga katta jumlalarni yuboradi, keyin ularni navbat tugagunga qadar qayta ishlaydi. Ammo katta kuylar uchun bu juda zerikarli bo'lishi mumkin va ishlayotgan musiqani uzib qo'yish kerak bo'lishi mumkin. Bunga buferni tozalash uchun kod sifatida ketma -ket jumlada boshqa harflar (masalan, 'x') bo'lishi mumkin.

5 -qadam: qo'ng'iroqlarni boshqarish

Qo'ng'iroqlarni boshqarish
Qo'ng'iroqlarni boshqarish
Qo'ng'iroqlarni boshqarish
Qo'ng'iroqlarni boshqarish

Qo'ng'iroqlar bilan ishlash juda oddiy. USB kabelini ulang va kompyuter dasturini oching, siz musiqani ijro etish uchun qo'ng'iroqning alohida tugmalarini bosishingiz mumkin. Ixtiyoriy ravishda, tarozilar, oldindan dasturlashtirilgan kuylar va erkin matnli matn kiritish uchun tugmalar mavjud. Men qo'ng'iroqlar chalinayotgan videoni qo'shdim. Hozircha in.video bu erda faqat oddiy qo'shiqlar dasturlashtirilgan: https://blip.tv/file/1521415 (Agar kimdir Futurama mavzusini C oktavadan birida C -da qanday o'ynashni bilsa, iltimos, menga xabar bering …)

Tavsiya: