This shows you the differences between two versions of the page.
pm:prj2025:eradu:andreea.dobre0508 [2025/05/25 13:10] andreea.dobre0508 [Software Design] |
pm:prj2025:eradu:andreea.dobre0508 [2025/05/30 09:56] (current) andreea.dobre0508 [Bibliografie/Resurse] |
||
---|---|---|---|
Line 14: | Line 14: | ||
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. | 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. | + | O dată apăsat acel buton apar pe ecran: scorul - în partea de sus, plaftorma și mingea. Mingea va incepe să se miste într-o direcție aleatoare pornind din centrul ecranului. |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 35: | Line 35: | ||
Se mai pot adauga componente ulterior. | Se mai pot adauga componente ulterior. | ||
+ | |||
+ | ^ **Preț total:** ||||^ **148.54** ^ | ||
+ | |||
+ | ===== Imagini componente ===== | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | ==== Laboratoare folosite ==== | ||
+ | |||
+ | * **Laboratorul 0 – GPIO** → folosit pentru configurarea pinilor pentru butoane. | ||
+ | * **Laboratorul 1 – UART** → folosit pentru a afișa informații de debug în consola serială. | ||
+ | * **Laboratorul 2 – Întreruperi** → folosit pentru tratarea apasărilor de buton folosind debouncing. | ||
+ | * **Laboratorul 6 – I2C** → folosit pentru afișajul pe ecran. | ||
+ | |||
+ | |||
+ | ==== Motivatia alegerii bibliotecilor: ==== | ||
+ | * #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 | ||
- | <note tip> | ||
- | 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 | ||
- | </note> | ||
- | === Motivatia alegerii bibliotecilor: === | ||
- | * #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 | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 59: | Line 64: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Github: https://github.com/AndreeaViky/pong_game | ||
+ | YouTube: | ||
===== Download ===== | ===== Download ===== | ||
Line 81: | Line 88: | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
+ | https://randomnerdtutorials.com/arduino-mpu-6050-accelerometer-gyroscope/ | ||
+ | https://randomnerdtutorials.com/guide-for-oled-display-with-arduino/ |