Roxana ISTRATE - Tron

Autorul poate fi contactat la adresa: Login pentru adresa

Descriere Joc

Tron este jocul de strategie multiplayer care a fost implementat și la Proiectarea Algoritmilor în anul 2 și presupune blocarea adversarului printr-o coada lăsata în urma jucătorului.

Instrucțiuni de folosire

Pe prima placa se pot observa opt butoane pentru cele 4 direcții ale ambilor jucători, iar pe placa a doua butonul de reset și user, folosite pentru recunoaștere device-ului de către PC.

Motivație

Am ales acest joc deoarece este unul antrenant și am considerat ca m-ar ajuta sa ma familiarizez cu programare embedded.

Lista componente

Componente Cantitate Preț Magazin
Placa de bază 1 ~50 Ron -
Push-button 10 ~20 Ron -
LCD Grafic 128 X 64 1 ~99 Ron Robofun

Descriere generală

Hardware Design

Schema electrica

Software Design

Codul a fost dezvoltat în Programmer's NotePad [WinAVR].

Deoarece jocul va fi 2-player nu trebuie realizat niciun algoritm, ci doar anumite restricții pentru ieșirea din ecran, determinarea câștigării unui player atunci când a avut loc o coliziune cu propria coada, cu al doilea player sau cu unul din pereți.

Ca structura de date voi folosi o matrice de tip bool ce va retine fiecare pixel al ecranului(ocupat = true, liber = false). Pentru mișcarea player-ilor am creat rutine de tratare a întreruperilor pe butoanele de pe PORTD care modifica starea matricei și actualizează imaginea pe LCD.

Download

Arhiva cu codul se găsește aici: proiect-pm.zip

Rezultate Obținute

Am testat toate cele 8 butoane și funcționează (testarea s-a făcut aprinzând un led pe baza unei întreruperi pe buton).

r1.jpg r2.jpg

r3.jpg

Concluzii

Am învățat sa lipesc componente pe placa, am lipit LCD-ul de 2 ori, prima data a durat aproximativ 6 ore, apoi doar 2. 8-) (l-am dezlipit pentru a rearanja toți pinii de date sa fie pe PORTC, iar pinii de comanda pe portul A).

Am aprofundat căutările în datasheet-uri și prin toate bibliotecile pe care le-am găsit pe net, dar în zadar, LCD-ul nu a afișat nici măcar Hello, World! :-(

Cauze posibile:

    1.  Pini mapați incorect
    2.  Biblioteci necorespunzătoare
    3.  LCD ars (slabe șanse, am lucrat cu o colega cu același tip de LCD și niciuna nu a rezolvat problema afișării)

Bibliografie/Resurse

Biblioteca încercata 1: ks0108

Biblioteca încercata 2: ks0108-library

Biblioteca încercata 3: KS0108_Library

Datasheetul LCD-ului: ADM12864H.pdf

Forum pentru răspunsuri la problemele întâmpinate: viewtopic.php

pm/prj2014/dtudose/2603.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