Grupa: 332CB
In funtia de setup am initializat ledurile, butoanele, LCD-ul si modulul cu ceas in timp real. Functia de loop aprinde pe rand ledurile atata timp cat jucatorul nu a apasat pe niciun buton. Dupa ce a fost apasat pe un buton, se afiseaza nivelul curent, scorul, si se vor apela functiile care genereaza secventa, o afiseaza si o citeste pe cea primita de la jucator. Functia generare_secventa va genera o secventa de culori, corespunzatoare nivelului curent. Functia show_secventa va afisa secventa de culori generata, iar functia get_secventa asteapta sa primeasca de la jucator o secventa de culori, si verifica daca aceasta este cea corecta. Daca secventa de culori este cea corecta, scorul si nivelul vor creste, precum si dificultatea. Dificultatea jocului vine din numarul de culori afisate si timpul pentru care o culoare este afisata. De altfel, functia get_secventa cronometreaza timpul trecut de la afisarea secventei, iar in cazul in care trec 20 de secunde, jucatorul pierde. Daca jucatorul introduce o secventa gresita sau i se termina timpul, se va afisa scorul acestuia pentru cateva secunde, dupa care se asteapta apasarea unui buton pentru reinceperea jocului.
Am implementat toate functionalitatile pe care mi le-am propus. Proiectul, desi nu a fost cel mai complicat, a fost foarte interesant, deoarece am invatat cum sa conectez diferite module, butoane si leduri la o placuta arduino. Partea software nu mi-a pus mari dificultati, majoritatea lucrurilor fiind facute in cadrul labortatoarelor.
Datasheet LCD I2C http://eprints.polsri.ac.id/4642/9/18_DATASHEET%20LCD.pdf
Datasheet DS3231 https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
Laboratoare PM