Sommario:

Lune - Controller MIDI con Arduino (per DJ o musicista): 5 passaggi (con immagini)
Lune - Controller MIDI con Arduino (per DJ o musicista): 5 passaggi (con immagini)

Video: Lune - Controller MIDI con Arduino (per DJ o musicista): 5 passaggi (con immagini)

Video: Lune - Controller MIDI con Arduino (per DJ o musicista): 5 passaggi (con immagini)
Video: Drawing a Synthesizer in MIDI - Live! 2024, Novembre
Anonim
Image
Image
Lune - Controller MIDI con Arduino (per DJ o musicista)
Lune - Controller MIDI con Arduino (per DJ o musicista)
Lune - Controller MIDI con Arduino (per DJ o musicista)
Lune - Controller MIDI con Arduino (per DJ o musicista)
Lune - Controller MIDI con Arduino (per DJ o musicista)
Lune - Controller MIDI con Arduino (per DJ o musicista)

Questo è il mio primo nome di progetto arduino (microcontrollore) Lune. Volevo imparare arduino con un progetto utile e di grandi dimensioni, quindi ho deciso di creare un controller midi per DJ che avesse tutte le funzioni necessarie per essere autonomo per mixare.

Ogni tipo di sensore (potenziometro, pulsante, …) può essere appreso in modo indipendente e penso che il modo migliore sia imparare "come funziona" e "come è collegato" per ciascun sensore passo dopo passo.

Tutto funziona così:

  1. Il sensore collegato all'arduino rileva un cambiamento
  2. L'arduino invia questa modifica al computer
  3. Un software sul computer converte le informazioni seriali (arduino) in MIDI che puoi usare ad esempio in Ableton

Il mio controller ha

  • 6 potenziometro assiale per EQ
  • 3 potenziometro assiale per effetti
  • 6 potenziometro lineare per Volume
  • 2 pulsanti per Play
  • 2 Sensore a ultrasuoni (SR04) per effetti con la distanza delle mie mani
  • 2 pulsanti per Cue
  • Pad LED RGB 2 x 4 pulsanti
  • 1 encoder per Scratch

Passaggio 1: autonomo o software

Prima di tutto ho ricercato i diversi tutorial del controller MIDI con arduino.

Puoi fare un controller MIDI con un software che traduce ciò che fai in MIDI (cosa ho fatto io)

Avrai bisogno:

  1. Software per inviare/ricevere dati midi https://projectgus.github.io/hairless-midiserial/ Non dimenticare di impostare il baud rate in "preferences" in accordo con quello nel tuo codice arduino (per me 9600 perché "Serial.begin (9600);")
  2. Un dispositivo midi virtuale

Un altro esempio:

www.instructables.com/id/Easy-3-Pot-Potentiometer-Arduino-Uno-Effects-Midi-/

_

Puoi fare un controller MIDI "reale" che senza un software in esecuzione sul tuo computer per tradurre ciò che fai sul controller in MIDI sta inviando MIDI al computer

Per il momento con un arduino Uno o Mega devi flashare la stanza arduino o qualcosa del genere per inviare direttamente il midi. Da quello che ho capito se hai fatto questo devi essere sicuro del codice che invii su arduino perché quando l'arduino è flash non puoi inviare più codice (hai bisogno di reflash di nuovo). Ho eseguito molti codici di test, quindi ho scelto la seconda opzione, ma è sicuramente meglio avere un dispositivo MIDI plug and play.

Esempio per andare oltre:

create.arduino.cc/projecthub/etiennedesportes/ableton-live-midi-controller-9182b3

MAJ 2018-02-28: https://www.arduino.cc/en/Reference/MIDIUSB Il modo più semplice se si dispone di "microcontrollore con capacità USB native (schede basate su atmega32u4 o schede ARM)" (No OK per arduino UNO)

Passaggio 2: legno e custodia

Legno e custodia
Legno e custodia
Legno e custodia
Legno e custodia
Legno e custodia
Legno e custodia

Design del case in legno: ho usato un generatore di case https://www.makercase.com/, ho eliminato la parte superiore e lo slot per la parte superiore. Per determinare l'altezza cerco l'altezza del mio bottone più alto e aggiungo 2 cm.

Per il piano ho usato un pannello in MDF e un compensato di pioppo 3mm che è quello inciso.

Tagliare al laser le tavole di legno con i piani.

Tagliare/forare un foro per il cavo USB.

Ho aderito ai miei piani, ma in questo passaggio è molto più interessante fare il tuo controller personale.

Assemblaggio:

Per i lati ho incollato e assemblato le diverse tavole laterali.

Per la parte superiore ho praticato 4 fori nei 2 MDF superiori. (diametro della mia vite + 1mm)

Avvito un bullone e incollo il dado all'angolo quattro volte, per poi avvitare le 2 tavole di legno superiori dalla parte superiore.

In questo modo ho 4 angoli con un dado incollato, i fori con il dado sono i fori per le viti per fissare le tavole superiori. Infatti non riesco ad accedere al dado sottostante quando avvito le assi di legno superiori.

Ho praticato dei fori nelle assi laterali (la scatola), fissato (avvitato e dopo incollato tutto) gli angoli ai lati.

Metti le due tavole superiori e avvitale.

In questo modo non c'è un dado visibile e il pannello superiore non ha bisogno di una troia di legno per essere riparato, è sorprendentemente solido ma forse c'è un modo migliore.

Polacco:

Ho usato "Vernis bois brillant 125 ml Avel Louis XIII" (smalto francese) che funziona molto bene.

È stato un po' lungo perché ho steso più strati e ho aspettato 24 ore tra uno e l'altro.

La parte superiore ha un bell'aspetto e il legno è protetto. Era la mia prima volta quindi non ho aspettato quanto necessario o ho messo troppa vernice su alcune parti perché lo smalto a volte non era solido anche dopo l'asciugatura, ora (2 mesi dopo) è ok.

Grafica: montaggio di opere di Fornaseti e disegno personale.

p.s: consigli per progettare il controller midi, secondo me i due pulsanti RGB 4 sono troppo vicini l'uno all'altro

www.instructables.com/id/A-Framework-For-Making-Affordable-Stylish-Modula/

Passaggio 3: elettronico

Elettronico
Elettronico
Elettronico
Elettronico
Elettronico
Elettronico

Ho messo tutto (per il mio progetto) su un file Fritzing.

Per ogni tipo di sensore devi imparare come funziona o cosa ha dato all'arduino.

Per fare ciò, guarda i tutorial su intructable ad esempio ("potenziometro arduino", …).

Ero solito:

  • Potenziometro
  • Pad RGB (Sparkfun
  • Ultrasuoni HC-SR04 (rilevatore di distanza)
  • Codificatore
  • Pulsante (pulsante arcade)

Raccomando quando volevi fare il tuo montaggio finale di farlo su fritzing allo stesso tempo perché è difficile vedere quando ci sono un sacco di cavi.

Ordine:

Dopo aver saputo tutto quello che voglio o almeno la parte più grande ho ordinato i miei componenti. In questo modo hai meno spese di spedizione.

Da parte mia, ordino di più su Conrad o RS (sono in Francia) e pezzi più specifici come il pad RGB su robotshop.

Un esempio del mio comando Conrad nelle immagini

Passaggio 4: codice Arduino

Codice Arduino
Codice Arduino

C'è il mio codice per arduino. Devi inviarlo, dopo le modifiche se fai un controller diverso, con Arduino IDE al tuo microcontrollore tramite USB (youtube ha tutorial). Negli allegati:

  • L'ultimo
  • Uno solo per far funzionare i 2 Pad RGB con 6 colori possibili (RGB+ciano+rosa+giallo).
  • Vecchie parti di codice che ho scritto per imparare i diversi sensori

Alcune parti sono prese, altre scritte da me.

Devi installare le librerie arduino (guarda l'errore e "include") come Keypad.h per il pad.

Le classi differenti sono alla fine dei file.

Puoi notare che una classe è qui per inviare le informazioni seriali.

void MIDImessage(byte command, byte data1, byte data2) // --------- NECESSARIO, passa i valori tramite Midi Command standard

{ Serial.write(comando); Serial.write(data1); Serial.write(data2); }"

Passaggio 5: miglioramenti

Funziona tutto ma è un prototipo. Ci sono alcune domande o punti di miglioramento.

Energia:

- Quando ho usato il pad RGB con ogni sensore, i led RGB brillano molto poco. I 5v arduino sono troppo pochi per il mio progetto? Quando li uso solo, nessun problema.

Codice:

- Ho la seriale dell'encoder ma non so come funzioni in MIDI. Voglio dire quello che vogliono in uscita MIDI. Se sai come impostare l'encoder per scratchare su traktor contattami.

- Alcuni dei miei codici per i pulsanti non vanno bene per un'applicazione musicale. Abbiamo bisogno della reattività più veloce e ho visto che alcuni dei miei codici dei pulsanti non sono scritti nel modo migliore per farlo (pulsante Riproduci se ricordo bene).

Consigliato: