Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul consta in realizare unui joc in care dispozitivul aprinde un numar de leduri , apoi utilizatorul va trebui sa aprinda aceleasi leduri din butoane, daca s-au aprins aceleasi leduri , se vor aprinde toate ledurile, semn ca s-au aprins cele corecte.
Schema bloc :
Bill of materials
Pachet de componente de baza:
placa PM x 1
ATMEGA324PA-PU x 1
USB-B Conector x 1
16MHZ Quartz 16MHz x 1
dioda Zener BZX55C3V3 x 2
lED 3mm rosu x 2
K1X10 WSL040 x 1
K2X10 x 1
pushbutton x 2
rezistenta 100R x 3
rezistenta 470R x 3
rezistenta 1K5 x 1
rezistenta 10K x 1
condensator 100nF x 3
condensator 15pF x 2
soclu microcontroller x 1
jumper x 1
Materiale infara de cele din pachetul standard :
rezistenta de 330ohm x 6
led 3mm rosu x 6
pushbutton x 6
placa suport x 1
Descrierea codului aplicaţiei (firmware):
Functii implementate :
Descrierea jocului :
La inceput sunt aprinse anumite leduri(secventa de inceput) semn ca a pornit jocul, apoi programul incepe sa aprinda random doua led-uri, folosind ca si seed valoarea intoarsa din ADC (citire voltaj dintr-un pin in “aer”), daca secventa de leduri este reprodusa corect, se vor aprinde si stinge toate led-urile semn ca s-a raspuns corect, si se va genera o noua secventa cu 3 led-uri, apoi de 4, apoi de 5 led-uri, daca s-a reprodus corect si secventa cu 5 led-uri , device-ul va folosi secventa de final ce semnifica terminarea jocului. Daca se reproduce gresit o secventa, se va genera o secventa care seminifica ca s-a gresit si se va reseta jocul, si o va de la inceput (secventa cu 2 led-uri).
In urma realizarii proiectului am invatat sa lipesc anumite componente electronice, si cum se genereaza numere random pe un microcontroller avand ca seed pentru functia rand , voltajul citit dintr-un pin analog in “aer”, folosind ADC. O problema am intampinat la rezistentele pull-down puse de mine, nu reuseam sa testez daca un buton este apasat, am fost nevoit sa renunt la rezistentele pull-down si sa activez rezistentele pull-up din microcontroller. A fost un proiect interesant, deoarece a fost un proiect practic.