Simon Game - The Ultimate Challenge este un joc care iti testeaza memoria si rapiditatea. Jocul iti prezinta o secventa de culori care trebuie reproduse in aceeasi ordine. Ideea de la care am pornit este jocul clasic Simon Game. Doresc ca scorul fiecarui jucator sa fie salvat intr-un leaderboard. Cred ca este util pentru ca este un joc distractiv care, in acelasi timp, antreneaza memoria.
Prezentare video: https://drive.google.com/file/d/149ZZ9S1_3bnUzwnpzxQyYRMXrMRTvXsE/view?usp=sharing
Placa de dezvoltare folosita este compatibila cu Arduino UNO R3. Acesta va canta o muzica pe un buzzer si va lua input de la butoane si joystick, care va fi folosit pentru a parcurge leaderboard-ul. Ecranul va afisa atat culorile care trebuiesc apasate, cat si scorul jucatorilor intr-un leaderboard. Informatiile despre scor vor fi salvate pe un card SD.
* biblioteci utilizate:
* Laboratoare utilizate:
* structuri implementare:
Sunt salvate doar cele mai bune 10 scoruri. La introducerea unui scor nou se introduce in ordine, iar cel mai prost scor este sters.
* functii implementate:
Am inceput proiectul prin a ma juca putin cu placuta de dezvoltare. Am conectat butoanele, buzzer-ul, un modul led rgb si un ecran LCD. Am observat ca incep sa raman fara pini disponibili, asa ca am decis sa nu mai folosesc modulul rgb si in schimb sa introduc un joystick si un modul microSD. Asa ca, in loc sa folosesc led-ul pentru a arata secventa de culori o sa folosesc ecranul LCD.
Am incercat sa conectez doua dispozitive prin comunicare SPI (SPI ST7735S si MicroSD Module Adapter), dar am vazut ca MicroSD-ul esua la initializare. Am incercat sa pun si rezintente de pull-up pentru chip select, dar problema a persistat. Din cate am vazut pe internet modulul microSD are un level shifter si ar putea cauza probleme in pereche cu ST7735S-ul. Am incercat sa caut toate videoclipurile posibile si imposibile de pe internet sa vad ceva ce m-ar putea ajuta, nu a ajutat. Am incercat sa mut piesele in toate combinatiile posibile cam o saptamana, nu a mers. Am pierdut cel putin trei ore pe cele mai indepartate forumuri de pe internet, am descoperit pe cineva care a avut aceeasi problema si a optat sa foloseasca software SPI. Am decis sa trec pe Software SPI pentru microSD. A mers foarte bine la inceput, super, dar dupa ce am mai scris cod iar nu a mai mers, fir-ar. Cel mai posibil am avut aceasta problema din cauza ca am ramas fara memorie RAM datorita unor alocari pe parcursul rularii. Intr-un final am decis sa salvez date despre leaderboard pe EEPROM, facand modificari doar cand este necesar. A mers, aleluia. Mi-a mancat zilele cititorul ala de microSD-uri, asa ca l-am vandut altcuiva, numai sa scap de el odata.
Un ultim lucru. Am descoperit ca este usor sa faci stack overflow si sa nu iti dai seama.