Ecranul LCD-ul si butoanele sunt legate la pinii microcontroller-ului. Am mai folosit rezistente pentru a crea divizor de tensiune la pinii LCD-ului, un condensator si diode.
Lista piese:
5 rezistente 3k3 5 rezistente 1k8 1 condensator 10uF 2 diode 1 display LCD Nokia 3310
Mediu de dezvoltare: DevC++ sub Windows7 64biti. Simularea a fost facuta in Proteus ISIS.
M-am folosit de drivere pentru ecranul LCD Nokia 3310: pcd8544.h, pcd8544.c.
Jocul este sub forma unui grid de dimensiune 8×8 unde pot avea ziduri sau spatii libere. Jucatorul trebuie sa impinga cutiile din grid astfel incat sa ajunga la configuratia finala data de punctele destinatie. Astfel, pe fiecare pozitie din grid voi avea o figura. Am desenat din pixeli 4 figuri (6×6 pixeli): zid, cutie, destinatie, caracter. Un nivel este practic o matrice in care tin minte o configuratie initiala dupa care inregistrez miscarile ulterioare.
Caracterul este controlat din 4butoane, al 5-lea fiind butonul de reset. Figura pentru destinatie clipeste atunci cand peste ea se afla o cutie. Jocul trece la nivelul urmator atunci cand toate cutiile sunt pozitionate.
Placa de baza poate fi programata. Am facut simularea in Proteus ISIS. Jocul nu a fost testat pe placuta deoarece am cumparat la timp toate piesele, mai putin ecranul LCD. Sfat: cautati ecran din timp si atentie la el pentru ca multi au avut probleme, poate sa nu se aprinda.
Crearea unei aplicatii care sa ruleze pe placuta si resursele mult mai limitate ale acesteia au fost ceva cu totul diferit fata de lucrul cu PC-ul unde spre exemplu nu mi-am pus niciodata problema ca datele sa nu-mi intre in memorie. La un moment dat a trebuit sa schimb tipul datelor din int in char deoarece nu-mi incapeau nivelurile si figurile din joc in memorie.