This shows you the differences between two versions of the page.
|
pm:prj2026:cezar.zlatea:vlad.vlasceanu2901 [2026/05/07 16:26] vlad.vlasceanu2901 created |
pm:prj2026:cezar.zlatea:vlad.vlasceanu2901 [2026/05/17 03:08] (current) vlad.vlasceanu2901 |
||
|---|---|---|---|
| Line 10: | Line 10: | ||
| Sistemul include scor, vieti, highscore si feedback sonor prin buzzer. | Sistemul include scor, vieti, highscore si feedback sonor prin buzzer. | ||
| + | |||
| + | ===== Descriere generala ===== | ||
| + | |||
| + | {{schema.png?600}} | ||
| + | |||
| + | Modulele proiectului si modul in care interactioneaza: | ||
| + | |||
| + | * ATmega328P controleaza logica jocurilor si interactioneaza cu toate modulele | ||
| + | * Matricea 3x3 de butoane iluminate afiseaza secventele si permite introducerea raspunsurilor utilizatorului | ||
| + | * Display-ul LCD I2C afiseaza meniul, scorul, vietile si highscore-ul | ||
| + | * Cele doua butoane de meniu permit selectarea jocului si navigarea prin interfata | ||
| + | * Buzzerul ofera feedback audio pentru raspunsuri gresite si evenimente importante | ||
| + | |||
| + | La pornire, utilizatorul vede pe LCD cele doua jocuri disponibile si poate selecta unul dintre ele folosind butoanele laterale. Dupa selectare, sistemul afiseaza highscore-ul pentru jocul ales si permite pornirea jocului. | ||
| + | |||
| + | In timpul jocului, LCD-ul afiseaza scorul si numarul de vieti ramase. Utilizatorul are initial 3 vieti, iar la fiecare raspuns gresit pierde o viata si buzzerul emite un semnal sonor. Dificultatea jocurilor creste progresiv prin marirea lungimii secventelor si reducerea timpului de afisare. | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| Line 15: | Line 31: | ||
| ==== Lista de componente ==== | ==== Lista de componente ==== | ||
| - | * ATmega328P Xplained Mini | + | ^ Nr. ^ Componenta ^ Cantitate ^ Rol in proiect ^ Interfata folosita ^ |
| - | * Display LCD 1602 I2C | + | | 1 | ATmega328P Xplained Mini | 1 buc | Unitatea centrala de procesare | - | |
| - | * Butoane iluminate x11 | + | | 2 | Display LCD 1602 cu modul I2C | 1 buc | Afisarea meniului, scorului si vietilor | I2C (SDA, SCL) | |
| - | * Buzzer pasiv 5V | + | | 3 | Butoane iluminate cu LED (verde) | 9 buc | Matricea 3x3 pentru introducerea raspunsurilor | GPIO | |
| - | * Rezistente 220 ohm | + | | 4 | Butoane simple PCB 12x12mm | 2 buc | Navigarea in meniu si selectarea jocului | GPIO | |
| - | * Breadboard 830 puncte | + | | 5 | Buzzer pasiv 5V | 1 buc | Feedback audio pentru raspunsuri si evenimente | PWM | |
| - | * Fire jumper | + | | 6 | Rezistoare 220 ohm | 9 buc | Limitarea curentului pentru LED-urile butoanelor | - | |
| + | | 7 | Breadboard 830 puncte MB-102 | 1 buc | Distributia alimentarii si conexiunilor | - | | ||
| + | | 8 | Fire jumper tata-tata si mama-tata | 1 set | Realizarea conexiunilor intre componente | - | | ||
| + | ==== Conexiuni si schema de cablare ==== | ||
| + | |||
| + | **Matricea de butoane:** | ||
| + | Cele 9 butoane sunt organizate intr-o matrice 3x3 folosind 6 pini in loc de 9. | ||
| + | Trei pini (PD2, PD3, PD4) controleaza randurile, iar alti trei (PD5, PD6, PD7) controleaza coloanele. | ||
| + | La scanare, microcontrollerul pune pe rand fiecare linie la LOW si citeste cele 3 coloane. | ||
| + | Daca o coloana citeste LOW, butonul de la intersectia dintre linia activa si acea coloana este apasat. | ||
| + | Pinii de coloana folosesc rezistenta pull-up interna a ATmega328P (INPUT_PULLUP). | ||
| + | |||
| + | **LED-urile butoanelor:** | ||
| + | Fiecare LED este controlat individual printr-un pin digital dedicat. | ||
| + | Curentul este limitat printr-o rezistenta de 220 ohm montata pe breadboard intre pinul ATmega si pinul LED al butonului. | ||
| + | |||
| + | **Alimentare:** | ||
| + | VCC (5V) si GND de pe placa sunt conectate la liniile de alimentare ale breadboard-ului, | ||
| + | de unde sunt distribuite catre toate componentele. | ||
| + | |||
| + | |||
| + | ==== Descrierea pinilor folositi ==== | ||
| + | |||
| + | Alocarea pinilor s-a bazat pe arhitectura interna a ATmega328P, rezervand pinii dedicati pentru perifericele hardware specifice. | ||
| + | |||
| + | ^ Pin ATmega328P ^ Rol ^ | ||
| + | | PC4 (SDA) | Display LCD I2C - linia de date | | ||
| + | | PC5 (SCL) | Display LCD I2C - linia de ceas | | ||
| + | | PC3 | Buzzer pasiv | | ||
| + | | PD0 | Buton meniu 1 | | ||
| + | | PD1 | Buton meniu 2 | | ||
| + | | PD2 | Matrice butoane - Rand 1 | | ||
| + | | PD3 | Matrice butoane - Rand 2 | | ||
| + | | PD4 | Matrice butoane - Rand 3 | | ||
| + | | PD5 | Matrice butoane - Coloana 1 | | ||
| + | | PD6 | Matrice butoane - Coloana 2 | | ||
| + | | PD7 | Matrice butoane - Coloana 3 | | ||
| + | | PB0 | LED buton (1,1) | | ||
| + | | PB1 | LED buton (1,2) | | ||
| + | | PB2 | LED buton (1,3) | | ||
| + | | PB3 | LED buton (2,1) | | ||
| + | | PB4 | LED buton (2,2) | | ||
| + | | PB5 | LED buton (2,3) | | ||
| + | | PC0 | LED buton (3,1) | | ||
| + | | PC1 | LED buton (3,2) | | ||
| + | | PC2 | LED buton (3,3) | | ||
| + | |||
| + | ==== Schema electrica ==== | ||
| + | (screenshot Tinkercad) | ||
| + | |||
| + | ==== Vedere de ansamblu hardware ==== | ||
| + | {{poza_proiect_neterminat.jpeg?600}} | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| Line 30: | Line 97: | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| + | |||
| [[https://www.microchip.com/en-us/product/atmega328p|Datasheet ATmega328P]] | [[https://www.microchip.com/en-us/product/atmega328p|Datasheet ATmega328P]] | ||