This shows you the differences between two versions of the page.
|
pm:prj2026:ciprian.popescu0411:dice [2026/05/08 19:30] andrei.cotiga [Schema Bloc] |
pm:prj2026:ciprian.popescu0411:dice [2026/05/15 19:58] (current) andrei.cotiga [Hardware Design] |
||
|---|---|---|---|
| Line 10: | Line 10: | ||
| ===== Schema Bloc ===== | ===== Schema Bloc ===== | ||
| - | {{:pm:prj2026:ciprian.popescu0411:schema_bloc_dice_and_roll.png?200|}} | + | {{:pm:prj2026:ciprian.popescu0411:schema_bloc_dice_and_roll.png?600|}} |
| - | • Input: 2x Butoane (Jucător 1, Jucător 2) | + | * Input: 2x Butoane (Jucător 1, Jucător 2) |
| - | • Procesare: ESP32-CAM (analiză imagine, logică joc) | + | * Procesare: ESP32-CAM (analiză imagine, logică joc) |
| - | • Output: Servomotor (amestecare), Ecran LCD I2C (afișare scor) | + | * Output: Servomotor (amestecare), Ecran LCD I2C (afișare scor) |
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| Lista de piese (Bill of Materials): | Lista de piese (Bill of Materials): | ||
| - | * Placa de dezvoltare ATmega328P Xplained Mini: Microcontrollerul principal care gestioneaza logica jocului, citirea input-urilor si controlul perifericelor. | + | * Placă ESP32-CAM (cu cameră OV2640): Microcontroller-ul central care gestionează logica jocului, face pozele și procesează imaginea pentru a număra punctele. |
| - | * Display OLED 0.96” SSD1306 cu interfata I2C: Ecran grafic utilizat pentru afisarea paletelor, mingii si scorului in timpul jocului. | + | * Servomotor SG90: Acționează mecanic paharul pentru a amesteca zarurile fizice la comanda microcontroller-ului. |
| - | * Module buton KY-004: 4 bucati utilizate pentru controlul paletelor celor doi jucatori prin miscari sus si jos. | + | * Ecran LCD 1602 cu modul I2C: Afișează instrucțiunile, punctajul detectat și mesajul cu câștigătorul jocului. |
| - | * Modul buzzer pasiv KY-006: Utilizat pentru generarea efectelor sonore controlabile prin software la coliziuni sau marcarea punctelor. | + | * Modul Programator FTDI (CP2102/CH340): Folosit doar pentru a încărca codul de pe PC pe placa ESP32-CAM. |
| - | * Breadboard 400 puncte: Folosit pentru realizarea conexiunilor hardware si prototiparea circuitului fara lipire. | + | * Modul alimentare Breadboard (MB102): Asigură curent stabil (5V) pentru componente, vital pentru prevenirea resetărilor atunci când motorul și camera funcționează simultan. |
| - | * Fire Dupont Tata-Tata si Tata-Mama: Utilizate pentru realizarea conexiunilor electrice intre placa de dezvoltare, module si breadboard. | + | * Sursă alimentare externă: Alimentator de perete (9V-12V) sau o baterie de 9V cu adaptor, necesar pentru a alimenta modulul MB102. |
| + | * Butoane: 2 bucăți ce permit Jucătorului 1 și Jucătorului 2 să "dea cu zarul" și să interacționeze cu sistemul. | ||
| + | * Rezistoare 10kΩ: 2 bucăți folosite ca rezistențe de pull-down pentru butoane, care previn declanșările false cauzate de zgomotul electromagnetic. | ||
| + | * Condensator electrolitic (ex. 470µF sau 1000µF, 10V+): Pus în paralel cu servo-ul pentru a absorbi șocurile de curent la pornirea mișcării mecanice. | ||
| + | * Condensator electrolitic (ex. 100µF, 10V+): Pus pe pinii de alimentare ai ESP32-CAM pentru a garanta stabilitatea camerei în momentul capturii. | ||
| + | * Breadboard: Placa de bază utilizată pentru conectarea tuturor firelor și prototiparea circuitului fără lipire. | ||
| + | * Set fire Dupont: Mamă-Mamă, Tată-Tată, Tată-Mamă, utilizate pentru realizarea tuturor conexiunilor electrice între componente. | ||
| + | * Pahar de plastic mic + 2 zaruri: 1 set folosit pentru partea mecanică și fizică a jocului. | ||
| + | |||
| + | Conexiunile hardware de pana acum sunt urmatoarele: | ||
| + | ^ Componenta ^ Pin componenta ^ Conectare ^ | ||
| + | | Programator FTDI CP2104 | 5V / VCC | 5V microcontroller | | ||
| + | | Programator FTDI CP2104 | GND | GND microcontroller | | ||
| + | | Programator FTDI CP2104 | TX | U0R (RX) microcontroller | | ||
| + | | Programator FTDI CP2104 | RX | U0T (TX) microcontroller | | ||
| + | |||
| + | ^ Componenta ^ Pin componenta ^ Conectare ^ | ||
| + | | Buton Jucator 1 | Pin alimentare | 3.3V breadboard | | ||
| + | | Buton Jucator 1 | Pin semnal (diagonala) | IO2 microcontroller | | ||
| + | | Buton Jucator 2 | Pin alimentare | 3.3V breadboard | | ||
| + | | Buton Jucator 2 | Pin semnal (diagonala) | IO12 microcontroller | | ||
| + | | Rezistoare 10kΩ | Capat 1 | Pin semnal buton (IO2, respectiv IO12) | | ||
| + | | Rezistoare 10kΩ | Capat 2 | GND breadboard | | ||
| + | |||
| + | ^ Componenta ^ Pin componenta ^ Conectare ^ | ||
| + | | Camera OV3660 3MP | Panglica FPC (24 pini) | Conector FPC dedicat pe placa ESP32-CAM | | ||
| + | |||
| + | ^ Componenta ^ Conectare ^ | ||
| + | | Breadboard | GND microcontroller -> bara GND breadboard | | ||
| + | | Breadboard | 3.3V microcontroller -> bara VCC (roșie) breadboard | | ||
| + | |||
| + | Breadboard-ul este utilizat pentru distribuirea conexiunilor de masă (GND) și alimentare (3.3V) către componentele externe. Deoarece placa ESP32-CAM nu dispune de o mufă USB integrată, alimentarea întregului sistem și scrierea codului se realizează prin intermediul modulului FTDI (CP2104) conectat direct la pinii 5V, GND, U0R și U0T. | ||
| + | |||
| + | Butoanele tactile sunt configurate hardware în modul Pull-down, folosind rezistoare externe de 10kΩ conectate între pinii de semnal și masă (GND). Astfel, în stare de repaus, microcontroller-ul citește un semnal stabil de LOW (0V), iar la apăsarea butonului circuitul se închide pe diagonală, trimițând un semnal de HIGH (3.3V) către pinii IO2 și IO12. Modulul camerei OV3660 este conectat direct pe placa de dezvoltare prin interfața sa dedicată și este configurat software pentru a servi ca IP web camera, fiind responsabil de capturarea imaginilor cu zarurile din interiorul paharului. | ||
| + | |||
| + | {{:pm:prj2026:ciprian.popescu0411:pozaq1dice.jpeg?600|}} | ||
| + | {{:pm:prj2026:ciprian.popescu0411:poza2dice.jpeg?600|}} | ||
| ===== Software Design ===== | ===== Software Design ===== | ||