Proiectul ales propune implementarea unui pian care poate, de asemenea, sa genereze sunete asemanatoare unui sintetizator.
Vor exista trei moduri de lucru:
Comunicarea cu microcontroller-ul se va face prin intermediul claviaturii propriu-zise a pianului si a potentiometrelor.
Microcontroller-ul va genera sunete cu ajutorul a 2 difuzoare.
Lista de piese:
Componenta | Cantitate |
---|---|
Placa de baza | 1 |
Clape | 54 |
Afisaje 7 segmente | 3 |
Potentiometre | 9 |
Difuzor | 2 |
Orga prezinta doua moduri de generare a sunetelor:
Selectarea modului de lucru se realizeaza prin 2 potentiometre, PA5 pentru selectarea modului de generare a sunetului si PA6 pentru selectarea modului de interpretare a melodiei.
Pentru citirea tastelor orgii se activeaza pe rand liniile PB0, …, PB6 si se verifica pinii PC0, …, PC7. Tasta x este apasata daca la activarea iesirii PB(x/8), pinul PC(x%8) este high.
In ambele moduri de generare sunetele sunt produse prin varierea lui OCR2A si OCR2B, care in primul caz joaca rol de TOP, iar in al doilea caz fac clear pe intreruperi.
In timp ce o clapa este apasata, frecventa sunetului poate fi modificata folosind potentiometrul conectat la PA3.
In al doilea mod de functionare, amplitudinea semnalului poate fi modificata prin varierea factorului de umplere, lucru ce se poate realiza prin modificarea OCR2A si OCR2B. Controlul acestor schimbari se realizeaza cu potentiometrul conectat la PA4.
Orga este functionala, putandu-se alege din doua moduri de generare a sunetelor.
De asemenea, se poate alege sa se asculte o melodie ce apoi sa trebuiasca reprodusa. Programul asteapta introducerea fiecarei note a melodiei, in ordine. In cazul in care o nota este introdusa necorespunzator se va auzi un bazait si se va trece in modul normal. Altfel, daca notele au fost introduse corect, afisajele cu 7 segmente vor palpai la final, dupa care se va trece in modul normal.
Un video demonstrativ se gaseste aici:
Proiectul poate fi continuat, avand si alte componente pe care doream sa le folosesc in generarea de semnale sonore mai complexe prin suprapunerea de semnale sinusoidale cu mai multe armonici pentru fiecare clapa apasata. Mai multe detalii cu privire la planul initial se pot gasi in urmatoarea prezentare:
Per total, proiectul a fost fun, rezultatul final fiind unul multumitor. Desi au fost multe momente in care nu au mers toate chiar struna, consider ca am avut multe de invatat si ma consider multumit. :)
Sursele proiectului pot fi gasite mai jos:
24.04.2017: Placa de baza este finalizata.
08.05.2017: Hardware-ul este complet, dupa cum se poate vedea mai jos:
24.05.2017: Software-ul este definitivat.
Atmega324a datasheet: doc8272.pdf
* Documentația în format PDF