This is an old revision of the document!
Proiectul va implementa un Jukebox care va avea un playlist de melodii. Exista butoane de play/next/shuffle/back si un meniu pentru a alege melodia. Melodiile vor fi redate printr-un buzzer. In timp ce este redata o melodie se va afisa numele ei. Exista si posibilitatea de inregistrare a unei secvente proprii de sunete(butoanele devin sunete), melodie care se va adauga in lista de cantece.
Am pornit de la ideea de a transforma melodii actuale intr-o forma mai electrica, 8-bit.Consider ca proiectul are o utilitate variata deoarece pot fi adaugate constant functionalitati de afisare, navigare, redare melodii si lucru cu cardul de memorie/butoane. Cu ajutorul butoanelor se navigheaza prin meniuri(deocamdata nu am lipit lcd-ul si butoanele astfel incat sa se stie fiecare ce face).
Procesul decizional si pasii de functionare:
Scema electrica se alfa si pe Tinkercad aici.
Proiectul a fost dezvoltate in Arduino IDE.
Am folosit o biblioteca pentru controlarea LCD-ului cu I2C LiquidCrystal_I2C reprezentand o extensie a biblioteci normale LiquidCrystal.Deasemenea, am folosit pentru comunicarea cu modulul Micro SD 2 biblioteci din Arduino IDE SPI.h si SD.h.
Functia play() citeste din cardul SD, cu ajutorul https://www.arduino.cc/en/Reference/FileRead ,fisierele reprezentand melodii(in ordine sau random) pana cand se apasa butonul de “back” sau pana se termina melodiile.Melodiile sunt stocate in forma urmatoare(nota urmata de tipul ei): game.txt.
Functia record() retine butoanele apasate ca note si le scrie, cu ajutorul https://www.arduino.cc/en/Reference/FilePrintln,intr-un fisier nou creat in card. Deocamdata nu se poate alege tempo-ul sau durata fiecarei note, functionalitati ce pot fi adaugate ulterior.
In loop se verifica pe rand butoanele daca sunt apasate si in functie de variabila state, care reprezinta in ce stadiu/meniu se afla programul, se afiseaza/apeleaza corespunzator.