Autorul poate fi contactat la adresa: Login pentru adresa
Scopul proiectului este implementarea unui joc de memorie pe LCD.
Jocul consta in cautarea perechilor de semne identice pana cand nu mai exista nici un semn neintors. Vor exista 6 perechi diferite de semne, iar jocul se va putea juca in doua moduri: memory(intregul board va fi afisat la inceputul jocului pentru cateva secunde), normal(se vor intoarce pe rand toate cartile pentru a descoperi fiecare semn unde este). Pentru fiecare pereche selectata corect, la scor se vor aduna 15 puncte, iar pentru fiecare pereche incorecta, se vor scadea 5 puncte.
Un exemplu de joc se poate gasi aici.
SCHEMA BLOC:
Sunt puse la dispozitia jucatorului 14 butoane:
LISTA DE PIESE:
Index | Descriere | Cantitate | Cod Schema |
---|---|---|---|
1 | Microcontroller | 1 | IC2 |
2 | Mufa USB B | 1 | J2 |
3 | Cristal 16MHz | 1 | Q1 |
4 | Dioda Zener | 2 | D1, D2 |
5 | LED | 2 | LED1,LED2 |
6 | Header 1×3 | 1 | JP3 |
7 | Header 1×10 | 4 | PORTA, PORTB, PORTC, PORTD |
8 | Header 2×3 | 1 | JP1 |
9 | Header 2×5 | 1 | SV1 |
10 | Pushbotton Switch | 2 | S1, S2 |
11 | Rezistenta 100 | 2 | R5, R6 |
12 | Rezistenta 470 | 3 | R9, R12, R13 |
13 | Rezistenta 1K5 | 1 | R8 |
14 | Rezistenta 10K | 1 | R15 |
15 | Condensator Ceramic 100nF | 3 | C6, C7, C8 |
16 | Condensator Ceramic 15pF | 2 | C13, C1 |
17 | Soclu Controller | 1 | |
18 | Jumper | 1 | |
19 | Regulator Tensiune 5V-3.3V | 1 | IC1 |
20 | Condensator Polarizat | 1 | C5 |
21 | Rezistenta 1K | 1 | R1 |
22 | Placuta Test | 1 | |
23 | LCD Nokia 5110 | 1 | |
24 | Cablu USB-A - USB-B | 1 | |
25 | Fire Mama-Mama | 34 | |
26 | Pushbotton Switch | 14 | |
27 | Rezistenta | 14 |
SCHEMA ELECTRICA:
Nu merg toate porturile placutei, motiv pentru care porturile de pe schema s-ar putea sa nu coincida cu cele conectate in realitate.
Pentru butoanele de selectie a modului de joc am folosit porturile: PD0 si PD1.
Pentru butoanele de selectie a cartilor: PA5, PA6, PD4, PD5, PD6, PA7, PC6, PC5, PC4, PC3, PC2 si PC1.
MEDIU DE DEZVOLTARE: WinAVR
DETALII: din cauza unor probleme cu butoanele, nu am reusit sa realizez implementarea software a jocului inca.
TIPURI DE DATE:
typedef struct { int x, y, face; //face este 0 daca semnu este ?, 1 daca este intors, fiind vizibila litera char sign; } card;
ALGORITM:
La inceperea jocului se afiseaza un meniu cu doua optiuni: Memory si Simplu. Ambele tipuri de joc au in spate acelasi algoritm. Se genereaza cartile cu litere, dupa care se asteapta apasarea butoanelor. Dupa fiecare doua apasari de butoane, se verifica daca cele doua carti selectate sunt pereche, si daca da, se adauga 15 puncte la scor si cartile raman pe fata, daca nu, se scad 5 puncte din scor si cartile se intorc. O carte intoarsa nu mai poate fi selectata din nou. De asemenea, in timpul jocului nu se pot apasa cele doua butoane din stanga. La final, se poate alege optiunea de a juca din nou sau de a iesi din joc.
RESURSE HARDWARE:
Datasheet LCD Nokia 5110
RESURSE SOFTWARE:
Quantum Torque Nokia 3310 LCD Driver
LCD