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:20]
razvan.ghitan [Rezultate Obţinute]
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
  
-===== Concluzii =====+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.
  
-A fost un proiect destul ​de interesant ​și challengingAm î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 restcea mai plăcută activitate pentru o disciplină din ultimul timp=) +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 pieselorDacă 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 spatedupă caz.
-===== Download =====+
  
-<note warning>​ +De asemenea, în funcția //play()// redau suntele specifice piesei curente ​în funcție ​de variabila iterator.
-O arhivă ​(sau mai multe dacă este cazulcu 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**. +Partea de looping audio nu funcționează datorită limitărilor plăcuței.
-</​note>​+
  
 +===== 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 =====
 +
 +
 +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 =====
  
-<​note>​ +   * https://​www.arduino.cc/​reference/​en/​language/​functions/​advanced-io/tone/ 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +   https://www.arduino.cc/​reference/​en/​libraries/​sd/​ 
-</note>+   * 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>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
 +
  
pm/prj2022/dene/special_player.1653664812.txt.gz · Last modified: 2022/05/27 18:20 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