Sommario:
- Passaggio 1: materiali
- Passaggio 2: progettazione
- Passaggio 3: costruzione e cablaggio
- Passaggio 4: programmazione
- Passaggio 5: configurazione
Video: Arduino Uno Midi Fighter: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Questo istruttivo è stato creato in adempimento del requisito del progetto del Makecourse presso la University of South Florida (www.makecourse.com)
Basato sul famoso MidiFighter di DJ Techtools, questo controller MIDI (Music Instrument Digital Interface) alimentato da Arduino fatto in casa può essere utilizzato come dispositivo MIDI su qualsiasi software DAW (Digital Audio Workstation). Un controller MIDI può inviare e ricevere messaggi MIDI da un computer e può essere utilizzato per controllare direttamente il software utilizzato. Inoltre, i controlli su un controller MIDI sono completamente personalizzabili, il che significa che ogni singolo pulsante, slider e manopola può essere mappato a qualsiasi funzione in una DAW. Ad esempio, premendo un pulsante è possibile riprodurre una nota specifica o essere programmato per alternare il tempo del progetto audio.
github.com/jdtar/Arduino-Midi-Controller
Passaggio 1: materiali
Di seguito è riportato un elenco di materiali e strumenti utilizzati in questo progetto.
Arduino Uno
tagliere
4051/4067 Multiplexer
Ponticelli
Cavo extra
2 potenziometri lineari a scorrimento da 10k ohm
16 pulsanti Sanwa da 24 mm
Termoretraibile
Saldatore
Lama del rasoio
Resistenza da 4,7 kΩ
Foglio acrilico (per coperchio)
Alloggiamento per pulsanti e Arduino
stampante 3d
Taglierina laser
Passaggio 2: progettazione
Mi era già stato fornito l'alloggiamento per il mio controller MIDI prima di iniziare il progetto, quindi ho simulato uno schizzo per il coperchio per visualizzare dove doveva essere posizionato tutto. Sapevo di volere almeno 16 pulsanti e un paio di potenziometri come caratteristica, quindi ho cercato di distanziare i componenti nel modo più uniforme possibile.
Dopo aver disegnato il layout per il coperchio, ho esportato il file come PDF 1:1 e l'ho inviato a un laser cutter per tagliare un foglio di acrilico. Per i fori delle viti, ho segnato dove volevo che fossero i fori con un pennarello e ho sciolto l'acrilico con un filamento caldo.
In allegato è il PDF 1:1 che può essere stampato come 1:1 e tagliato con utensili elettrici se non è disponibile un laser cutter.
Passaggio 3: costruzione e cablaggio
Dopo aver tagliato l'acrilico, ho scoperto che l'acrilico era troppo sottile per supportare sufficientemente tutti i componenti. Quindi ho ritagliato un altro foglio e li ho incollati insieme, il che ha funzionato perfettamente.
Il cablaggio dei componenti ha richiesto alcuni tentativi ed errori, ma ha portato allo schizzo Fritzing allegato. Per prima cosa ho cablato i fili di terra e il resistore da 4,7 kΩ, saldato e termoretratto le connessioni sui pulsanti. Il montaggio dei due potenziometri a slitta ha richiesto fori di fusione per le viti nell'acrilico. Dopo che i due potenziometri sono stati avvitati, sono stati collegati ai pin analogici A0 e A1. Dopo che il cablaggio è stato completato, mi sono ricordato che non c'erano cappucci per le manopole per i miei fader, quindi invece di acquistarli, ho stampato alcuni cappucci per manopola utilizzando una stampante 3D disegnandoli in Autodesk Fusion 360 ed esportandoli in un file STL. De
L'Arduino Uno ha solo 12 pin di ingresso digitale disponibili ma 16 pulsanti dovevano essere cablati. Per compensare ciò, ho collegato un multiplexer 74HC4051 su una breadboard che utilizza 4 pin di ingresso digitale e consente a più segnali di utilizzare una linea condivisa risultando in 8 pin di ingresso digitale disponibili per un totale di 16 pin digitali disponibili per l'uso.
Collegare i pulsanti ai pin corretti era semplicemente questione di creare una matrice 4x4 e utilizzarla nel codice. La parte difficile, tuttavia, era che il multiplexer specifico acquistato aveva un layout di pin specifico che il foglio dati aiutava e avevo anche in mente un layout di note specifico durante il cablaggio dei pulsanti che ha finito per assomigliare un po' a questo:
MATRICE DI NOTE
[DO2] [DO#2] [RE2] [RE#2]
[LA#2] [LA1] [LA#2] [LA1]
[MI1] [FA1] [FA#1] [SOL1]
[DO2] [DO#2] [RE2] [RE#2]
MATRICE PIN (M = INGRESSO MUX)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Passaggio 4: programmazione
Una volta completato l'assemblaggio, non resta che programmare Arduino. Lo script allegato è scritto in modo tale da essere facilmente personalizzabile.
L'inizio dello script include la libreria MIDI.h e una libreria controller presa in prestito dal blog Notes and Volts, entrambe incluse nel file zip per il codice. Utilizzando la libreria controller, è possibile creare oggetti per pulsanti, potenziometri e pulsanti multiplex contenenti valori di dati che includono il numero di nota, i valori di controllo, la velocità della nota, il numero di canale MIDI, ecc. La libreria MIDI.h abilita le comunicazioni MIDI I/O sul Porte seriali Arduino che a sua volta preleva i dati dagli oggetti controller, li converte in messaggi MIDI e invia i messaggi a qualsiasi interfaccia midi collegata.
La parte di configurazione del vuoto dello script inizializza tutti i canali come off e avvia anche una connessione seriale a 115200 baud, una velocità più veloce dello scambio dei segnali MIDI.
Il ciclo principale prende essenzialmente gli array di pulsanti e pulsanti multiplexati ed esegue un ciclo for che controlla se il pulsante è stato premuto o rilasciato e invia i byte di dati corrispondenti all'interfaccia midi. Il loop del potenziometro controlla la posizione del potenziometro e invia le corrispondenti variazioni di tensione all'interfaccia midi.
Passaggio 5: configurazione
Una volta che lo script è stato caricato su Arduino, il passaggio successivo è collegare e riprodurre. Ci sono un paio di passaggi, tuttavia, prima che possa essere utilizzato.
Su OSX, Apple ha incorporato una funzione per creare dispositivi midi virtuali a cui è possibile accedere tramite l'applicazione Audio Midi Setup su Mac. Una volta creato il nuovo dispositivo, Hairless MIDI può essere utilizzato per creare una connessione seriale tra Arduino e il nuovo dispositivo midi virtuale. La connessione seriale da Arduino tramite MIDI Hairless funziona alla velocità di trasmissione definita nella parte di configurazione del vuoto dello script e deve essere impostata in modo equivalente nelle impostazioni delle preferenze MIDI Hairless.
A scopo di test ho utilizzato Midi Monitor per verificare se i dati corretti venivano inviati tramite la connessione seriale-MIDI. Una volta determinato che tutti i pulsanti inviano i dati corretti attraverso i canali corretti, ho impostato il segnale MIDI in modo che venga indirizzato ad Ableton Live 9 come ingresso MIDI. In Ableton sono stato in grado di mappare campioni audio tagliati su ciascun pulsante e riprodurre ogni campione.
Consigliato:
Crea uno strumento MIDI controllato dal vento: 5 passaggi (con immagini)
Crea uno strumento MIDI controllato dal vento: questo progetto è stato presentato a "Creative Electronics", un modulo del quarto anno di BEng Electronics Engineering presso l'Università di Málaga, Scuola di telecomunicazioni. L'idea originale è nata molto tempo fa, perché il mio amico, Alejandro, ha speso più di un mezzo
Crea uno stabilizzatore automatico AC 220 Volt usando Arduino NANO o UNO: 3 passaggi
Crea uno stabilizzatore automatico a 220 Volt CA usando Arduino NANO o UNO: In questo tutorial, ti mostrerò come creare uno stabilizzatore di tensione automatico usando Arduino NANO che mostrerà tensione CA, watt, gradini, temperatura del trasformatore e amp; on-off automatico della ventola per il raffreddamento.Si tratta di 3 passaggi Stabilizzatore automatico di tensioneLa mia confi
Stop a mani e piedi sudati con Sweat Fighter!: 7 passaggi (con immagini)
Stop a mani e piedi sudati con Sweat Fighter!: aggiornamento del 1/3/19: alcune persone segnalano dolore, causato dalla rapida inversione di polarità. Aggiornerò il codice per ridurre questo problema, ma per il momento dovresti evitare di costruirlo. L'iperidrosi è una condizione che causa un eccesso
Il più potente Arduino-UNO, Massduino-UNO: 9 passaggi
Il più potente Arduino-UNO, Massduino-UNO: cos'è Massduino? Massduino è una nuova linea di prodotti, che combina la periferica della piattaforma Arduino: sviluppo ricco, conveniente e rapido, a basso costo e facile da produrre vantaggi di produzione su larga scala. Quasi tutto il codice Arduino può essere un
Controller per strisce LED MIDI 5V per Spielatron o altro sintetizzatore MIDI: 7 passaggi (con immagini)
Controller di strisce LED MIDI 5V per Spielatron o altro sintetizzatore MIDI: questo controller lampeggia luci a strisce LED tricolore per 50 mS per nota. Blu per G5 a D # 6, rosso per E6 a B6 e verde per C7 a G7. Il controller è un dispositivo MIDI ALSA, quindi il software MIDI può inviare l'output ai LED contemporaneamente a un dispositivo synth MIDI