Sursa principala de inspiratie pentru proiectul meu este un joc aparut la sfarsitul anilor '80, numit Sokoban
Povestea spune ca unui vanzator ii este lasat in responsabilitate un depozit, care consta dintr-un numar de
camere conectate prin cai de acces si coridoare. In interiorul acestor camere au fost lasate diferite cutii pe
care vanzatorul trebuie sa le aduca intr-o singura camera.Aceste cutii nu dispun de manere si sunt foarte grele
si de aceea nu pot fi trase. El nu le poate roti prin impingere. Evident, in cazul in care o cutie este impinsa
intr-un colt, este blocata acolo. Obiectul exercitiului este de a obtine toate cazurile de ambalare in camere.
Pentru comoditate se presupune camera ca fiind un patrat.
Am plecat de la ideea jocurilor puzzle insa pentru comoditate am renuntat la multe dintre detalii.In proiectul
meu am implementat un singur nivel.Personajul principal este reprezentat printr-un patrat de 2×2.Nivelul contine
7 cutii si o usa de trecere la “potentialul” nivel urmator.
Ecran LCD Nokia3310 (PCD8544) cu 48×84 pixeli 5 x 1 rezistenta 3k3 5 x 1 rezistenta 1k8 2 x 1 diode 1n4007 1 x 1 condensator 10uF 5 x 1 buton 3m fire
La realizarea programului am folosit:
-Proteus Isis pentru simulare
-model & biblioteca pentru simularea lcd-ului, care nu erau in bibliotecile default ale Isis
-driver pentru lcd, scris de Fandi Gunawan ( http://fandigunawan.wordpress.com ), sub GNU General Public License
-WinAvr pentru bibliotecile AVR necesare
-Notepad++ pentru editarea codului
Pentru conectare cu lcd-ul am folosit pinii PB0 + PB4 + PB5+ PB6+ PB7.
Pentru aplicatia in Proteus am folosit doar 4 butoane,nu 5.Am folosit pinii PD0, PD1,PD2,PD3 pentru conectarea
lor de microcontroler.
Din pacate partea harware nu a functionat: ecranul lcd nu s-a aprins,dar am reusit sa fac partea software.
Soft: block.zip