DICE&ROLL
Introducere
Acest proiect are ca scop crearea unui sistem automatizat numit “DICE AND ROLL” pentru “dat cu zarul” și jucarea unui joc interactiv de tip Barbut pentru doi jucători. Sistemul îmbină componentele mecanice cu procesarea de imagine pentru a citi și afișa automat rezultatele, oferind o experiență de joc inedită și complet independentă de intervenția umană în citirea scorului.
Descriere generală
Proiectul constă într-un sistem automatizat de “dat cu zarul” și un joc interactiv de tip Barbut pentru doi jucători. Sistemul folosește un pahar acționat de un servomotor pentru a amesteca zarurile fizice. O cameră montată deasupra paharului preia o imagine, iar microcontroller-ul procesează imaginea pentru a număra punctele de pe zaruri (Computer Vision). Rezultatul fiecărui jucător este afișat pe un ecran LCD, iar la final sistemul compară scorurile și declară câștigătorul.
Schema Bloc
Input: 2x Butoane (Jucător 1, Jucător 2)
Procesare: ESP32-CAM (analiză imagine, logică joc)
Output: Servomotor (amestecare), Ecran LCD I2C (afișare scor)
Hardware Design
Lista de piese (Bill of Materials):
Placă ESP32-CAM (cu cameră OV2640): Microcontroller-ul central care gestionează logica jocului, face pozele și procesează imaginea pentru a număra punctele.
Servomotor SG90: Acționează mecanic paharul pentru a amesteca zarurile fizice la comanda microcontroller-ului.
Ecran LCD 1602 cu modul I2C: Afișează instrucțiunile, punctajul detectat și mesajul cu câștigătorul jocului.
Modul Programator FTDI (CP2102/CH340): Folosit doar pentru a încărca codul de pe PC pe placa ESP32-CAM.
Modul alimentare Breadboard (MB102): Asigură curent stabil (5V) pentru componente, vital pentru prevenirea resetărilor atunci când motorul și camera funcționează simultan.
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.
Software Design
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
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.