Florin STANCU - Snake

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul presupune realizarea unui joc “Snake” folosind un display de Nokia 3310.

Descriere generală

Vor exista 5 butoane (4 de directie si unul de selectare) care vor interactiona cu microcontrolerul. Acesta din urma, in functie de evenimente, va afisa pe ecran starea jocului si va folosi difuzorul pentru a reda sunete in momentul producerii unui eveniment.

Hardware Design

Piese Număr Preț Sursa
Display Nokia 3310 1 10Lei Okazii
Push Buton 5 0.7Lei Conex Electronic
Rezistenta 220Ohm 5 0.3Lei Conex Electronic
Condensator 100nF 1 0.5Lei Conex Electronic
Difuzor 1 5Lei Conex Electronic
Bareta 40 Pini 1 4Lei Conex Electronic
Total 24Lei
Placuta PM 1 60Lei

Software Design

Codul a fost scris în winAVR, iar ca librărie pentru display am folosit Nokia 3310 LCD Driver.

Pentru “desenarea” pe ecran s-a folosit o structură (Block) care avea rolul de a reține informații despre block-urile folosite de pe display, obiectele afișate fiind reprezentate ca vectori de această structură:

  • șarpele
  • mâncarea
  • zidurile

Pentru sunete am folosit un timer-ul 1 care generează semnal PWN pe portul PD5 timp de 0.5 secunde. Acestea din urmă sunt folosite la producerea unui eveniment:

  • apăsarea unui buton, dar doar atunci când te afli în meniu
  • la game over
  • când șarpele mănâncă

Pe partea de game play avem 3 niveluri de dificultate:

  • easy - șarpele poate trece prin pereți
  • medium - șarpele nu poate trece prin pereți
  • hard - avem obstacole

Rezultate Obţinute

DEMO: watch

Concluzii

A fost un proiect interesant care m-a ajutat să îmi dezvolt un pic și capacitățile pe partea hardware. Proiectul a fost ușurel din punctul meu de vedere, dificultatea cea mai mare fiind dată de faptul că am vrut să îmi creez un shield (în stilul celora pentru Arduino) pentru a fi cât mai compact și de a scăpa de fire. Au mai fost ceva problema la lipirea pinilor pe display, dar aici am primit ceva ajutor din partea domnului Surpățeanu :-D, anul trecut la un proiect asemănător pentru Achiziții de Date.

Download

<WRAP center round download 60%> 334cb_stancuflorin_proiectpm.zip </WRAP>

Jurnal

  • 7 aprilie - am terminat de lipit piesele pe placuță
  • 15 aprilie - bootloader-ul a fost instalat cu succes
  • 17 aprilie - am ales tema proiectului
  • 22 aprilie - am facut rost de restul de piese
  • 26 aprilie - am creat tastatura
  • 8 mai - partea hardware este completa
  • 17 mai - primele teste pe display și pe difuzor
  • 18 mai - mi s-a stricat bootloader-ul de pe microcontroller
  • 20 mai - am rescris bootloader-ul
  • 21 mai - partea software este gata
  • 22 mai - proiectul este complet

Bibliografie/Resurse

  • Librăria folosită pentru LCD 37
  • Documentație pentru pinii display-ului lcd_nokia_3310.shtml
  • Datasheet pentru ATMega324PA doc2466.pdf
  • Laboratoarele de anul acesta.
  • Și nu în ultimul rând, proiectele din anii trecuți - Gratitude lui Vlad și Emil :-)
pm/prj2014/ideaconu/snake3310.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