This shows you the differences between two versions of the page.
pm:prj2025:eradu:andreea.dobre0508 [2025/05/24 23:17] andreea.dobre0508 [Hardware 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 22: | Line 22: | ||
* Arduino UNO R3 | * Arduino UNO R3 | ||
* butoane | * butoane | ||
- | * rezistente | ||
- | * condensatoare | ||
* giroscop | * giroscop | ||
+ | ===== Schema Circuit ===== | ||
===== Bill Of Materials ===== | ===== Bill Of Materials ===== | ||
^ Componenta ^ Pret(lei) ^ Link ^ | ^ Componenta ^ Pret(lei) ^ Link ^ | ||
- | | Placa Arduino UNO | 29.88 |https://ardushop.ro/en/development-boards/2282-development-board-uno-r3-arduino-compatible-6427854027122.html | | + | | Placa Arduino UNO | 34.99 |https://www.optimusdigital.ro/ro/compatibile-cu-arduino-uno/1678-placa-de-dezvoltare-compatibila-cu-arduino-uno-atmega328p-i-ch340.html?search_query=arduino+uno&results=129| |
- | | Buzzer 12V | 18.99 |https://vectro.ro/produs/mini-sirena-pentru-alarma-12v-105db-lzq-1m/?gad_campaignid=17091351278 | | + | | Giroscop | 79.99 |https://www.optimusdigital.ro/ro/senzori-senzori-inertiali/8646-modul-adafruit-cu-giroscop-l3gd20h.html?search_query=giroscop+&results=45 | |
- | | SD Card Shield | 18.99 |https://www.bitmi.ro/electronica/shield-pentru-inregistrare-de-date-cu-slot-sd-10561.html | | + | | OLED Display | 23.29 |https://ardushop.ro/ro/display-uri-si-led-uri/1110-display-oled-128x64-096-spi-6427854015433.html | |
- | | Senzor masurare distanta | 29.99 |https://www.bitmi.ro/electronica/senzor-masurare-distanta-vl53l0x-10802.html | | + | | Butoane push | 0.36 |https://www.optimusdigital.ro/ro/butoane-i-comutatoare/1119-buton-6x6x6.html?search_query=butoane&results=190 | |
- | | Alimentator | 16.99 |https://www.optimusdigital.ro/ro/electronica-de-putere-alimentatoare-priza/2884-alimentator-stabilizat-5v-1000ma.html?search_query=Alimentator+Stabilizat+5+V+1000+m&results=12 | | + | | Breadboard | 4.56 |https://www.optimusdigital.ro/ro/prototipare-breadboard-uri/44-breadboard-400-points.html?search_query=breadboard+400&results=20 | |
+ | | Jumper wires | 4.99 |https://www.optimusdigital.ro/ro/fire-fire-mufate/884-set-fire-tata-tata-40p-10-cm.html?search_query=fire+tata+tata&results=72 | | ||
- | Componente suplimentare pot fi adăugate ulterior. | + | Se mai pot adauga componente ulterior. |
+ | |||
+ | ^ **Preț total:** ||||^ **148.54** ^ | ||
+ | |||
+ | ===== Imagini componente ===== | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | ==== Laboratoare folosite ==== | ||
- | <note tip> | + | * **Laboratorul 0 – GPIO** → folosit pentru configurarea pinilor pentru butoane. |
- | Descrierea codului aplicaţiei (firmware): | + | * **Laboratorul 1 – UART** → folosit pentru a afișa informații de debug în consola serială. |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * **Laboratorul 2 – Întreruperi** → folosit pentru tratarea apasărilor de buton folosind debouncing. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * **Laboratorul 6 – I2C** → folosit pentru afișajul pe ecran. |
- | * 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 55: | Line 64: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Github: https://github.com/AndreeaViky/pong_game | ||
+ | YouTube: | ||
===== Download ===== | ===== Download ===== | ||
Line 77: | 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/ |