Cuprins:
- Pasul 1: Materiale
- Pasul 2: Proiectare
- Pasul 3: Construcție și cablare
- Pasul 4: Programare
- Pasul 5: Configurare
Video: Arduino Uno Midi Fighter: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Acest instructable a fost creat pentru a îndeplini cerința de proiect a Makecourse la Universitatea din Florida de Sud (www.makecourse.com)
Bazat pe popularul MidiFighter de DJ Techtools, acest controler de interfață digitală (MIDI) cu instrumente muzicale alimentat de Arduino poate fi utilizat ca dispozitiv MIDI pe orice software pentru stația de lucru digitală audio (DAW). Un controler MIDI poate trimite și primi mesaje MIDI de pe un computer și poate fi utilizat pentru a controla direct orice software este utilizat. În plus, comenzile unui controler MIDI sunt complet personalizabile - ceea ce înseamnă că fiecare buton individual, glisor și buton poate fi mapat la orice funcție dintr-un DAW. De exemplu, apăsarea unui buton poate reda o anumită notă sau poate fi programată pentru a comuta tempo-ul proiectului dvs. audio.
github.com/jdtar/Arduino-Midi-Controller
Pasul 1: Materiale
Mai jos este o listă de materiale și instrumente utilizate în acest proiect.
Arduino Uno
Pană de pâine
4051/4067 Multiplexor
Sârme de jumper
Sârmă suplimentară
2x potențiometre liniare de 10k ohm
16 butoane Sanwa 24mm
Reducere de căldură
Ciocan de lipit
Lamă de ras
Rezistor de 4,7 kΩ
Foaie acrilică (pentru capac)
Carcasă pentru butoane și Arduino
imprimantă 3d
Cutter cu laser
Pasul 2: Proiectare
Mi s-a oferit deja carcasa controlerului MIDI înainte de a începe proiectul, așa că am făcut o schiță pentru capac, pentru a vizualiza locul în care trebuia să fie așezat totul. Știam că doresc cel puțin 16 butoane și câteva potențiometre ca o caracteristică, așa că am încercat să spațiuz componentele cât mai uniform posibil.
După ce am elaborat aspectul pentru capac, am exportat fișierul ca fișier PDF 1: 1 și l-am trimis la un dispozitiv de tăiat cu laser pentru a tăia o foaie de acril. Pentru găurile cu șuruburi, am marcat unde doresc să fie găurile cu marker și am topit acrilul cu un filament fierbinte.
Este atașat PDF-ul 1: 1 care poate fi tipărit ca 1: 1 și tăiat cu unelte electrice dacă nu este disponibil un dispozitiv de tăiat cu laser.
Pasul 3: Construcție și cablare
După tăierea tăierii acrilului, am aflat că acrilul era prea subțire pentru a susține suficient toate componentele. Am decupat apoi o altă foaie și le-am lipit, ceea ce s-a întâmplat să funcționeze perfect.
Cablarea componentelor a avut unele încercări și erori, dar a dus la schița Fritzing atașată. Am conectat mai întâi firele de la sol și rezistența de 4.7kΩ, am lipit și am micșorat prin căldură conexiunile de pe butoane. Montarea celor două potențiometre glisante a necesitat găuri de topire pentru șuruburile din acril. După ce cele două potențiometre au fost înșurubate, acestea au fost conectate la pinii analogici A0 și A1. După ce cablarea a fost completă, mi-am amintit că nu erau capace de buton pentru faderele mele, deci, mai degrabă decât să le cumpăr, am tipărit niște capace de buton folosind o imprimantă 3D, schițând-o în Autodesk Fusion 360 și exportând într-un fișier STL. De
Arduino Uno are doar 12 pini de intrare digitale disponibili, dar 16 butoane trebuiau conectate. Pentru a compensa acest lucru, am conectat un multiplexor 74HC4051 pe o placă de calcul care utilizează 4 pini de intrare digitale și permite semnalelor multiple să folosească o linie partajată, rezultând 8 pini de intrare digitale disponibili pentru un total de 16 pini digitali disponibili pentru utilizare.
Cablarea butoanelor la pinii corecți a fost pur și simplu o chestiune de a crea o matrice 4x4 și de a folosi aceasta în cod. Partea dificilă a fost, însă, că multiplexorul specific achiziționat avea un aspect specific al pinului pe care foaia tehnică l-a ajutat și, de asemenea, am avut în vedere un aspect specific al notelor atunci când conectam butoanele, care au ajuns să arate cam așa:
NOTĂ MATRICE
[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 = INTRARE MUX)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Pasul 4: Programare
Odată ce asamblarea este completă, programarea Arduino este tot ce mai rămâne. Scriptul atașat este scris într-un mod astfel încât să fie ușor de personalizat.
Începutul scriptului include biblioteca MIDI.h și o bibliotecă controler împrumutată de pe blogul Notes și Volts, ambele fiind incluse în fișierul zip pentru cod. Utilizând biblioteca controlerului, pot fi create obiecte pentru butoane, potențiometre și butoane multiplexate care conțin valori de date care includ numărul notei, valorile de control, viteza notei, numărul canalului MIDI etc. Biblioteca MIDI.h permite comunicații MIDI I / O pe Porturile seriale Arduino care, la rândul lor, preiau datele de pe obiectele controlerului, le convertesc în mesaje MIDI și le trimit către orice interfață midi conectată.
Porțiunea de configurare nulă a scriptului inițializează toate canalele ca fiind dezactivate și inițiază, de asemenea, o conexiune serială la 115200 baud, o rată mai rapidă decât semnalele MIDI sunt schimbate.
Bucla principală ia în esență matricile de butoane și butoane multiplexate și rulează o buclă for care verifică dacă butonul a fost apăsat sau eliberat și trimite octetii de date corespunzători către interfața midi. Bucla potențiometrului verifică poziția potențiometrului și trimite modificările de tensiune corespunzătoare înapoi la interfața midi.
Pasul 5: Configurare
Odată ce scriptul a fost încărcat pe Arduino, următorul pas este conectarea și redarea. Cu toate acestea, există câțiva pași înainte de a putea fi utilizați.
Pe OSX, Apple a încorporat o caracteristică pentru a crea dispozitive midi virtuale care pot fi accesate prin intermediul aplicației Audio Midi Setup de pe Mac. Odată ce noul dispozitiv a fost creat, Hairless MIDI poate fi utilizat pentru a crea o conexiune serială între Arduino și noul dispozitiv midi virtual. Conexiunea serială de la Arduino prin Hairless MIDI funcționează la viteza de transmisie definită în porțiunea de configurare nulă a scriptului și trebuie setată echivalent în setările de preferință Hairless MIDI.
În scopuri de testare, am folosit Midi Monitor pentru a verifica dacă datele corecte au fost trimise, considerând conexiunea serial-MIDI. Odată ce am stabilit că toate butoanele trimise prin datele corecte prin canalele corecte, am configurat semnalul MIDI pentru a ruta către Ableton Live 9 ca intrare MIDI. În Ableton am reușit să mapez mostre audio în felii pe fiecare buton și să redau fiecare mostră.
Recomandat:
Alimentator de pește Arduino Uno în 6 pași ieftini și simpli !: 6 pași
Alimentator de pește Arduino Uno în 6 pași ieftini și simpli! Oamenilor cu pești de companie li s-a prezentat probabil aceeași problemă ca mine: vacanțele și uitarea. Am uitat în permanență să-mi hrănesc peștele și m-am străduit mereu să fac asta înainte să ajungă la s
Levitație acustică cu Arduino Uno pas cu pas (8 pași): 8 pași
Levitație acustică cu Arduino Uno pas cu pas (8 pași): traductoare de sunet cu ultrasunete L298N Sursa de alimentare pentru adaptor femelă DC cu pin DC masculin Arduino UNOBreadboard Cum funcționează: Mai întâi, încărcați codul pe Arduino Uno (este un microcontroler echipat cu sistem digital și porturi analogice pentru a converti codul (C ++)
Opriți mâinile și picioarele transpirate cu Sweat Fighter !: 7 pași (cu imagini)
Opriți mâinile și picioarele transpirate cu Sweat Fighter !: 01/03/19 Actualizare: Unii oameni raportează durere, care este cauzată de inversarea rapidă a polarității. Voi actualiza codul pentru a reduce această problemă, dar pentru moment ar trebui să vă opriți la construirea acestui lucru. Hiperhidroza este o afecțiune care provoacă exces
Cel mai puternic Arduino-UNO, Massduino-UNO: 9 pași
Mai puternic Arduino-UNO, Massduino-UNO: Ce este Massduino? Massduino este o nouă linie de produse, care combină platforma Arduino periferică bogată, dezvoltare convenabilă și rapidă, costuri reduse și ușor de fabricat avantaje de producție pe scară largă. Aproape tot codul Arduino poate fi un
Controler de lumină cu bandă LED 5V MIDI pentru Spielatron sau alt MIDI Synth: 7 pași (cu imagini)
Controler de lumină cu bandă LED 5V MIDI pentru Spielatron sau alt MIDI Synth: Acest controler luminează intermitent cu LED-uri tri-color pentru 50mS pe notă. Albastru pentru G5 la D # 6, roșu pentru E6 la B6 și verde pentru C7 la G7. Controlerul este un dispozitiv ALSA MIDI, astfel încât software-ul MIDI să poată ieși la LED-uri în același timp cu un dispozitiv de sintetizare MIDI