Differences

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

Link to this comparison view

pm:prj2021:amocanu:pian_electric [2021/06/01 23:57]
emilian.manescu [Descriere implementare]
pm:prj2021:amocanu:pian_electric [2021/06/02 21:26] (current)
emilian.manescu [Bibliografie/Resurse]
Line 1: Line 1:
 ====== Pian Electric ====== ====== Pian Electric ======
-**Autor**: Mănescu ​Emilian-Claudiu+**Autor**: ​[[emilian.manescu@stud.acs.upb.ro|Emilian ​Mănescu]]
 ===== Introducere ===== ===== Introducere =====
 Proiectul presupune crearea unui pian electric capabil sa redea notele din gama Do Major.  ​ Proiectul presupune crearea unui pian electric capabil sa redea notele din gama Do Major.  ​
Line 17: Line 17:
  
  
-**Schema bloc:**+==Schema bloc:==
  
  
Line 41: Line 41:
   * functia **playNote** alege nota ce va fi redata de catre buzzer.   * functia **playNote** alege nota ce va fi redata de catre buzzer.
   * functia **loop** cuprinde logica generala a programului,​ in care se poate schimba cantecul afisat pe ecran, se poate alege redarea unei melodii sau invatarea acesteia.   * functia **loop** cuprinde logica generala a programului,​ in care se poate schimba cantecul afisat pe ecran, se poate alege redarea unei melodii sau invatarea acesteia.
-  * functia **playCurrentSong** ​reda melodia afisata pe ecran.+  * functia **playCurrentSong** ​apeleaza functia de redare (**playSong**) pentru ​melodia afisata pe ecran
 +  * functia **getNoteString** returneaza un string reprezentand nota ce va fi afisata pe ecran in modul de invatare. 
 +  * functia **notCorrect** verifica daca nota apasata de utilizator si cea afisata pe ecran coincid.
   * functia **learnCurrentSong** incepe procesul de invatare a melodiei afisate pe ecran.   * functia **learnCurrentSong** incepe procesul de invatare a melodiei afisate pe ecran.
 +  * functia **learnSong** verifica daca toate notele unei melodii au fost cantate corect de utilizator.
   * fisierul **pitches.h** cuprinde frecventele tuturor notelor.   * fisierul **pitches.h** cuprinde frecventele tuturor notelor.
   * fisierul **songs.h** cuprinde informatii despre cele trei melodii disponibile (notele, durata notelor, numarul de note si tempo-ul de redare).   * fisierul **songs.h** cuprinde informatii despre cele trei melodii disponibile (notele, durata notelor, numarul de note si tempo-ul de redare).
  
 ===== Rezultate obtinute ===== ===== Rezultate obtinute =====
 +[[https://​www.youtube.com/​watch?​v=QZS38Q4ibWA|Demo]]
  
 ===== Concluzii ===== ===== Concluzii =====
 +Mi-a placut sa lucrez la acest proiect, in special pentru ca am reusit sa imbin doua dintre domeniile care ma pasioneaza cel mai mult (tehnologia si muzica). Partea de hardware (desi nu foarte complicata) mi s-a parut mai greu de realizat, deoarece nu am mai lucrat niciodata la un proiect practic. Cel mai greu a fost sa realizez conectarea butoanelor pentru clape la un singur pin analogic (prin divizoare de tensiune). Totodata, imi doresc sa imbunatatesc acest proiect pe viitor si sa adaug functionalitati extra.
 ===== Download ===== ===== Download =====
 +{{:​pm:​prj2021:​amocanu:​proiectpm_pianelectric_manescuemilian_333cb.zip|Arhiva Proiect}}
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
Line 58: Line 62:
   * https://​howtomechatronics.com/​tutorials/​arduino/​how-to-use-a-rgb-led-with-arduino/​   * https://​howtomechatronics.com/​tutorials/​arduino/​how-to-use-a-rgb-led-with-arduino/​
   * https://​create.arduino.cc/​projecthub/​rahulkhanna/​arduino-tutorial-mini-piano-08f8b8   * https://​create.arduino.cc/​projecthub/​rahulkhanna/​arduino-tutorial-mini-piano-08f8b8
 +
 +{{:​pm:​prj2021:​amocanu:​pian_electric.pdf|}}
pm/prj2021/amocanu/pian_electric.1622581029.txt.gz · Last modified: 2021/06/01 23:57 by emilian.manescu
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