This is an old revision of the document!
335CC
Proiectul consta in proiectarea unui mini pian ce va reda note la apasarea butoanelor. Aceste note pot fi inregistrate, iar inregistrarile vor fi stocate pe un card microSD, putand fi redate pe pian.
Mini pianul functioneaza prin redarea sunetulor corespunzatoare notelor muzicale la apasarea butoanelor (unul pentru fiecare nota). Acesta dispune si de un buton de inregistrare, care va stoca informatia pentru cate o nota muzicala pe o durata prestabilita. Inregistratile se salveaza pe un card microSD, intr-un fisier text, care poate fi, inclusiv, citit, redenumit si editat manual de pe alte dispozitive. Ecranul LCD va afisa inregistrarile disponibile, si se poate selecta, cu ajutorul butoanelor de navigare, o inregistrare pentru a fi redata.
Schema bloc:
Lista de piese:
Schema hardware:
Mediu de dezvoltare folosit: Arduino IDE 2.1.0 Biblioteci 3rd-party:
Implementarea se bazeaza pe folosirea functiilor tone() si noTone() pentru inceperea si oprirea redarii notelor muzicale. Sunt folosite mai multe variabile de flag pentru tinerea evidentei starii curente (stare de pian - inregistrare/nu inregistrare, stare de redare inregistrare).
Cand este activat modul inregistrare, pentru fiecare nota muzicala redata se va retine frecventa, durata notei (milisecunde) si timpul de pauza pana la urmatoare nota (milisecunde), acestea fiind scrise in perechi pe cate o linie, separate printr-un spatiu, intr-un fisier.
Modul de redare a inregistrarilor este activat/dezactivat cu un buton si citeste fisierul selectat linie cu linie, redand notele muzicale cu durata si timpul de pauza inregistrate.
Se pot selecta fisiere folosind butonul de next song. Acesta cicleaza prin toate fisierele disponibile pe cardul SD. Numele fisierului selectat este afisat pe ecranul LCD. Daca nu exista niciun fisier pe cardul SD, se afiseaza “No files.”.
Atunci cand se termina de redat o inregistrare, se afiseaza pe a doua linie a ecranului textul “finished”.
Fisierele sunt editabile pe alte sisteme, deci exista posibilitatea redarii melodiilor din surse externe, atata timp cat sunt reprezentate in formatul corect.
Pentru interfatarea cu cardul microSD este folosita biblioteca standard din Arduino SD.h, iar pentru ecranul LCD este folosita biblioteca 3rd-party LiquidCrystal_I2C.h.