This is an old revision of the document!
Diaconu Maria-Loredana, 335CA
Scopul proiecului a fost realizarea unui instrument asemanator unui pian, ce produce note muzicale prin apasarea butoanelor. Cele 8 butoane corespund notelor din gama Do major, practic clapele albe de pe un pian normal. Instrumentul mai dispune de doua butoane, de record si playback, ce asigura functionalitatea de a inregistra o melodie cantata de utilizator si de a o reda.
Am ales sa fac acest proiect deoarece sunt pasionata de muzica si voi folosi instrumentul in continuare, pentru a-mi stresa prietenii.
Utilizatorul ofera input instrumentului prin apasarea butoanelor corespunzatoare notelor. Buzzerul va reda, apoi, sunetul la frecventa potrivita. In momentul in care utilizatorul apasa pe butonul de record, se aprinde ledul rosu, ce semnaleaza ca a inceput inregistrarea. Utilizatorul poate opri inregistrarea, apasand din nou pe acelasi buton. In acest moment, fragmentul muzical este salvat si poate fi redat o singura data folosind butonul de playback. Cat timp se reda melodia, se aprinde ledul verde.
Nume | Nr. piese |
---|---|
Arduino Uno R3 | 1 |
Breadboard | 1 |
Butoane clape | 8 |
Butoane control | 2 |
LED-uri indicatoare | 2 |
Rezistente 220Ω | 12 |
Buzzer piezoelectric pasiv | 1 |
Programul a fost dezvoltat pe Windows, utilizand Arduino IDE, deoarece dispune de toate bibliotecile necesare si face foarte simplu procesul de a incarca cod pe placuta.
Am definit doua structuri:
Secventa muzicala inregistrata este retinuta intr-un array de elemente de tip Note numit song. Pauzele in melodie sunt reprezentate prin note “silentioase”, cu identificatorul 0.
Sunt verificate starile butoanelor de record si playback si sunt aprinse sau stinse ledurile in functie de acestea. Pentru a verifica daca sunt apasate sau nu, am folosit mecanismul de debounce, cu un delay de 50 ms. Se verifica starile clapelor si, daca butonul de record este apasat, notele sunt adaugate in array-ul song.