Cătălin-Constantin OANCEA (25289) - Snake

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Tema proiectului este un joc de Snake pe un ecran LCD. Voi folosi 4 butoane pentru a controla sarpele in cele 4 directii.
Scopul este de a aduna cat mai multe puncte si de a nu lovi obstacole.

Cand sarpele inghite o bucata de mancare, punctajul creste cu 1 punct.
La fiecare 40 de puncte adunate, se schimba obstacolele si se revine la dimensiunea initiala a sarpelui.

Schemă bloc

Hardware Design

Lista de piese

Componente de baza

  • ATMEGA324
  • soclu microcontroller
  • mufa USB
  • stabilitor de tensiune
  • condensatoare
  • rezistente
  • diode
  • 2 LED-uri
  • quartz

Alte componente

  • LCD Nokia
  • barete pini
  • placa de test
  • fire conectoare
  • butoane

Schema EAGLE

Software Design

Mediu de dezvoltare:

  • AVR Studio

Librarii si surse 3rd-party:

  • Nokia 3310 Driver for AVR (library)

Algoritmi si structuri de date:
Am folosit o lista simplu inlantuita pentru retinerea sarpelui. Fiecare element al listei contine urmatoarele campuri:

  • x_coord
  • y_coord
  • pointer catre urmatorul element

Am mai folosit doi vectori (obstacles_x, obstacles_y) pentru a retine coordonatele obstacolelor.

Rezultate Obţinute

Concluzii

In urma realizarii proiectului am invatat foarte multe lucruri.

A fost primul proiect care a imbinat hardware-ul cu software-ul facut de la 0.

Pe parcursul proiectului am intampinat anumite dificultati (e.g. memoria de 2K mi-a dat putin peste cap planul de a folosi o matrice de 48×84).

Am fost nevoit sa folosesc memoria foarte eficient, sa lucrez cu mai multa atentie (deoarece inainte de a avea LCD-ul conenctat debugging-ul il faceam prin intermediul unui led 8-o ) si nu in ultimul rand, am invatat sa folosesc mai bine datasheet-ul pentru anumite componente hardware.

Mi-a facut mare placere sa lucrez la acest proiect, iar pe viitor voi incerca sa realizez o carcasa si sa il alimentez de la o baterie (pentru portabilitate).

Download

pm2016_331cc_oancea_catalin_constantin.zip

Parola arhiva: EKP44U6HcEZUThUwbm87ntT3

Jurnal

Data Descriere
13 Mai Placa de baza functionala + bootloader
20 Mai Placa secundara (terminat de lipt)
21 Mai Scris cod pentru butoane (←↑→↓) (intrerupt)
22 Mai Conectat display + mici teste pentru a intelege cum functioneaza biblioteca
23 Mai Terminat de scris codul pentru snake + incarcat si testat pe placuta

Bibliografie/Resurse

pm/prj2016/astratulat/69772.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