Autorul poate fi contactat la adresa: Login pentru adresa
Ce face
Proiectul este o chitara cu butoane in genul celei de la Guitar Hero pentru redarea sunetelor a patru game. Chitara are patru butoane pentru game (DO major, la minor, SOL major si mi minor) si opt butoane pentru notele unei octave din gama respectiva. Apasand pe un buton de gama si pe un buton de nota se reda nota respectiva din gama respectiva.
Care este scopul
Scopul acestui proiect este de a ma juca redand diferite sunete de chitara.
Care este ideea de pornire
Ideea de la care am pornit a fost mai mult pentru a invata cum se poate face un instrument muzical folosind un microcontroller. De asemenea am ales chitara pornind de la ideea de Guitar Hero.
De ce este util
Este util pentru mine deoarece ma pot juca si invata cantece simple la chitara. De asemnea este util pentru a invata modul de lucru cu circuite electrice.
Imaginea de mai sus reprezinta o schema bloc a proiectului. Proiectul contine urmatoarele componente importante:
Lista de componente
Componente | Cantitate |
Placa | 1 |
Speaker | 1 |
Condensator | 1 |
Card SD | 1 |
Slot card SD | 1 |
Dioade | 2 |
Rezistente | 6 |
Butoane | 12 |
Fire legatura | 6m |
Pini de legatura | 36 |
Scheme electrice
Implementare
Pentru implementarea acestui proiect am pornit de la laboratorul 4 pentru redare de sunete si citire de pe card SD.
Datele citite de pe cardul SD sunt stocate intr-o matrice de char-uri.
char sounds[32][20];
Aceasta matrice contine numele a 32 de melodii de pe cardul SD. Ele sunt ordonate dupa numele lor astfel ca in momentul apasarii unui buton se stie exact numele fisierului ce contine sunetul respectiv. Fisierele sunt ordonate cu ajutorul unui “bubble sort” folosind functia
void sort(void);
Pentru a citi datele de pe cardul SD se foloseste functia
void read_data(void);
Dupa ce se citesc datele de pe cardul SD se apeleaza functiile
void play_sound(void);
si
void play_gama(unsigned int i);
Aceste functii verifica ce buton de gama s-a apasat si ce buton de nota s-a apasat astfel incat se apeleaza functia
static UINT play (const char *fn);
cu numele fisierului unde se gaseste sunetul respectiv pentru a fi redat acel sunet.
Mediu de dezvoltare
Software-ul a fost realizat pe sistemul de operare Windows 8 folosind
Biblioteciile folosite au fost cele specificate in laborator
Pentru a incarca programul pe microcontroller am folosit Bootloader-ul disponibil pe platforma de wiki.
A fost prima data pentru mine cand am realizat un astfel de proiect si pot spune ca sunt multumita din mai multe puncte de vedere.
Design-ul pentru circuit a fost realizat analizand proiectele din anii precedenti pentru a vedea conexiuniile ce trebuiesc realizate (exemplu circuitul pentru cardul SD a fost preluat de la un proiect din anul 2010).
Atat conexiuniile pentru difuzor cat si pentru cardul SD pe placuta de test au fost preluate din laborator.
Pot spune ca si aspectul fizic al proiectului a iesit bine.
In concluzie pot spune ca sunt multumita de ce am realizat la acest proiect.