Taula de continguts:
- Pas 1: materials
- Pas 2: disseny
- Pas 3: construcció i cablejat
- Pas 4: Programació
- Pas 5: Configuració
Vídeo: Arduino Uno Midi Fighter: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Aquesta instrucció es va crear per complir el requisit del projecte del Makecourse de la Universitat del Sud de Florida (www.makecourse.com)
Basat en el popular MidiFighter de DJ Techtools, aquest controlador casolà d’interfície digital (MIDI) d’instruments musicals alimentat per Arduino es pot utilitzar com a dispositiu MIDI en qualsevol programari DAW (Digital Audio Workstation). Un controlador MIDI pot enviar i rebre missatges MIDI des d’un ordinador i es pot utilitzar per controlar directament el programari que s’utilitza. A més, els controls d’un controlador MIDI són totalment personalitzables, cosa que significa que cada botó, control lliscant i botó individual es poden assignar a qualsevol funció d’un DAW. Per exemple, prement un botó es pot reproduir una nota específica o es pot programar per canviar el tempo del vostre projecte d'àudio.
github.com/jdtar/Arduino-Midi-Controller
Pas 1: materials
A continuació es mostra una llista de materials i eines utilitzats en aquest projecte.
Arduino Uno
Taula de pa
Multiplexor 4051/4067
Filferros de pont
Cable extra
Potenciòmetres lineals de 2x 10k ohmis
16 botons Sanwa de 24 mm
Reducció de calor
Soldador
Navalla
Resistència de 4,7 kΩ
Full acrílic (per a tapa)
Carcassa per a botons i Arduino
Impressora 3D
Tallador làser
Pas 2: disseny
Abans d’iniciar el projecte, ja m’havien proporcionat la carcassa del meu controlador MIDI, així que vaig fer un esbós de la tapa per tal de visualitzar on s’havia de col·locar tot. Sabia que volia almenys 16 botons i un parell de potenciòmetres com a característica, així que vaig intentar espaiar els components de la manera més uniforme possible.
Després de dibuixar el disseny de la tapa, vaig exportar el fitxer en format PDF 1: 1 i el vaig enviar a un tallador làser per tallar una làmina d’acrílic. Per als forats de cargol, vaig marcar on volia que fossin els forats amb retolador i vaig fondre l’acrílic amb un filament calent.
S'adjunta el PDF 1: 1 que es pot imprimir com a 1: 1 i tallar-lo amb eines elèctriques si no hi ha un tallador làser.
Pas 3: construcció i cablejat
Després de tallar l’acrílic, vaig descobrir que l’acrílic era massa prim per suportar prou tots els components. Després vaig retallar un altre full i els vaig enganxar, cosa que va funcionar perfectament.
El cablejat dels components va comportar una prova i un error, però va resultar en l'esbós de Fritzing adjunt. Primer vaig connectar els cables de terra i la resistència de 4,7 kΩ, soldar i reduir la calor de les connexions dels botons. El muntatge dels dos potenciòmetres de lliscament requeria forats de fusió per als cargols de l’acrílic. Després de cargolar els dos potenciòmetres, es van connectar als pins analògics A0 i A1. Un cop finalitzat el cablejat, vaig recordar que no hi havia cap tap de botó per als meus faders, de manera que, en lloc de comprar-los, vaig imprimir alguns taps de botons amb una impressora en 3D esbossant-lo a Autodesk Fusion 360 i exportant-lo a un fitxer STL. De
L'Arduino Uno només disposa de 12 pins d'entrada digitals disponibles, però s'haurien de connectar 16 botons. Per compensar-ho, he connectat un multiplexor 74HC4051 a una placa de control que utilitza 4 pins d'entrada digitals i permet que diversos senyals utilitzin una línia compartida, donant lloc a 8 pins d'entrada digitals disponibles per a un total de 16 pins digitals disponibles per al seu ús.
El cablejat dels botons als pins correctes era simplement qüestió de crear una matriu 4x4 i utilitzar-la al codi. La part complicada, però, era que el multiplexor específic comprat tenia un disseny de pin específic que ajudava el full de dades i també tenia present un disseny de notes específic en connectar els botons que acabaven tenint un aspecte semblant:
NOTA MATRIX
[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 = ENTRADA MUX)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Pas 4: Programació
Un cop acabat el muntatge, només queda programar l'Arduino. El guió adjunt està escrit de manera que es pugui personalitzar fàcilment.
El començament de l'script inclou la biblioteca MIDI.h i una biblioteca de controladors prestats del bloc Notes i Volts, que s'inclouen al fitxer zip del codi. Mitjançant la biblioteca del controlador, es poden crear objectes per a botons, potenciòmetres i botons multiplexats que contenen valors de dades que inclouen el número de nota, els valors de control, la velocitat de la nota, el número de canal MIDI, etc. La biblioteca MIDI.h permet comunicacions MIDI I / O Ports sèrie Arduino que al seu torn pren les dades dels objectes del controlador, els converteix en missatges MIDI i envia els missatges a qualsevol interfície midi connectada.
La part de configuració de la seqüència buida inicialitza tots els canals com a apagats i també inicia una connexió sèrie a 115200 baud, una velocitat més ràpida que els senyals MIDI que s’intercanvien.
El bucle principal pren essencialment les matrius de botons i botons multiplexats i executa un bucle for que comprova si s’ha premut o alliberat el botó i envia els bytes de dades corresponents a la interfície midi. El bucle del potenciòmetre comprova la posició del potenciòmetre i envia els canvis de tensió corresponents a la interfície midi.
Pas 5: Configuració
Un cop carregat l’script a l’Arduino, el següent pas és connectar-lo i reproduir-lo. Tanmateix, hi ha un parell de passos abans que es pugui utilitzar.
A OSX, Apple va incorporar una característica per crear dispositius midi virtuals als quals es pot accedir mitjançant l’aplicació Audio Midi Setup en macs. Un cop creat el nou dispositiu, el MIDI sense pèl es pot utilitzar per crear una connexió en sèrie entre l'Arduino i el nou dispositiu virtual midi. La connexió en sèrie des de l'Arduino a través de Hairless MIDI funciona a la velocitat de transmissió definida a la part de configuració del buit de l'script i s'ha d'establir equivalent a la configuració de preferències de Hairless MIDI.
A efectes de proves, vaig utilitzar Midi Monitor per comprovar si s’enviaven les dades correctes pensant en la connexió serial-MIDI. Un cop vaig determinar que tots els botons enviaven les dades correctes pels canals correctes, vaig configurar el senyal MIDI per encaminar-lo a Ableton Live 9 com a entrada MIDI. A Ableton vaig poder assignar mostres d’àudio en rodanxes a cada botó i reproduir-les.
Recomanat:
Alimentador de peix Arduino Uno en 6 passos fàcils i econòmics: 6 passos
Alimentador de peixos Arduino Uno en 6 passos econòmics i senzills! Les persones amb peixos mascotes probablement tenien el mateix problema que jo: les vacances i l’oblit. Oblidava constantment d’alimentar els meus peixos i sempre em vaig esforçar per fer-ho abans que passés a s
Levitació acústica amb Arduino Uno pas a pas (8 passos): 8 passos
Levitació acústica amb Arduino Uno Step-by-Step (8 passos): transductors de so ultrasònics L298N Dc adaptador femella d'alimentació d'alimentació amb pin DC macho Arduino UNOBreadboard Com funciona: primer, pengeu codi a Arduino Uno (és un microcontrolador equipat amb i ports analògics per convertir codi (C ++)
Atura les mans i els peus sudats amb Sweat Fighter !: 7 passos (amb imatges)
Atura les mans i els peus sudats amb Sweat Fighter. Actualitzaré el codi per reduir aquest problema, però de moment hauríeu de deixar de construir-ho. La hiperhidrosi és una condició que provoca un excés
El més poderós Arduino-UNO, Massduino-UNO: 9 passos
El més poderós Arduino-UNO, Massduino-UNO: Què és Massduino? Massduino és una nova línia de productes que combina la plataforma Arduino perifèrica, rica, còmoda i ràpida de desenvolupament, de baix cost i fàcil de fabricar a gran escala. Gairebé tot el codi Arduino pot ser un
Controlador de llum de tira LED 5V MIDI per al Spielatron o un altre sintetitzador MIDI: 7 passos (amb imatges)
Controlador de llum de tira LED 5V MIDI per a Spielatron o un altre sintetitzador MIDI: aquest control parpelleja llums de tires LED tricolors per 50 mS per nota. Blau per a G5 a D # 6, vermell per a E6 a B6 i verd per a C7 a G7. El controlador és un dispositiu MIDI ALSA perquè el programari MIDI pugui emetre als LED alhora que un sintetitzador MIDI