Table of Contents

Cătălin-Ionuţ RAMAŞCANU - Pong Game

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul presupune implementarea jocului Pong care va avea un mod player vs player. Afisarea se va face pe o matrice de LED-uri.

Descriere generală

Hardware Design

Lista de piese:

Nume piesa Număr unitati Pret[RON] Magazin
ULN2804APG 1 2.00 Connex Electronics
Rezistență 330 6 0.20 x 6 Connex Electronics
Pushbutton 4 0.50 x 4 Connex Electronics
Matrice LED 8×8 - LM-88G23-CC 1 12.00 TME
Pini 1×40 1 1 Connex Electronics
Rezistenta 1k 6 0.20 x 6 Connex Electronics
Cabluri conectare 5 metri 0.80 x 5 SYSCOM
Placa test 160×100 1 12.00 Connex Electronics
LED 3mm 6 0.30 x 6 SYSCOM
Conectori mama 5 pini 4 1.50 x 4 SYSCOM
Conectori mama 8 pini 4 2.50 x 4 SYSCOM

Schema electrica

Schema electrica a matricei LED - LM-88G23-CC

Software Design

Software folosit:

Eagle WinAvr, Programmer's Notepad bootloadHID

Detalii implementare:

Pentru implementare am organizat ledurile ca o matrice de 8*8 cu valori de 1 si 0, 1 atunci cand ledul de linia x si coloana y este aprins si 0 cand ledul este stins.

Pinii A si D ai microcontroralui sunt retinuti in doi vectori: int pini_linie[8] si int pini_coloana[8];
Coordonatele din matrice ale pozitiei bilei sunt retinute in doua variabile (ball_x si ball_y) pentru a fi mai usoara translatarea acestuia.
--void draw_map()--  => afiseaza harta jocului reprezentata de matrice (aprinde leduri de pe pozitiile cu valoarea 1 din matrice);
--int update_map()-- => updateaza matricea , modificand pozitia jucatorilor in functie de inputul de la butoane si realizeaza deplasarea bilei.

Rezultate Obţinute

Rezultatul a fost un joc pong complet functional.

Demo movie: watch

Joc in actiune:

Placa de baza:

Placa de test:

Concluzii

Proiectul a fost unul util deoarece am vazut cum se poate realiza si programa un dispozitiv hardware. Tot proiectul a reprezentat o experienta benefica si interesanta. Realizarea proiectului nu a fost una foarte complicata. Lucrul matricea de leduri este un pic cam greu deoarece anozii si catozii acesteia sunt amestecati.

Download

Schema proiect: ramascanu_catalin_schema_pm.sch

Cod Sursa: ramascanu_catalin_cod_sursa.zip

Jurnal

1. Cumpare componente etapa 1 (placa de baza);

2. Participarea la placutiada;

3. Lipire componente si testare placa de baza;

4. Cumparare componente etapa 2;

5. Lipire componente pe placa de test, alegerea pinilor ce vor fii folositi la microcontroller si crearea legaturii intre placi;

6. Testare placa de baza;

7. Scrierea si debug-area surselor jocului;

8. Completare wiki;

Bibliografie/Resurse

Wiki PM : http://cs.curs.pub.ro/wiki/pm/

Datasheet pentru ATmega324PA: http://www.atmel.com/Images/doc2466.pdf

Datasheet pentru ULN2804APG: http://www.semicon.toshiba.co.jp/info/docget.jsp?pid=ULN2803APG&lang=en&type=datasheet

Datasheet pentru Matrice LED model LM-88G23-CC : http://www.tme.eu/en/Document/a2c7dabbed811375b571c73631668cb9/LM-88x23-Cx.pdf