Proiectul presupune o tastatura ce poate fi folosita ca o claviatura cu doua octave. Dispozitivul poate fi personalizat, cele doua octave vor putea fi alese de utilizator tot din butoanele tastaturii. Utilitatea proiectului este de a omori plictiseala.
Proiectul poate reda {Do Do# Re Re# Mi Fa Fa# Sol Sol# La La# Si Da} din octavele C2-C6 pe 2 seturi de 'clape' [w,3,e,4…o] si [z,s,x,…, <]. Octavele pot fi alese de utilizator din tastele F1, F2, F3, F3. Daca este apasata o alta tasta decat cele definite, nu se intampla nimic. Pot fi apasate simultan mai multe taste, caz in care se face o medie a frecventelor.
Protocol PS/2 Tasturile PS/2 comunica printr-o linie de clock (buna pentru intreruperi) si una de date. Initial clock-ul este pe high, si incepe sa se schimbe atunci cand tastaura trimite date. Datele sunt trimise in cadre de 11 biti : 1-stop, 2-9 date, 10-bit de paritate, 11-bit de stop.
Pentru redarea sunetului, am folosit PWM pe pinul PD4, la care am legat speaker-ul.
Componente de baza
Pentru comunicarea cu tastatura, am activat intreruperile pe pinul PA1(clock-ul tasturii). In handler, citesc datele primite pe PA0, pe frontul crescator al ceasului.
Pentru redarea sunetului, folosesc PWM pe pinul PD4, care este legat la speaker.
Video
https://drive.google.com/file/d/1wjhdIEX-iuDgh7hbV8EOQYWU0I2OkMgt/view
Cand iti merge proiectul cum vrei, e placut sa lucrezi la el. Multumiri speciale colegei de camera care a suportat bazaiturile din timpul debugging-ului.