Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:cristip:midi_footswitch [2022/05/15 12:55]
marian.cioltan created
pm:prj2022:cristip:midi_footswitch [2022/06/01 20:26] (current)
marian.cioltan
Line 1: Line 1:
-====== MIDI footswitch ======+====== MIDI footswitch ​- Cioltan Marian Alexandru 331CA ======
 ===== Introducere ===== ===== Introducere =====
  
-MIDI footswitch controller care controleaza parametrii plugin-urilor dintr-un DAW prin intermediul a 10 butoane. Fiecare buton are in apropiere un LED pentru a indica starea acestuia, iar in centrul board-ului se afla un ecran pe care sunt afisate informatii despre starea curenta, cum ar fi: acordajul folosit de pitch shifter, numele presetului folosit si efectele active.+MIDI footswitch controller care controleaza parametrii plugin-urilor dintr-un DAW prin apasarea unor butoane. ​
  
 ===== Descriere generală ===== ===== Descriere generală =====
 +Exista 10 butoane, mapate la semnale MIDI, conform unui preset sau mapate la actiuni ce schimba presetul curent.
  
-<note tip> +Fiecare buton are asociat un LED pentru ​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.
-O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere ​acestora precum şi a modului în care interacţionează.+
  
-Exemplu de schemă blochttp://​www.robs-projects.com/​mp3proj/​newplayer.html +{{:pm:prj2022:​cristip:​midi.png?500|}}
-</​note>​+
  
 ===== Hardware Design ===== ===== Hardware Design =====
  
-<note tip> +Lista de piese 
-Aici puneţi tot ce ţine de hardware design: +  * Arduino Pro Micro 
-  * listă de piese +  * 10 Momentary Footswitches 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) +  * 10 LED-uri 
-  * diagrame de semnal ​ +  * 1 LCD 
-  * rezultatele simulării +  * Fire 
-</​note>​+  * Rezistente 
 +  * 1 MUX 16 iesiri 
 +  * 2 shift register IC 
 + 
 +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 ===== ===== Software Design =====
 +Mediul de dezvoltare folosit a fost Arduino IDE.
  
 +Am folosit librariile: "​MIDIUSB",​ "​Wire"​ si "​LiquidCrystal_I2C"​.
  
-<​note ​tip> +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. 
-Descrierea codului aplicaţiei (firmware): + 
-  * mediu de dezvoltare (if any) (e.gAVR StudioCodeVisionAVR) +Schimbarea modului, numarului presetului si canalului se face prin apasarea mai intai a butonului ​de control care trece dizpositivul in modul de schimbareIn acest mod, prin apasarea unor butoane prestabilite are loc fiecare tip de schimbareCand este activat modul de schimbarepe a doua linie a LCD-ului scrie "​CHANGE"​. 
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) + 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +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 apasateIn modul Notes, codurile sunt notele si octava, iar in modul Control codul este mesajul CC#numar
-  * (etapa 3) surse şi funcţii implementate + 
-</​note>​+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 ===== ===== Rezultate Obţinute =====
 +{{:​pm:​prj2022:​cristip:​midi.jpeg?​500|}}
 +{{:​pm:​prj2022:​cristip:​midi1.jpeg?​500|}}
 +{{:​pm:​prj2022:​cristip:​midi2.jpeg?​500|}}
 +{{:​pm:​prj2022:​cristip:​midi3.jpeg?​500|}}
 +{{:​pm:​prj2022:​cristip:​midi4.jpeg?​500|}}
  
-<note tip> +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. 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+ 
-</​note>​+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 ===== ===== Concluzii =====
 +
 +In final am reusit sa construiesc ceea ce mi-am propus.
  
 ===== Download ===== ===== Download =====
  
-<note warning>​ +{{:pm:prj2022:cristip:midi.zip|}}
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). +
- +
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul). **Exemplu:​** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. +
-</​note>​+
  
 ===== Jurnal ===== ===== Jurnal =====
Line 56: Line 72:
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +[[https://​www.ti.com/​lit/​ds/​symlink/​sn74hc595.pdf|Shift Register]]
 +
 +[[https://​www.ti.com/​lit/​ds/​symlink/​cd74hc4067.pdf|Mux]]
  
 <​note>​ <​note>​
pm/prj2022/cristip/midi_footswitch.1652608544.txt.gz · Last modified: 2022/05/15 12:55 by marian.cioltan
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0