Acest proiect se referă la implementarea unui pian digital care să poată ajuta utilizatorul în învățarea unei melodii urmând notele de pe LCD. Proiectul este realizat cu scop didactic în ceea ce privește teoria muzicală.
Pe lângă funcționalitatea de bază de a reda notele dintr-o gamă cu ajutorul unor butoane și al unui difuzor, proiectul oferă și posibilitatea de a cânta o melodie urmărind pas cu pas notele afișate pe LCD. În plus, utilizatorul poate schimba gama în care dorește să cânte. La finalul interpretării unei melodii acesta își poate reda melodia cântată de el la pian, dacă înainte a optat și pentru înregistrarea ei. Trecerile între aceste stări de play, learn, recording se face cu ajutorul unor butoane, iar schimbarea unei game se realizează tot cu ajutorul unui buton. Schimbările între modurile de utilizare ale pianului vor fi vizibile prin modificările culorilor unor led-uri RGB.
Am reusit sa implementez aproape toate functionalitatile pe care mi le propusesem. Mai exact pianul poate pe langa interpretarea obisnuita a unei melodii, sa inregistreze si sa redea melodia inregistrata si sa redea o melodie in modul de learning. Nu am reusit sa implementez schimbarea unei game deoarece am constatat destul de tarziu ca 4 pini sunt folositi pe placa de baza. Astfel am ramas fara pini pentru a mai rezolva si aceste functionalitati.
Ca implementare software, programul se foloseste de intreruperi pentru a detecta cand sunt apasate butoanele de pe claviatura si butoanele de control. Speaker-ul este controlat prim PWM de pe pinul PD4. Am implementat functiile de baza care ajuta la aprinderea, stingerea unui led, redarea unei note, afisarea pe LCD, pentru a fi mai usor de urmarit codul.
Mi-a facut placere sa lucrez la acest proiect mai ales ca imi doream sa fac un lucru orientat mai mult spre dificultate hardware. Astfel ca am reusit sa gasesc un proiect la care sa petrec destul de mult timp la lipit componente si la imbinarea lor.