This is an old revision of the document!


Arduino Pong Game

Introducere

Proiectul meu constă într-un joc de Pong implementat pe o placă Arduino, în care joc împotriva calculatorului. Scopul jocului este să împing mingea către partea opusă și să evit ca ea să treacă de marginea terenului meu.

Ideea mea a fost de a crea un joc simplu și distractiv care să ilustreze potențialul plăcilor de dezvoltare Arduino. Am dorit să demonstrez că aceste plăci nu sunt limitate doar la proiecte tehnice, ci pot fi folosite și pentru a crea jocuri.

Consider că jocul meu de Pong implementat pe Arduino este util pentru ceilalți pentru că poate fi folosit ca sursă de distracție, dar și ca mod de a învăța și de a înțelege mai bine programarea în limbajul Arduino. De asemenea, este util și pentru mine, deoarece îmi oferă oportunitatea de a-mi dezvolta abilitățile de programare și de a explora potențialul plăcilor de dezvoltare Arduino.

Descriere generală

În jocul de Pong implementat pe Arduino, piesele implicate interacționează astfel:

Arduino Uno - este creierul jocului de Pong, gestionând toate intrările și ieșirile din joc și procesând logica acestuia. Este conectat la celelalte componente prin intermediul pinilor digitali și analogici.

Push Buttons - cele două butoane sunt utilizate pentru a controla mișcarea paletei de joc. Butonul stâng este folosit pentru a muta paleta în sus, iar butonul drept pentru a muta paleta în jos. Butonul este conectat la pinii digitali ai Arduino Uno, iar acesta trimite semnale către placă atunci când un buton este apăsat.

Color OLED - este afișajul jocului, care afișează mingea, paletele și scorul jocului. Este conectat la pinii digitali și analogici ai Arduino Uno, care trimite semnale de control pentru a afișa informațiile dorite.

În timpul jocului, Arduino Uno primește semnale de la butoanele Push Button pentru a muta paleta de joc în sus și în jos și detectează coliziunile mingii cu paletele de joc. Arduino Uno calculează, de asemenea, scorul jocului și actualizează afișajul Color OLED în consecință. În cele din urmă, Arduino Uno utilizează semnalele trimise la Color OLED pentru a afișa informațiile dorite în timpul jocului.

În general, fiecare componentă joacă un rol esențial în funcționarea jocului de Pong pe Arduino și interacțiunea dintre ele este esențială pentru ca jocul să funcționeze corect și să ofere o experiență de joc plăcută.

Desigur! Iată o descriere mai detaliată și tehnică a pieselor și modului de interacțiune al Arduino în jocul de Pong:

1. Arduino Uno: Este o placă microcontroller bazată pe microcontrolerul ATmega328P. Acesta acționează ca unitate centrală de procesare și control a jocului de Pong. Arduino Uno are mai mulți pini digitali și analo-gici care permit conectarea și comunicarea cu celelalte componente ale jocului.

2. Push Buttons (butoane de tip push): Acestea sunt două butoane fizice de tip push, care sunt utilizate pentru a controla mișcarea paletei în joc. Fiecare buton este conectat la un pin digital al Arduino Uno. Atunci când un buton este apăsat, circuitul electric se închide și Arduino primește un semnal că butonul a fost apăsat.

3. Color OLED (ecran color OLED): Acesta este un afișaj grafic care prezintă vizual elementele jocului, inclusiv mingea, paletele și scorul. Afișajul color OLED este conectat la pini digitali și analo-gici ai Arduino Uno. Arduino trimite semnale către afișajul OLED pentru a afișa informațiile corespunzătoare, cum ar fi poziția și dimensiunea pale-telor, poziția mingii și scorul jocului.

4. Comunicare între componente: În timpul jocului, Arduino Uno primește semnale de la butoanele push pentru a detecta comenzile de la jucător și pentru a muta paleta de joc în sus sau în jos. De asemenea, Arduino Uno monitorizează poziția mingii și detectează coliziunile acesteia cu paletele de joc. Pe baza acestor informații, Arduino Uno calculează scorul și actualizează afișajul Color OLED pentru a reflecta modificările.

5. Interacțiunea Arduino Uno cu Color OLED: Arduino Uno transmite semnale către afișajul Color OLED prin intermediul pinilor digitali și analogici. Aceste semnale controlează afișajul și indică ce informații trebuie afișate, cum ar fi poziția și dimensiunea pale-telor, poziția mingii și scorul jocului. Astfel, Arduino Uno și afișajul Color OLED colaborează pentru a asigura o afișare corectă și actualizată a elementelor jocului pe ecran.

În concluzie, fiecare componentă din jocul de Pong implementat pe Arduino are un rol important în funcționarea și interacțiunea sistemului. Arduino Uno acționează ca unitate centrală de procesare și comunicare, primind intrări de la butoanele push, efectuând calcule și actualizând afișajul Color OLED. Prin interacțiunea corectă între aceste componente, jocul de Pong poate fi jucat, iar experiența de joc poate fi oferită într-un mod plăcut și funcțional.

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2023/apredescu/iordache.1685277914.txt.gz · Last modified: 2023/05/28 15:45 by clara.iordache
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