This is an old revision of the document!
Proiectul constă în realizarea jocului clasic Pong, afișat pe un ecran. Jocul este conceput pentru un singur jucator, având la dispoziție două butoane pentru a-și controla platforma vertical (sus și jos). Pe ecran, mingea se deplasează și ricoșează atunci când lovește platformele jucătorilor sau marginile superioare și inferioare ale ecranului. Jocul se termina in momentul in care minge pica. Scopul proiectului este de a oferi un mod simplu și distractiv de a te juca.
Inițial apare un ecran de start pentru a împiedica începerea automată a jocului când circuitul este alimentat de la USB. Pentru acesta se folosește un buton separat.
O dată apăsat acel buton apar pe ecran: scorul - în partea de sus, cele două plaftorme și mingea. Mingea va incepe să se miste într-o direcție aleatoare pornind din centrul ecranului.
Hardware desing
Se mai pot adauga componente ulterior.
* #include <Wire.h>: Giroscopul L3GD20H este conectat prin I2C (pinii SDA si SCL), iar aceasta biblioteca gestionează transmiterea și primirea de date I2C. * #include <SPI.h>: Display-ul OLED folosește SPI pentru comunicare, iar biblioteca SPI.h este necesară pentru controlul pinilor MOSI, SCK, CS. * #include <Adafruit_GFX.h>: Pentru a folosi funcțiile precum drawPixel(), drawRect(), drawFastVLine(), necesare pentru a desena mingea si paleta. * #include <Adafruit_SSD1306.h>: Este necesară pentru a trimite datele către display-ul OLED. * #include <Adafruit_L3GD20.h>: Pentru functii precum gyro.begin() și gyro.read() pentru a obține valorile de rotație (în jurul axelor X/Y/Z), folosite pentru a controla paleta din jocul Pong
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.