Differences

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

Link to this comparison view

pm:prj2021:abirlica:electric-piano [2021/05/22 12:20]
sebastian.marinescu [Hardware design]
pm:prj2021:abirlica:electric-piano [2021/05/31 16:35] (current)
sebastian.marinescu [Software Design]
Line 1: Line 1:
 ===== Pian electric ===== ===== Pian electric =====
-**Autor**: Marinescu Sebastian+**Autor**: Marinescu Sebastian ​- 336CB
  
-Un pian electric care reuseste sa redea sunetele din gama DO major. Prin intermediul unui senzor IR si o telecomanda pianul este capabil sa readea ​o melodie la alegere.+Un pian electric care reuseste sa redea sunetele din gama DO major. Prin intermediul unui senzor IR si o telecomanda pianul este capabil sa cante o melodie la alegere ​prestabilita.
  
 ===== Hardware design ===== ===== Hardware design =====
-{{pm:​prj2021:​abirlica:​electric_piano_photo.png?​600|}} 
  
-{{pm:​prj2021:​abirlica:​piano_block_diagram.png?​600|}}+{{pm:​prj2021:​abirlica:​piano_block_diagram.png?​750|}} 
 + 
 +{{pm:​prj2021:​abirlica:​electric_piano_photo.png?​750|}}
  
 Componente necesare: Componente necesare:
Line 27: Line 28:
 ===== Software Design ===== ===== Software Design =====
  
-===== Rezultate Obţinute ===== +{{pm:​prj2021:​abirlica:​implementare_electric_piano.png?​600|}} 
-<note tip> + 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+Descrierea codului aplicaţiei: 
-</​note>​+ 
 +  * mediu de dezvoltare: Arduino IDE 
 +  * librării şi surse 3rd-party:  
 +    - NewTone 
 +    - IRremote 
 +  * algoritmi şi structuri de date: 
 +    - logica simpla (switch, for, if) 
 +    - structuri de baza C: vectori, variabile 
 +  * surse şi funcţii implementate:​ 
 +    - **notes.h**: frecventele pentru fiecare nota muzicala 
 +    - **songs.h**:​ defineste melodiile pe care este capabila sa le redea placuta 
 +    - **songs.c**:​ notele efective ale melodiilor (stocate in niste vectori) 
 +    - **constants.h**:​ definirea unor pini si a unor valori a telecomandei IR 
 +    - **proj.ino**:​ 
 +        - **void playsong(const int *notes, const int no_notes, const int tempo)** - itereaza prin notele unei melodii si le reda 
 +        - **void setup()** - initializeaza pinii 
 +        - **void loop()** - daca este apasat un buton reda nota corespunzatoare,​ altfel asteapta de la telecomanda IR un cantec pe care sa il redea 
 + 
 + 
 +<​note>​Link repo: https://​github.com/​sebika/​electricPiano</​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Proiectul reuseste ceea ce isi propune, si anume sa fie capabil sa preia un semnal IR si sa redea o melodie. De asemnea aplicatia este capabila sa preia input de la utilizator si prin intermediul butoanelor daca acesta doreste.
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​Link catre pagina: https://ocw.cs.pub.ro/courses/pm/​prj2021/​abirlica/​electric-piano </​note>​+Resurse software: https://github.com/robsoncouto/arduino-songs
  
-<​note>​ +Link video: ​https://drive.google.com/file/d/16LxAXOvrLfmz56UkWWEa3yfnCk1cbt55/view
-https://github.com/robsoncouto/arduino-songs +
-</note>+
  
 <​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/prj2021/abirlica/electric-piano.1621675201.txt.gz · Last modified: 2021/05/22 12:20 by sebastian.marinescu
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