Alin-Florin MIHĂILĂ (78732) - Snake

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Acest proiect isi propune implementarea unui joc clasic Snake pe un LCD controlat prin butoane.

  • Scopul proiectului : reprezinta un bun inceput pentru familiarizarea cu lumea embedded.
  • Ideea de la care am pornit : de cand aveam eu primul meu telefon m-am jucat Snake si reprezinta o motivatie buna pentru a implementa jocul din copilarie.
  • Utilitate : recreere.

Descriere generală

Specificatii:

  • Controlul sarpelui se va face cu ajutorul butoanelor.
  • Prin intermediul meniului se poate selecta nivelul dorit.
  • Nivelul ales, va schimba viteza sarpelui.

Hardware Design

Lista de piese

Denumire Număr
PCB 1
Componente de baza 1
Butoane 4
LCD Nokia 5110 1
Placa de prototipare 1
Buzzer pasiv 1

Schema electrica

Software Design

Detalii implementare

  • Miscarea sarpelui - sarpele se tine intr-o matrice de coordonate si se updateaza mereu capul acestuia in directia curenta
  • Schimbarea directiei - se face cu intreruperi (mai eficient decat bussy waiting)
  • Nivele - Usor, Mediu si Greu
    • Usor - standard
    • Mediu - se adauga zidul si viteza creste
    • Greu - zid + obstacole + viteza si mai mare
  • Coliziunea cu mancarea - se verifica daca coordonata capului coincide cu coordonata mancarii (va lumina backlight-ul si se va genera un sunet prin buzzer)
  • Coliziunea cu ziduri - se verifica daca coordonata capului se afla pe linia superioara/inferioara, coloana stanga/dreapta
  • Coliziunea cu obstacolele - se verifica fiecare coordonata a obstacolului cu cea a capului
  • Finalul jocului - cand se ajunge sa se faca o coliziunea cu zidul/obstacolul se va genera un sunet si jucatorul va alege daca vrea sa reia nivelul sau nu

Rezultate Obţinute

Concluzii

  • A fost o experienta noua, partea hardware chiar a fost interesanta, partea grea a fost sa lipesc firele pe spate.
  • Partea software nu a fost foarte grea, doar ca a fost destul de migaloasa, pentru ca am lucrat si la nivel de caracter si la nivel de pixel.
  • Cu ocazia acestui proiect mi-am mai completat lipsuri de la laborator si pot sa zic ca mi-a deschis orizontul spre lumea embedded.

Download

Jurnal

  • Placa de baza terminata (5.05)
  • Cumparare componente specifice proiect (10.05)
  • Lipire componente pe placa de test (14.05)
  • Testare componente (butoane, buzzer, display) (15.05)
  • Implementare soft (19.05)

Bibliografie/Resurse

  • Documentația în format PDF
Nume Link
Eagle Eagle Download
Datasheet ATMega324 ATMega324
Datasheet LCD Nokia Nokia5110
Schema electrica ATMega324 Cablaj
Biblioteca Nokia5110 Nokia5110 library
pm/prj2018/ipopescu/89765.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