This is an old revision of the document!
Nume și Prenume: ALEXANDRU ANDREEA
Grupă: 333CB
Ideea proiectului a pornit de la dorința de a reanima un joc clasic, păstrând esența originalului, dar adăugând elemente noi pentru a îmbunătăți experiența de joc.
Utilitatea proiectului:
Jocul proiectat oferă o formă de divertisment captivantă, potrivită pentru jucători de toate vărstele, oferind sesiuni de joc cu elemente strategice și dinamică imprevizibilă. Totodată, interventiile sonore și vizuale îmbunătățesc experiența de joc prin stimularea multisenzorială.
Dintr-o altă perspectivă, proiectarea jocului Pong Revolution este o provocare personală care facilitează dezvoltarea abilităților tehnice: cunoștințe și abilități în programare, design de jocuri, integrare de efecte sonore și vizuale.
- Arduino UNO R3 ATMEGA328p
- Display LCD 128x160px, SPI
- Breadboard
- 2 x Joystick
- Buzzer
- buton
- rezistențe: R = 330 Ohm; R = 1K Ohm
- tranzistor BC337
- LED Bicolor de 3 mm Rosu si Verde cu Anod Comun
- fire
- cablu USB
Conexiuni Modul LCD - SPI și Controller ST7735S ↔ Arduino UNO R3:
1. SCK (Serial Clock): pinul de ceas serial (CLK) → pin digital 13
2. SDA/DIN (Serial Data): pinul de date seriale (MOSI) → pin digital 11
3. A0/ DC: selectare între date și comenzi → pin digital 9
4. RESET: pinul de resetare (RST) → pin digital 8
5. CS (Chip Select): selectare cip → pin digital 10
6. LED/BL: pinul de backlight → pin digital 4
7. VCC: alimentare
8. GND
Conexiuni Buzzer activ ↔ Arduino UNO R3:
1. VCC
2. GND
3. I\O: pin pentru semnalul de intrare/ieșire → pin digital D2
Conexiuni LED anod comun ↔ Arduino UNO R3:
- pentru pinii de culoare (roșu și verde): am conectat câte o rezistență de limitare a curentului și câte un pin digital: 1 și 4
- pentru pinul comun (anodul) → pin digital 7
Conexiuni buton ↔ Arduino UNO R3:
- pin conectat la GND
- pin de semnal al butonului → pin digital 0
Conexiuni joystick ↔ Arduino UNO R3:
1. GND
2. VCC
3. VRX: citire poziție pe axa Ox → pin analogic A3 (respectiv A1)
4. VRY: citire poziție pe axa Oy → pin analogic A4 (respectiv A5)
5. SW: citire stare buton → pin digital 5 (respectiv 6)
→ Interfața Utilizator: Am dezvoltat o interfață grafică intuitivă pe display-ul TFT, utilizând bibliotecile Adafruit GFX și ST7735. Ecranul afișează clar mișcarea paletelor, mingii și scorul curent. De asemenea, am inclus mesaje de start și final de joc pentru o experiență utilizator îmbunătățită.
→ Controlul Joystick-ului: Am dezvoltat algoritmi pentru citirea valorilor analogice de la joystick-uri și controlul paletelor, oferind o reacție rapidă și precisă la mișcările jucătorilor.
→ Feedback Audio și Vizual: Implementarea buzzer-ului pentru semnalizarea evenimentelor de joc (cum ar fi coliziunea mingii sau punctarea unui gol) și a LED-urilor pentru indicarea stării jocului au adăugat un nivel suplimentar de interactivitate și feedback în timp real pentru jucători.
→ Gestionarea Pickup-urilor: Am adăugat o funcționalitate de “pickup-uri” care apar aleator pe ecran, oferind bonusuri sau penalizări jucătorilor.
→ Documentare și Modularitate: Codul a fost bine documentat, iar funcțiile implementate au fost structurate modular, facilitând astfel înțelegerea și posibilele îmbunătățiri viitoare ale proiectului.
În concluzie, proiectul nostru a atins obiectivele propuse, oferind o experiență de joc atractivă.
Demo → pong_revolution_demo.zip
Resurse Hardware:
- Arduino UNO R3 → https://www.optimusdigital.ro/ro/placi-avr/1685-uno-r3-atmega328p-atmega16u2-placa-de-dezvoltare-compatibila-cu-arduino.html
- LCD display Module → https://www.optimusdigital.ro/en/lcds/12670-128x160-general-18inch-lcd-display-module.html