This shows you the differences between two versions of the page.
pm:prj2023:fstancu:digitalpiano [2023/05/07 22:22] vlad_gabriel.vlaicu |
pm:prj2023:fstancu:digitalpiano [2023/05/30 08:28] (current) vlad_gabriel.vlaicu |
||
---|---|---|---|
Line 2: | Line 2: | ||
- | === Introducere === | + | ==== Introducere ==== |
⠀⠀Prezentarea proiectului nostru constă într-un pian digital inovator, care oferă posibilitatea de a produce sunete muzicale prin apăsarea butoanelor corespunzătoare. Acesta este echipat cu un ecran LCD și alte butoane pentru a seta diverse metronoame și ritmuri. | ⠀⠀Prezentarea proiectului nostru constă într-un pian digital inovator, care oferă posibilitatea de a produce sunete muzicale prin apăsarea butoanelor corespunzătoare. Acesta este echipat cu un ecran LCD și alte butoane pentru a seta diverse metronoame și ritmuri. | ||
Line 14: | Line 14: | ||
⠀⠀Pentru noi, acest proiect reprezintă o oportunitate de a aduce inovația în lumea muzicii și de a contribui la pasiunea oamenilor pentru acest domeniu. Ne bucurăm să aducem un instrument muzical versatil și accesibil în viețile oamenilor și să îi inspirăm să exploreze și să se exprime prin muzică. | ⠀⠀Pentru noi, acest proiect reprezintă o oportunitate de a aduce inovația în lumea muzicii și de a contribui la pasiunea oamenilor pentru acest domeniu. Ne bucurăm să aducem un instrument muzical versatil și accesibil în viețile oamenilor și să îi inspirăm să exploreze și să se exprime prin muzică. | ||
- | === Schema bloc === | + | ==== Schema bloc ==== |
{{https://ocw.cs.pub.ro/courses/_media/pm/prj2023/plan_piandigital.png?550x400}} | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2023/plan_piandigital.png?550x400}} | ||
- | === Lista piese === | + | ==== Lista piese ==== |
* 2 placi Arduino | * 2 placi Arduino | ||
Line 25: | Line 25: | ||
* 2 buzzers | * 2 buzzers | ||
* 2 potentiometre | * 2 potentiometre | ||
- | * 12 butoane | + | * 10 butoane |
+ | |||
+ | ==== Schema electrica ==== | ||
+ | |||
+ | {{https://ocw.cs.pub.ro/courses/_media/pm:prj2023:fstancu:pm_diagramvv.png?550x400}} | ||
+ | |||
+ | ==== Componenta software ==== | ||
+ | |||
+ | A fost implementat protocolul I2C intre cele doua placi Arduino, placa Slave primeste inputul de la butoane si | ||
+ | transmite mai departe catre placa Master unde se afla logica principala a automatului | ||
+ | |||
+ | Mod de functionare: placa Slave primeste input de la utilizator. Daca utilizatorul apasa pe butoanele destinate | ||
+ | clapelor de pian, atunci placa va emite sunetul corespunzator. Daca utilizatorul apasa pe butoanele de comanda, | ||
+ | comanda respectiva este pastrata pana cand va fi ceruta de placuta Master. Placa Master cere comenzi de la placa | ||
+ | Slave. Cu aceste comenzi, utilizatorul poate naviga prin meniul cu ritmuri de unde poate selecta un anumit ritm | ||
+ | folosind butoanele de BACK si NEXT. Acest lucru este realizat ci ajutorul LCD-ului care afiseaza itemul curent | ||
+ | din meniu. Cand utilizatorul apasa PLAY, functia pentru ritmul respectiv este apelata, iar placa Master emite | ||
+ | notele respective prin Speakerul sau. Daca utilizatorul alege sa apese din nou butonul PLAY, functia se va | ||
+ | opri, iar utilizatorul va reveni in meniul cu ritmuri. Daca utilizatorul alege sa apese butoanele de BACK sau NEXT, | ||
+ | atunci tempo-ul ritmului va incetini sau va accelera. Totodata in momentul apelarii functiei metronome, timer-ul | ||
+ | va inregistra un nou punct de start, iar daca utilizatorul nu va opri metronomul in timpul alocat, acesta se va | ||
+ | opri de unul singur, iar programul se va intoarce la meniul de selectie a ritmurilor. Pentru a demonstra | ||
+ | aceasta functionalitate, timul alocat a fost setat pentru 10 secunde. | ||
+ | |||
+ | Laboratoarele utilizate pentru acest proiect sunt Laboratorul 0, Laboratorul 3 si Laboratorul 6 | ||
+ | |||
+ | Bibliotecile utilizate sunt LiquidCrystal_I2C.h si Tone.h care pot fi regasite in Marketplace al IDE-ului de Arduino | ||
+ | [[https://github.com/Vlad-Vlaicu/PMProjectArduinoScripts | Script Files can be found here]] | ||
+ | |||
+ | ==== Download ==== | ||
+ | |||
+ | |||
+ | {{:pm:prj2023:fstancu:piandigitalvlaicuvlad.zip|}} | ||
+ | |||
+ | |||
+ | ==== Bibliografie ==== | ||
+ | |||
+ | [[https://ocw.cs.pub.ro/courses/pm/prj2023/fstancu/digitalpiano|Export to PDF]] | ||