Mundarija:
- 1 -qadam: materiallar
- 2 -qadam: Dizayn
- 3 -qadam: Qurilish va simlarni ulash
- 4 -qadam: dasturlash
- 5 -qadam: sozlash
Video: Arduino Uno Midi jangchisi: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Bu ko'rsatma Janubiy Florida universitetining Makecourse loyihasi talablarini bajarish uchun yaratilgan (www.makecourse.com)
DJ Techtools -ning mashhur MidiFighter -ga asoslanib, uy qurilishi Arduino bilan ishlaydigan Musiqiy asboblar raqamli interfeysi (MIDI) har qanday raqamli audio ish stantsiyasi (DAW) dasturida MIDI qurilmasi sifatida ishlatilishi mumkin. MIDI boshqaruvchisi kompyuterdan MIDI xabarlarini yuborishi va qabul qilishi mumkin va qaysi dasturiy ta'minot ishlatilishini to'g'ridan -to'g'ri boshqarish uchun ishlatilishi mumkin. Bundan tashqari, MIDI kontrolleridagi boshqaruv elementlari to'liq moslashtiriladi, ya'ni har bir tugma, slayder va tugma DAW -ning istalgan funktsiyasiga mos kelishi mumkin. Masalan, tugmani bosish ma'lum bir yozuvni ijro etishi yoki audio loyihangizning tezligini o'zgartirish uchun dasturlashtirilgan bo'lishi mumkin.
github.com/jdtar/Arduino-Midi- Controller
1 -qadam: materiallar
Quyida ushbu loyihada ishlatiladigan materiallar va asboblar ro'yxati keltirilgan.
Arduino Uno
Non paneli
4051/4067 Multiplexer
Jumper simlari
Qo'shimcha sim
2x 10k ohmli chiziqli slayd potentsiometrlari
16 x Sanwa 24 mm tugmachalari
Issiqlik pasayishi
Lehimlash temir
Ustara pichog'i
4,7 kΩ qarshilik
Akril varaq (qopqoq uchun)
Tugmalar va Arduino uchun uy
3 o'lchamli printer
Lazerli kesuvchi
2 -qadam: Dizayn
Loyihani boshlashdan oldin menga MIDI kontrollerim uchun uy -joy berilgan edi, shuning uchun men hamma narsani qaerga qo'yish kerakligini tasavvur qilish uchun qopqoqning eskizini masxara qildim. Men kamida 16 ta tugma va ikkita potentsiometrni xohlaganimni bilardim, shuning uchun men komponentlarni iloji boricha teng ravishda bo'shatishga harakat qildim.
Qopqoqning sxemasini tuzganimdan so'ng, men faylni 1: 1 PDF formatida eksport qildim va akril varag'ini kesish uchun uni lazer kesgichga yubordim. Vintli teshiklar uchun men kerakli joyni marker bilan belgilab qo'ydim va akrilni issiq filament bilan eritdim.
1: 1 formatidagi PDF -ni ilova qilinadi, uni 1: 1 formatida chop etish mumkin va agar lazerni kesuvchi bo'lmasa, uni elektr asboblari bilan kesish mumkin.
3 -qadam: Qurilish va simlarni ulash
Akrilni kesganimdan so'ng, men bildimki, akril juda nozik bo'lib, barcha komponentlarni etarlicha qo'llab -quvvatlay olmaydi. Keyin men boshqa varaqni kesib, yopishtirdim, bu juda yaxshi ishladi.
Komponentlarni ulash bir oz sinov va xatolarga olib keldi, lekin Fritzing eskizini biriktirdi. Men avval topraklama simlarini va 4,7 kΩ rezistorni, lehim va issiqlik tugmalaridagi ulanishlarni qisqartirdim. Ikki slayd potentsiometrini o'rnatish uchun akril vintlar uchun erituvchi teshiklar kerak edi. Ikkita potentsiometr vidalangach, ular A0 va A1 analog pinlariga ulangan. Ulanish tugagandan so'ng, men faderlar uchun hech qanday qopqoq yo'qligini esladim, shuning uchun ularni sotib olish o'rniga, 3-o'lchamli printer yordamida Autodesk Fusion 360-da eskiz chizish va STL-faylga eksport qilish orqali ba'zi tugmachalarni bosib chiqardim. De
Arduino Uno -da faqat 12 ta raqamli kirish pimi bor, lekin 16 ta tugma ulanishi kerak edi. Buning o'rnini bosish uchun men 74HC4051 Multiplexer -ni taxtaga uladim, u 4 ta raqamli kirish pimidan foydalanadi va bir nechta signallarni umumiy chiziqdan foydalanishga imkon beradi, natijada 8 ta raqamli kirish pimi jami 16 ta raqamli pimdan foydalanish mumkin.
Tugmalarni to'g'ri pinlarga ulash 4x4 matritsani yaratish va uni kodda ishlatish masalasidir. Qiyin tomoni shundaki, sotib olingan o'ziga xos multipleksorda pinlar sxemasi mavjud bo'lib, unga ma'lumotlar varaqasi yordam berdi va men tugmachalarni ulashda aniq eslatma tuzilishini yodda tutdim, natijasi biroz ko'rinib qoldi:
MATRIX QAYD
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN MATRIX (M = MUX KIRISH)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
4 -qadam: dasturlash
O'rnatish tugagandan so'ng, Arduino -ni dasturlash qoldi. Qo'shilgan skript shunday yozilganki, uni osongina sozlash mumkin.
Skript boshiga MIDI.h kutubxonasi va Notes and Volts blogidan olingan nazoratchi kutubxona kiradi, ular kod uchun zip faylga kiritilgan. Nazoratchi kutubxonasi yordamida tugmachalar, potansiyometrlar va ko'p tugmachali ob'ektlar yaratilishi mumkin, ular ma'lumotlarning qiymatlarini o'z ichiga oladi, ular eslatma raqami, boshqaruv qiymatlari, yozuv tezligi, MIDI kanal raqami va boshqalarni o'z ichiga oladi. Arduino ketma -ket portlari, bu o'z navbatida ma'lumotlarni boshqaruvchi ob'ektlaridan oladi, ularni MIDI xabarlariga o'zgartiradi va qaysi midi interfeysi ulangan bo'lsa, xabarlarni yuboradi.
Skriptning bo'sh sozlangan qismi barcha kanallarni o'chirilgan holatga keltiradi va shuningdek, ketma -ket ulanishni 115200 baytda boshlaydi, bu tezlik MIDI signallari almashishidan ko'ra tezroq.
Asosiy tsikl asosan tugmalar va multipleksli tugmalar majmuasini oladi va tugma bosilgan yoki qo'yilganligini tekshiradigan va tegishli ma'lumot baytlarini midi interfeysiga yuboradigan for loopni ishga tushiradi. Potentsiometr pastadir potentsiometrning holatini tekshiradi va mos keladigan kuchlanish o'zgarishlarini midi interfeysiga qaytaradi.
5 -qadam: sozlash
Skript Arduino -ga yuklanganidan so'ng, keyingi qadam - ulang va o'ynang. Biroq, uni ishlatishdan oldin bir necha qadam bor.
OSX -da Apple virtual midi qurilmalarini yaratish xususiyatiga ega, unga Mac -da Audio Midi Setup dasturi orqali kirish mumkin. Yangi qurilma yaratilgandan so'ng, Hairless MIDI yordamida Arduino va yangi virtual midi qurilmasi o'rtasida ketma -ket ulanish o'rnatiladi. Sochsiz MIDI orqali Arduino -dan ketma -ket ulanish skriptning bo'sh qismida aniqlangan signal tezligida ishlaydi va tuksiz MIDI parametr sozlamalarida ekvivalenti o'rnatilishi kerak.
Sinov maqsadida men Midi Monitor-dan foydalanib, ketma-ket MIDI ulanishida to'g'ri ma'lumot yuborilganligini tekshirdim. Har bir tugma to'g'ri ma'lumotlarni to'g'ri kanallar orqali yuborishini aniqlagandan so'ng, men MIDI signalini Ableton Live 9ga yo'naltirish uchun MIDI signalini o'rnatdim. Abletonda men har bir tugmachaga bo'laklangan audio namunalarni ajratib ko'rsata oldim.
Tavsiya:
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel: 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 yaratishga qaratilgan Arduino Due uchun chizgan eskiz bilan o'ynab yurardim … va bir paytlar men o'yladim
Yana kuchli Arduino-UNO, Massduino-UNO: 9 qadam
Qudratli Arduino-UNO, Massduino-UNO: Massduino nima? Massduino-bu Arduino platformasining periferik-boy, qulay va tez rivojlanishi, arzon va ishlab chiqarilishi oson bo'lgan yirik ishlab chiqarish afzalliklarini birlashtirgan yangi mahsulot liniyasi. Arduino kodining deyarli hammasi bo'lishi mumkin
MIDI qadam interfeysi (versiya En Español): 12 qadam
MIDI qadam interfeysi (versiya): O'rnatilgan versiyalar, shuningdek, "Simon Says", degan ma'noni anglatadi, MIDI -ni o'rnatishdan keyin, siz bir vaqtning o'zida o'zaro aloqani o'rnatishingiz mumkin. Amos modos operasos con los pies! Antecede
ARDUINO NINJA jangchisi !!!: 6 qadam
ARDUINO NINJA WARRIOR !!!: Juda ko'p odamlar Arduinoga shunday yomon ishlarni qilishdi! Bugun Arduino qasos oladi! Bu arduino roboti qilich bilan barcha bosqinchilarga qarshi kurashadi! YAAAAAAA
Spielatron yoki boshqa MIDI Synth uchun MIDI 5V LED chiziqli yorug'lik boshqaruvchisi: 7 qadam (rasmlar bilan)
MIDI 5V Spielatron yoki boshqa MIDI Synt uchun yorug'lik chizig'ini boshqaruvchi: Bu nazoratchi har bir yozuv uchun 50 mS uchun uch rangli LED chiziqli chiroqlarni yondiradi. G5-D#6 uchun ko'k, E6-B6 uchun qizil va C7-G7 uchun yashil. Nazoratchi ALSA MIDI qurilmasidir, shuning uchun MIDI dasturi bir vaqtning o'zida MIDI sinxronlash qurilmasi bilan bir vaqtda LEDlarga chiqishi mumkin