Mundarija:

Arduino Uno Midi jangchisi: 5 qadam
Arduino Uno Midi jangchisi: 5 qadam

Video: Arduino Uno Midi jangchisi: 5 qadam

Video: Arduino Uno Midi jangchisi: 5 qadam
Video: #1 How to Build a MIDI controller with an Arduino: The DIY MIDI Controller Workshop 2.0 2024, Noyabr
Anonim
Arduino Uno Midi jangchisi
Arduino Uno Midi jangchisi

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

Dizayn
Dizayn
Dizayn
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

Qurilish va simlar
Qurilish va simlar
Qurilish va simlar
Qurilish va simlar
Qurilish va simlar
Qurilish va simlar

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

Dasturlash
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

Image
Image
Sozlash
Sozlash
Sozlash
Sozlash
Sozlash
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: