Snake

Descriere generală

Snake reprezinta cel mai popular joc al erei telefoanelor mobile, in special Nokia. Microcontrollerul Atmega16 mi-a oferit toate facilitatile pentru implementarea acestuia.

Jocul va putea fi controlat printr-un numpad cu 9 butoane, dintre care doar 4 vor fi folosite, pentru directii. Afisarea se va face pe un display Nokia 6100 (color, rezolutie 128 x 128). Numpadul si displayul vor fi conectate la placa de baza prin porturi de expansiune.

Am ales numpadul cu 9 butoane deoarece se poate conecta rapid si codul pentru interfatarea acestuia nu este dificil.

Hardware Design

Pentru interfatarea displayului Nokia 6100, avand in vedere dimensiunile foarte mici ale conectorului, am achizitionat socketul aferent acestuia. Lipirea acestuia nu am reusit-o imediat. Dupa foarte multe incercari de a afisa ceva pe acest ecran am renuntat si am decis ca voi folosi un display Nokia 3310 (monocrom, rezolutie 84×48). Interfatarea acestuia s-a dovedit a fi mult mai usoara, dar caracteristicile acestuia lasa de dorit.

Multe incercari esuate cu Nokia 6100:

Cu displayul 3310 nu a durat prea mult:

Lista de piese:

  • display Nokia 6100
  • conectori Nokia 6100
  • display Nokia 3310
  • rezistente de 1.8k si 3.3k pentru divizori de tensiune

Schema de conectare a displayului Nokia 3310:

Numpadul foloseste 7 pini iar butoanele sunt structurate intr-o matrice de 3×4 (3 coloane, 4 linii). Pentru a determina ce buton a fost apasat la un moment dat, se conecteaza cei 7 pini la microcontroler si se aplica urmatorul algoritm:

  • Se seteaza cele 3 coloane ca iesire si se asocieaza valoarea 1 (se aplica tensiunea de 5V)
  • Se seteaza cele 4 randuri ca intrare, se activeaza pull-up resistor si se citeste valoarea
  • Daca toate sunt 0, atunci niciun buton nu este apasat.

Software Design

Jocul a fost realizat in limbajul C, sub linux, a fost scris in gedit si compilat cu avr-gcc.

Rezultate Obţinute

Chiar daca nu am realizat ceea ce imi propusesem, am reusit sa termin jocul Snake pentru microcontrollerul AVR Atmega16.

Concluzii

Cu toate ca displayul Nokia 6100 s-a dovedit aproape imposibil de interfatat, sunt convins ca, daca aveam timpul necesar, as fi avut rezultate mai bune.

Download

Bibliografie/Resurse

API folosit pentru displayul Nokia 3310: Quantum Torque

API folosit pentru displayul Nokia 6100: Sparkfun

pm/prj2011/ascurei/snake.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0