Differences

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

Link to this comparison view

pm:prj2022:dene:special_player [2022/05/27 18:43]
razvan.ghitan [Bibliografie/Resurse]
pm:prj2022:dene:special_player [2022/06/02 01:02] (current)
razvan.ghitan [Surse și poze]
Line 6: Line 6:
 </​note>​ </​note>​
 ===== Introducere ===== ===== Introducere =====
-În cadrul acestui proiect, mi-am propus să creez un dispozitiv multi-use care să îmbine utilitatea și plăcerea de a utiliza un pian, cât și funcționalitatea redării melodiilor preferate de pe un card microSD. De asemenea, în cazul în care utilizatorul dorește să se repete o secvență din piesa favorită, va exista modalitatea de a crea un looper pentru câteva secunde din piesă.+În cadrul acestui proiect, mi-am propus să creez un dispozitiv multi-use care să îmbine utilitatea și plăcerea de a utiliza un pian, cât și funcționalitatea redării melodiilor preferate de pe un card microSD. De asemenea, în cazul în care utilizatorul dorește să se repete o secvență din piesa favorită, va exista modalitatea de a crea un looper pentru câteva secunde din piesă ​și în același timp, opțiunea de a naviga prin lista de piese favorite.
 ===== Descriere generală ===== ===== Descriere generală =====
  
Line 16: Line 16:
  
 == Componente necesare: == == Componente necesare: ==
-   ​* ​Arduino UNO+   ​* ​Plusivo board 
    * Breadboard    * Breadboard
-   * Pushbutton ​switch+   * Pushbutton ​switches
    * Buzzer / Speaker    * Buzzer / Speaker
-   ​* ​Adaptor modul card MicroSD+   ​* ​Module adapter ​MicroSD ​card
  
 == Schemă electrică: == == Schemă electrică: ==
-{{ :​pm:​prj2022:​dene:​schema_razvan.png?​direct&​300 |}}+{{ :​pm:​prj2022:​dene:​schema_razvan_finala.png?​direct&​300 |}}
  
  
Line 29: Line 29:
  
  
-<note tip> +== Biblioteci utilizate== 
-Descrierea codului aplicaţiei (firmware)+   ​//SD.h:// pentru interacțiunea cu modulul de card microSD 
-  mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +   ​//SPI.h:// pentru comunicarea prin interfața serial 
-  librării şi surse 3rd-party (e.g. Procyon AVRlib) +   ​* //​TMRpcm.h://​ pentru redarea fișiserelor în format .wav către buzzer
-  algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</note>+
  
 +== Codificarea pieselor hardware: ==
 +   * //CS// (Chip Select) este conectat la pinul digital 10
 +   * //BUZZ// (Buzzer-ul) este conectat la pinul digital 9
 +   * //​C/​D/​E/​F/​G/​A/​B//​ reprezintă notele din octavă, conectate la pinii digitali 8, 7, 6, 5, 4, 3, 2
 +   * //PREV// reprezintă butonul care redă piesa dinaintea celei care este redată curent și este conectat la pinul analogic A0
 +   * //NEXT// reprezintă butonul care redă piesa următoare celei care este redată curent și este conectat la pinul analogic A1
 +   * //LOOP// reprezintă butonul care creează secvența de loop curentă în momentul apăsări și până în momentul ridicării și este conectat la pinul analogic A2
  
 +Pentru redarea sunetelor specifice pianului, am folosit funcția //tone()// și o serie de IF-uri pentru a reda sunetul corespunzător frecvenței notei în funcție de butonul apăsat.
 +
 +Comunicarea cu microSD-ul o realizez cu variabila de tip TMRpcm, căreia îi setez pinul buzzerului și volumul. În //loop()// verific dacă este apăsat vreunul dintre butoanele de control a pieselor. Dacă sunt apăsate butoanele NEXT sau PREV, deplasez iteratorul din lista de fișiere .wav de pe cardul microSD cu o piesă în față sau în spate, după caz.
 +
 +De asemenea, în funcția //play()// redau suntele specifice piesei curente în funcție de variabila iterator.
 +
 +Partea de looping audio nu funcționează datorită limitărilor plăcuței.
 +
 +===== Surse și poze=====
 +
 +{{:​pm:​prj2022:​dene:​piano_arduino_razvan.zip|}}
 +
 +{{ :​pm:​prj2022:​dene:​poza_circuit_razvan_1.jpeg?​direct&​300 |}}
 +
 +{{ :​pm:​prj2022:​dene:​poza_circuit_razvan_2.jpeg?​direct&​300 |}}
 ===== Concluzii ===== ===== Concluzii =====
  
-A fost un proiect destul de interesant și challenging. Am întâmpinat probleme cu piesele și modulele. De asemenea, nu recomand personal dezvoltarea pe o plăcuță Plusivo (Chinese Arduino). A fost mega complicată testarea funcționalităților și încărcarea codului pe plăcuță. În rest, cea mai plăcută activitate pentru o disciplină din ultimul timp. =) 
  
 +A fost un proiect destul de interesant și challenging. Am întâmpinat probleme cu piesele și modulele. De asemenea, nu recomand personal dezvoltarea pe o plăcuță Plusivo (Chinese Arduino). A fost mega complicată testarea funcționalităților și încărcarea codului pe plăcuță. În rest, cea mai plăcută activitate pentru o disciplină din ultimul timp. =)
 ===== Jurnal ===== ===== Jurnal =====
  
    * **02.05.2022**:​ Creare pagină OCW    * **02.05.2022**:​ Creare pagină OCW
-   * **04.05.2022**: ​-+   * **04.05.2022**: ​Adăugare informații despre proiect
    * **24.05.2022**:​ Adăugare schemă electrică în secțiunea //Hardware Design//    * **24.05.2022**:​ Adăugare schemă electrică în secțiunea //Hardware Design//
-   * **27.05.2022**: Actualizarea secțiunii //Software Design//+   * **30.05.2022**: Actualizarea secțiunii //Software Design//
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
Line 54: Line 73:
    * https://​www.arduino.cc/​reference/​en/​libraries/​sd/​    * https://​www.arduino.cc/​reference/​en/​libraries/​sd/​
    * https://​www.instructables.com/​Arduino-Multi-track-MIDI-Loop-Station/​    * https://​www.instructables.com/​Arduino-Multi-track-MIDI-Loop-Station/​
 +
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
  
pm/prj2022/dene/special_player.1653666189.txt.gz · Last modified: 2022/05/27 18:43 by razvan.ghitan
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