Differences

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

Link to this comparison view

pm:prj2021:apredescu:midi_controller [2021/06/03 00:54]
mohamad_kher.al
pm:prj2021:apredescu:midi_controller [2021/06/03 15:48] (current)
mohamad_kher.al
Line 16: Line 16:
 folosite pentru a regla diferite efecte sonore si proprietati precum volumul si frecventa. folosite pentru a regla diferite efecte sonore si proprietati precum volumul si frecventa.
  
-In functie de modul cum decurge proiectul, e posibil sa fie adaugate si alte proprietati precum butoane wireless sau un +**{{:​pm:​prj2021:​apredescu:​midi.png?​600|}}** 
-OLED pentru vizualizarea proprietatilor setate de potentiometru.+ 
 +Schema bloc
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 25: Line 26:
   * potentiometre   * potentiometre
   * fire   * fire
-Alte componente hardware care ar putea fi folosite in proiect sunt: +  ​Led-uri 
-  * OLED color +  * rezistente(pentru conectarea led-urilor)
-  ​telecomanda +
-  * joystick+
  
-**{{:​pm:​prj2021:​apredescu:​midi.png?200|}}**+{{:​pm:​prj2021:​apredescu:​schema_midi_picture.jpg?800|}}
  
-{{:​pm:​prj2021:​apredescu:​schema_midi_pic.jpg?​400|}}+Schema electrica
  
 ===== Software Design ===== ===== Software Design =====
 Codul este scris in Arduino IDE, iar pe langa bibilotecile standard Arduino acesta foloseste biblioteca MIDI.h, Codul este scris in Arduino IDE, iar pe langa bibilotecile standard Arduino acesta foloseste biblioteca MIDI.h,
-biblioteca folosita pentru a trimite datele intr-un format MIDI-convertibil.+biblioteca folosita pentru a trimite datele intr-un format MIDI-convertibil. ​Codul este relativ simplu, acesta procedeaza astfel: 
 + 
 +          1- citeste datele de la butoane cu digitalRead si datele de la potentiometre cu analogRead 
 + 
 +          2- pentru butoane va verifica inputurile la fiecare trecere a unei perioade de delay si le va trimite ca note  
 +             ​folosind functia sendNoteOn(). daca se apasa butonul de pauza si ledurile sunt active se vor dezactiva, atlfel daca  
 +             se apasa alt buton si ledurile sunt inactive se vor activa 
 + 
 +          3- pentru potentiometre se va folosi acelasi principiu de verificare dupa delay, diferenta este ca datele nu se vor trimite  
 +             ​folosiind sendNoteOn(),​ ci folosiind sendControlChange() pentru a putea modifica controale precum efectele si filterele. Datele 
 +             ​trimise de la potentiometru vor trebui scalate pentru a se incadra in intervalul 0-127 deoarece acesta este intervalul notelor MIDI
  
-Pe la scrierea codului am avut nevoie de diverse aplicatii pentru functionarea proiectului. In primul rand, un+Pe langa scrierea codului am avut nevoie de diverse aplicatii pentru functionarea proiectului. In primul rand, un
 controller MIDI nu isi are rostul daca nu trimite datele unui instrument muzical. Neavand instrumente pe care sa le pot folosi, controller MIDI nu isi are rostul daca nu trimite datele unui instrument muzical. Neavand instrumente pe care sa le pot folosi,
 am optat la folosirea unei aplicatii de tip sintetizator apeland la programul Ableton Live pentru generarea muzicii. Am ales am optat la folosirea unei aplicatii de tip sintetizator apeland la programul Ableton Live pentru generarea muzicii. Am ales
Line 49: Line 58:
  
 ===== Rezultate Obtinute ===== ===== Rezultate Obtinute =====
 +{{:​pm:​prj2021:​apredescu:​rezultate_mohamad1.jpeg?​200|}}
 +{{:​pm:​prj2021:​apredescu:​rezultate_mohamad2.jpeg?​200|}}
 +!Router sold separately!
 +{{:​pm:​prj2021:​apredescu:​rezultate_mohamad3.jpeg?​200|}}
 ===== Concluzii ===== ===== Concluzii =====
-Pe langa experienta dobandita in lucrul cu Arduino, am invatat multe despre datele MIDI si cum acestea sunt transmise unui mediu+Pe langa experienta dobandita in lucrul cu Arduino, am invatat multe despre datele MIDI si modul in care acestea sunt transmise unui mediu
 muzical. Deasemenea am invatat putin despre lucrul cu potentiometre si ce tipuri de potentiometre sunt potrivite pentru anumite ​ muzical. Deasemenea am invatat putin despre lucrul cu potentiometre si ce tipuri de potentiometre sunt potrivite pentru anumite ​
 tensiuni. ​ tensiuni. ​
 +===== Demo =====
 +https://​youtu.be/​MG1ahkrgh0Y
 ===== Download===== ​ ===== Download===== ​
 https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​midi_controller?​do=export_pdf https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​midi_controller?​do=export_pdf
 ===== Bibliografie ===== ===== Bibliografie =====
 https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​midi_controller https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​midi_controller
 +https://​github.com/​FortySevenEffects/​arduino_midi_library/​blob/​master/​src/​MIDI.h
 +https://​youtu.be/​BzLKtor-6Vg
  
  
pm/prj2021/apredescu/midi_controller.1622670858.txt.gz · Last modified: 2021/06/03 00:54 by mohamad_kher.al
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