Mundarija:
Video: To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:22
Siz hech qachon mini -loyihaga aylanishingiz kerak degan yomon fikrga keldingizmi? Xo'sh, men AD9833 to'g'ridan -to'g'ri raqamli sintez (DDS) moduli yordamida musiqa yaratish uchun Arduino Due uchun yaratgan eskiz bilan o'ynab yurardim … va bir paytlar men: "Balki, men zinapoyali dvigatelni/haydovchini o'rnatishim kerak", deb o'yladim. bu ". Va aynan shu g'oya, taxtaga asoslangan kichik loyihaga turtki bo'ldi.
Ushbu loyihada Arduino Due-ni boshqarish va AD9833 moduli va qadam drayveri o'rtasida kvadrat to'lqinlarni yuborish uchun USB orqali MIDI-dan foydalanish kodi kiritilgan. Bundan tashqari, uni Arduino Due -ga ulash uchun diagramma va asosiy ko'rsatmalar bo'ladi.
Ta'minot:
Ushbu loyiha uchun sizga nima kerak:
Arduino tufayli
QAYD: Kod "Due" uchun yozilgan, lekin u ham ishlashi va/yoki nolga moslashtirilishi kerak. U Arduino -ning MIDIUSB kutubxonasidan foydalanadi, unga mahalliy USB port kerak.
Lehimsiz non paneli + jumper
AD9833 uzilish moduli
A4988 Step Driver (yoki shunga o'xshash)
NEMA 17 qadamli dvigatel (yoki shunga o'xshash)
- 24V quvvat manbai (esda tutingki, men 24 voltlik qiymatni tanladim, chunki u dvigatelning nominal zo'riqishidan yuqori edi. Agar siz katta dvigateldan foydalansangiz, sizning amaliyotingiz boshqacha bo'lishi mumkin)
1 -qadam: Breadboard
Buning asosiy g'oyasi shundaki, To'g'ridan -to'g'ri Raqamli Sintez IC, qadam dvigatelining "qadam" pinini haydash uchun kvadrat to'lqin hosil qiladi. Bu qadam haydovchi keyin motorni belgilangan ovozli chastotada harakatga keltiradi. Dvigatelning yo'nalishi, agar u to'g'ri chastotada qadam bossa, o'zboshimchalik bilan bo'ladi.
Men non taxtasi bilan ishlashni afzal ko'raman-bu birinchi navbatda quvvat pimi va poydevorni ishga tushirish, so'ngra boshqa barcha kuchsiz ulanishlarni ishga tushirish.
Zamin:
- AD9833 modulining AGND va DGND pinlarini non panelidagi GND rayiga ulang.
- Step haydovchisidagi ikkita GND pinini GND rayiga ulang
- Buni Arduino Due GND pinlaridan biriga olib keling
3.3V quvvat:
- Stepper haydovchisining VDD pinini V+ Rail -ga ulang
- AD9833 modulining VCC pinini non paneli V+ Rail -ga ulang
- Buni Arduino Due 3.3V piniga olib keling
24V quvvati:
- VMOT pinini 24V DC quvvat manbaiga ulang (siz tanlagan dvigatel turiga qarab, siz yuqori yoki pastroq temir yo'lni ishlatishingiz mumkin).
Moduldan modulga ulanish:
- AD9833 modulidagi OUT pinini motor drayverining STEP piniga ulang
Stepper haydovchiga ulanish:
- Step Motor ulanishlarini 2B/2A/1A/1B pinlariga ulang. Qutblanish unchalik muhim emas, chunki haydovchining fazalari qadam dvigatelining fazalariga to'g'ri kelsa.
- RESET va SLEEP pinlarini bir -biriga ulang va ularni Arduino Due Pin 8 ga olib keling.
- DIR pinini 3.3V relsga ulang
AD9833 moduli ulanishlari:
- SCLK -ni Arduino Due -ning SCK piniga ulang. E'tibor bering, bu pin oddiy tashqi ayol sarlavhalarida emas, mikrokontroller yaqinidagi 6-pinli ICSP sarlavhasida joylashgan.
- SDATA pinini Due MOSI piniga ulang. E'tibor bering, bu pin oddiy tashqi ayol sarlavhalarida emas, mikrokontroller yaqinidagi 6-pinli ICSP sarlavhasida joylashgan.
- FSYNC -ni Arduino Due Pin 6 -ga ulang (bu loyiha uchun chip tanlash pimi)
Endi non paneli to'liq yig'ilgan, kodni ko'rib chiqish vaqti keldi!
2 -qadam: Dasturlash va MIDI -ni sozlash
Qo'shilgan.ino eskizi Arduino Due Native USB porti orqali USB-MIDI kirishini oladi va ularni AD9833 haydash uchun ishlatadi. Bu chipda 25 MGts chastotali 28 bit chastotali rezolyutsiyada ishlaydigan DAC mavjud (bu erda kerak bo'ladigan narsalar uchun ortiqcha ortiqcha) va bu erda kodning katta qismi kvadrat to'lqinni ishga tushirish va chiqarishni sozlashda.
Eslatma: ikkita USB port mavjud. Ulardan biri taxtani dasturlash uchun, ikkinchisi USB orqali MIDI orqali uzatish uchun ishlatiladi
E'tibor bering, bu eskiz Arduino Uno -da bo'lgani kabi ishlamaydi - bu loyiha Arduino Due yoki shunga o'xshash qurilmalarda mahalliy USB -ga bo'lgan ehtiyoj bilan ajralib turadi
Moslashtirish imkoniyatlari:
- Oldindan protsessorli so'l ta'rifi bilan o'rnatilishi mumkin bo'lgan 2 rejim mavjud. Agar "#define STOPNOTES" buzilmagan bo'lsa, qadam yozuvlar orasida to'xtaydi. Bu har doim ham xohlanmaydi (masalan, tez arpegjiolarni ijro etish), shuning uchun bu xatti -harakatni o'zgartirish uchun #define iborasini o'chirib tashlang yoki izohlang va stepper o'ynalgandan so'ng doimiy ishlaydi.
-Men arzon oktavali yuqoriga/pastga tugmachali 2 oktavali MIDI klaviaturasidan foydalanaman, lekin agar sizda bunday imkoniyat bo'lmasa, siz 2-sonli kuchlarga ko'paytirish yoki bo'lish orqali quyidagi chastotali tarjimani oktavaga o'tkazishingiz mumkin.
MIDI-chastotali tarjima playNote funktsiyasida shu satr yordamida amalga oshiriladi: int f_out = (int) (27.5*pow (2, ((float) midiNote-33)/12)));
- Men shaxsiy kompyuterimni USB MIDI orqali ishlash uchun ishlataman - buni sevimli Raqamli Audio Ish Stantsiyasi (DAW) dasturidan qilishingiz mumkin. Agar sizda yo'q bo'lsa, bu tizimni LMMS - bepul, ochiq manbali platforma yordamida o'rnatish juda oson. O'rnatilgan va ishga tushirilgandan so'ng, Arduino Due -ni MIDI chiqish qurilmasi sifatida belgilang va agar siz USB MIDI klaviaturasidan foydalansangiz, uni kirish sifatida o'rnating.
3 -qadam: Sinov va tajriba
Step motorini o'ynash vaqti keldi!
Yuqorida aytilganidek, buning asosiy g'oyasi-bu tajribasizlik edi, shuning uchun har holda o'z tajribangizni o'tkazing!
Tavsiya:
MIDI2LED - MIDI tomonidan boshqariladigan LED chiziqli yorug'lik effekti: 6 qadam
MIDI2LED - MIDI boshqariladigan LED chiziqli yorug'lik effekti: Bu mening birinchi o'rgatuvchim, shuning uchun men sabr qilaman, men musiqa yozishni yaxshi ko'raman va yashash xonasida kontsertlar kabi jonli vaziyatlarda, men o'ynagan narsam bilan sinxron yorug'lik effektlari bo'lsa, menga yoqadi. Shunday qilib, men Arduino-ga asoslangan qutini qurdim, u LED tasmasini yoritadi
MIDI/Arduino tomonidan boshqariladigan 8 bitli ovozli generator (AY-3-8910): 5 qadam
MIDI/Arduino tomonidan boshqariladigan 8-bitli ovozli generator (AY-3-8910): Retro tovushli 8-bitli ovoz generatorini yarating va uni MIDI orqali boshqaring, bu dizayn qisman Chiptune ixlosmandlari tomonidan Chiptune fayllari va boshqalarni ijro etish uchun Arduino sxemalarini yaratgan. erta video o'yinlarning kamchiliklarini birlashtirish bo'yicha o'z fikrlarim
MIDI tomonidan boshqariladigan LED strukturasi: 7 qadam
MIDI boshqariladigan LED konstruktsiyasi: Haqiqiy musiqa ixlosmandlari va elektron va informatika talabasi sifatida men har doim MIDI qurilmalarini yaratishni xohlardim, ular elektron musiqa yaratish uchun ishlatilishi mumkin edi. Ko'p shou va musiqiy festivallarda qatnashgandan so'ng men boshladim. haqiqatan ham qiziqish uchun
ARDUINO YUN tomonidan boshqariladigan ROOMBA STEFANO DALL'OLIO tomonidan Wifi ilovasi orqali: 4 qadam (rasmlar bilan)
AROMINO YUN tomonidan boshqariladigan ROOMBA Wifi ilovasi orqali STEFANO DALL'OLIO: Ushbu qo'llanmada men ARDUINO YUN -ni Roomba -ga Wi -Fi orqali ulash uchun kodni ulashaman. Kod va ilovani to'liq Stefano Dall yaratgan va ishlab chiqqan. Olio.Mening Roomba - bu Roomba 620, lekin siz xuddi shu kodni boshqa Roomb uchun ishlatishingiz mumkin
Raqamli termostat tomonidan boshqariladigan kosmik isitgich: 5 qadam (rasmlar bilan)
Raqamli termostat tomonidan boshqariladigan kosmik isitgich: Bu ko'rsatma sizga arzon kosmik isitgichni boshqarish uchun raqamli programlanadigan termostatni qanday ishlatish kerakligini ko'rsatadi. Ko'pchilik arzon kosmik isitgichlarda haroratni qo'pol sozlash uchun faqat analog tugma mavjud; hatto eng xayoliy modellar ham sizga ruxsat beradi