Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:ciprian.popescu0411:dice [2026/05/08 19:30]
andrei.cotiga [Descriere generală]
pm:prj2026:ciprian.popescu0411:dice [2026/05/15 19:58] (current)
andrei.cotiga [Hardware Design]
Line 9: Line 9:
  
 ===== Schema Bloc =====  ===== Schema Bloc ===== 
- {{:​pm:​prj2026:​ciprian.popescu0411:​schema_bloc_dice_and_roll.png?​200|}} + 
-*Input: 2x Butoane (Jucător 1, Jucător 2) +{{:​pm:​prj2026:​ciprian.popescu0411:​schema_bloc_dice_and_roll.png?​600|}} 
-*Procesare: ESP32-CAM (analiză imagine, logică joc) +     Input: 2x Butoane (Jucător 1, Jucător 2) 
-*Output: Servomotor (amestecare),​ Ecran LCD I2C (afișare scor)+     Procesare: ESP32-CAM (analiză imagine, logică joc) 
 +     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 MiniMicrocontrollerul 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 paletelormingii si scorului in timpul ​jocului. +    Servomotor SG90: Acționează mecanic paharul pentru a amesteca zarurile fizice la comanda microcontroller-ului  
-      Module buton KY-0044 bucati utilizate ​pentru ​controlul paletelor celor doi jucatori prin miscari sus si jos+    * Ecran LCD 1602 cu modul I2C: Afișează instrucțiunilepunctajul detectat și mesajul cu câștigătorul ​jocului. ​  
-      * Modul buzzer pasiv KY-006Utilizat ​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 puncteFolosit ​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. ​  
 +    * Butoane2 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 camerafiind 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 =====
pm/prj2026/ciprian.popescu0411/dice.1778257829.txt.gz · Last modified: 2026/05/08 19:30 by andrei.cotiga
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0