Adriana TUFĂ (25200) - Joc Snake

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul meu va fi un joc snake comandat prin accelerometru. Scopul jocului este obtinerea unui punctaj cat mai bun fara ca sarpele sa atinga marginile ecranului sau pe el insusi. Punctele sunt obtinute prin capturarea mancarii. Aceasta dispare dupa un anumit timp daca nu a fost mancata. Jocul va avea de asemenea mai multe nivele. Directia de deplasare va fi data de inclinarea accelerometrului.

Consider acest joc un punct de plecare in programarea pe microprocesoare.

Descriere generală

Hardware Design

Lista piese:

1. Componente de baza

  • ATMega 324 PA-PU
  • USB-B: USB B-PCB-R
  • Quartz 16 MHz: Q16.00 MHz HC-49S
  • 2 diode Zener
  • 2 leduri: CLL-50221
  • condensatoare: 1 x 100 uF, 3 x 100 nF, 2 x 15 pF
  • Soclu microcontroller: LC40
  • Rezistente: 10K, 1K5, 470R, 100R
  • 2 pushbuttons: TS-06E
  • Pin header: K2X10, K1X10

2. Componente specifice

  • LCD qtouch TFT 320-QVT
  • Accelerometru MPU-6050 6DOF
  • Fire conectoare mama-mama

Schema Electrica

Conexiunile pe ATMega si Pinii LCD-ului:

Software Design

Pentru a implementa jocul am folosit 2 librarii publice, una pentru LCD si una pentru accelerometru iar limbajul de programare e C++. Accelerometrul citeste la fiecare cateva milisecunde pozitia sa si in functie de inclinarea pe Ox si Oy, determin directia de miscare a sarpelui. Pentru a fi rapid, la fiecare pas am afisat doar elementele care isi schimba pozitia/valoarea. Incarcarea unei matrici pentru toata suprafata LCD-ului ar fi fost prea costisitoare.

La sfarsitul jocului, in functie de rezultat (ai castigat/pierdut), buzzer-ul va reda o melodie de pe sdcard. Melodia este WAV, pe 8 biti si cu un sample rate 44100 Hz, pentru a putea fi redata cat mai fidel. M-am folosit de functiile din laboratorul 4 pentru a citi de pe card si a reda melodiile. Melodia a trebuit sa fie convertita pentru a se auzi bine deoarece avea un an sampling rate.

Rezultate Obţinute

Concluzii

Proiectul a fost unul interesant si satisfacator in final, cand am ajuns la un rezultat. Mi-a placut sa realizez placuta de baza si sa vad ca nu este chiar atat de greu sa o programez. Am fost ajutata bineinteles de librariile de pe net care au mers fara probleme si astfel partea de software a fost destul de usoara. Procurarea pieselor a fost mai problematica deoarece in tara LCD-ul este foarte pe scump, iar o comanda pe eBay poate dura foarte mult.:(

Download

Codul proiectului: adriana_tufa_accelerosnake.zip

Bibliografie/Resurse

Biblioteca LCD qtouch: library.php

Biblioteca MPU 6050: download

Convertor WAV convert-to-wav

pm/prj2016/amocanu/adriana_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