Table of Contents

MIDI footswitch - Cioltan Marian Alexandru 331CA

Introducere

MIDI footswitch controller care controleaza parametrii plugin-urilor dintr-un DAW prin apasarea unor butoane.

Descriere generală

Exista 10 butoane, mapate la semnale MIDI, conform unui preset sau mapate la actiuni ce schimba presetul curent.

Fiecare buton are asociat un LED pentru a indica starea acestuia, iar in centrul board-ului se afla un ecran pe care sunt afisate informatii despre starea curenta: tipul presetului, numarul presetului si canalul MIDI.

Hardware Design

Lista de piese

Multiplexorul realizeaza conexiunea intre cele 10 butoane si Arduino.

Cele 2 shift registere sunt cascadate, pentru a putea controla cele 10 leduri printr-un numar minim de pini.

Pentru a putea deconecta usor pisele montate pe cutie, le-am legat la barete de tip tata-tata si le-am conectat pe PCB in barete mama-tata.

Software Design

Mediul de dezvoltare folosit a fost Arduino IDE.

Am folosit librariile: “MIDIUSB”, “Wire” si “LiquidCrystal_I2C”.

Aparatul are 2 moduri de functionare: Notes si Control. In modul Notes, aparatul va transmite mesaje MIDI de tip nota in functie de butoanele apasate, iar in modul Control va transmite mesaje de tip control CC. Fiecare mod are 7 preset-uri. In modul Notes, numarul preset-ului corespunde octavei notelor, iar in modul Control, se trece la urmatorul set de CC-uri. Daca la presetul 0 este folosit intervalul CC0-CC8, in presetul 1 este folosit intervalul CC09-CC17.

Schimbarea modului, numarului presetului si canalului se face prin apasarea mai intai a butonului de control care trece dizpositivul in modul de schimbare. In acest mod, prin apasarea unor butoane prestabilite are loc fiecare tip de schimbare. Cand este activat modul de schimbare, pe a doua linie a LCD-ului scrie “CHANGE”.

Pe prima linie a LCD-ului se afiseaza modul curent, presetul folosit si canalul, iar pe cea de-a doua linie sunt afisate codurile butoanelor apasate. In modul Notes, codurile sunt notele si octava, iar in modul Control codul este mesajul CC#numar.

Cand un buton este apasat, ledul corespunzator lui se va stinge, restul fiind aprinse.

Daca nu se detecteaza nicio apasare in timp de 10 secunde, se va trece in modul idle, mod in care led-urile se sting si se aprind pe rand pana cand este apasat un buton.

Rezultate Obţinute

Pentru a monta butoanele si led-urile am creat o cutie din acrilic transparent. Fundul cutiei este atasat cu magneti si se poate demonta usor.

CC-urile pot fi programate din cadrul plugin-urilor pentru a schimba diversi parametri. Notele sunt interpretate de sintetizatoare si redate corect.

Dispozitivul poate transmite CC-uri de la CC0 la CC62 pe 16 canale, deci pot fi programate 16 * 63 = 1008 actiuni distincte.

Concluzii

In final am reusit sa construiesc ceea ce mi-am propus.

Download

midi.zip

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Shift Register

Mux

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF