This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:marina.simion05 [2026/05/07 01:32] marina.simion05 |
pm:prj2026:bianca.popa1106:marina.simion05 [2026/05/11 17:52] (current) marina.simion05 [Hardware Design] |
||
|---|---|---|---|
| Line 8: | Line 8: | ||
| **Scop** | **Scop** | ||
| + | |||
| Scopul proiectului este să transform un joc simplu și cunoscut într-o experiență mai atractivă și mai modernă. Pe lângă regulile de bază ale jocului, sistemul adaugă feedback vizual, posibilitatea de a alege între mai multe moduri de joc și un element de strategie, deoarece jucătorul trebuie să decidă când merită să păstreze o carte și când este mai bine să riște pentru una mai bună. | Scopul proiectului este să transform un joc simplu și cunoscut într-o experiență mai atractivă și mai modernă. Pe lângă regulile de bază ale jocului, sistemul adaugă feedback vizual, posibilitatea de a alege între mai multe moduri de joc și un element de strategie, deoarece jucătorul trebuie să decidă când merită să păstreze o carte și când este mai bine să riște pentru una mai bună. | ||
| **Idee** | **Idee** | ||
| + | |||
| Ideea a pornit de la dorința de a realiza un proiect ușor de înțeles pentru oricine, dar care să nu fie doar o simplă simulare software. Am vrut ca utilizatorul să interacționeze fizic cu jocul, iar fiecare rundă să includă un mic factor de risc și anticipare, asemănător jocurilor de noroc, dar într-un context simplu și controlat. | Ideea a pornit de la dorința de a realiza un proiect ușor de înțeles pentru oricine, dar care să nu fie doar o simplă simulare software. Am vrut ca utilizatorul să interacționeze fizic cu jocul, iar fiecare rundă să includă un mic factor de risc și anticipare, asemănător jocurilor de noroc, dar într-un context simplu și controlat. | ||
| - | ** Utilitatea proiectului ** | + | ** Utilitate** |
| Consider că proiectul este util deoarece oferă o variantă modernă și interactivă a unui joc clasic, ușor de folosit și de înțeles. În plus, poate fi jucat atât singur, împotriva unui adversar automat, cât și în doi jucători. Pentru mine, proiectul este o ocazie de a duce o idee simplă până la un produs funcțional, cu reguli clare, interacțiune fizică și feedback vizual. | Consider că proiectul este util deoarece oferă o variantă modernă și interactivă a unui joc clasic, ușor de folosit și de înțeles. În plus, poate fi jucat atât singur, împotriva unui adversar automat, cât și în doi jucători. Pentru mine, proiectul este o ocazie de a duce o idee simplă până la un produs funcțional, cu reguli clare, interacțiune fizică și feedback vizual. | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | <note tip> | + | Arhitectura proiectului este construită în jurul microcontrollerului **ATmega2560**, care coordonează logica jocului, interacțiunea cu utilizatorul și feedback-ul vizual. Sistemul este împărțit în mai multe module: input de la jucători, afișare pe display-uri, control al LED-urilor și transmitere de informații pentru debugging. |
| - | DDL 9MAI | + | |
| - | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | {{:pm:prj2026:bianca.popa1106:schema_bloc_pm.drawio.png?700|}} |
| - | </note> | + | |
| + | **Microcontrollerul ATmega2560:** | ||
| + | Este componenta centrală a sistemului. Acesta gestionează logica jocului de tip „Război”, generarea pseudo-aleatoare a cărților, schimbarea rundelor, verificarea câștigătorului și comportamentul adversarului automat. Tot el primește comenzile de la butoane, citește valoarea potențiometrului și controlează afișajele și LED-urile. | ||
| + | |||
| + | **Display-urile OLED I2C:** | ||
| + | Sistemul folosește cinci display-uri OLED pentru afișarea informațiilor din joc. Fiecare jucător are câte două display-uri: unul pentru cartea extrasă și unul pentru scorul curent. Al cincilea display este folosit pentru starea generală a jocului, afișând mesaje precum începutul rundei, rândul jucătorului, rezultatul rundei sau finalul jocului. | ||
| + | |||
| + | **Multiplexorul I2C:** | ||
| + | Deoarece display-urile OLED folosesc aceeași adresă I2C, acestea sunt conectate printr-un multiplexor I2C. Microcontrollerul selectează pe rând canalul dorit, astfel încât poate comunica separat cu fiecare display. | ||
| + | |||
| + | **Butoanele fizice:** | ||
| + | Butoanele sunt folosite atât pentru configurarea inițială a jocului, cât și pentru acțiunile din timpul rundelor. La început, acestea permit confirmarea alegerilor făcute, precum modul de joc sau setările inițiale, și pornirea efectivă a jocului. În timpul jocului, butoanele sunt folosite pentru acțiuni precum extragerea unei cărți sau oprirea la cartea curentă. | ||
| + | |||
| + | **Switch-ul pentru modul de joc:** | ||
| + | Switch-ul permite alegerea modului de joc: Player vs AI sau Player vs Player. În funcție de poziția acestuia, microcontrollerul schimbă modul în care este controlat adversarul. | ||
| + | |||
| + | **Potențiometrul:** | ||
| + | Potențiometrul este folosit în modul Player vs AI pentru reglarea agresivității adversarului automat: ușor, mediu sau dificil. În funcție de valoarea citită, AI-ul poate lua decizii mai prudente sau mai riscante, de exemplu dacă păstrează o carte sau încearcă să obțină una mai bună. | ||
| + | **Banda LED RGB:** | ||
| + | LED-urile oferă feedback vizual pentru starea jocului. Acestea pot indica câștigarea sau pierderea unei runde și pot crea animații simple pentru a face jocul mai atractiv. | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| <note tip> | <note tip> | ||
| Aici puneţi tot ce ţine de hardware design: -- DDL 11 MAI | Aici puneţi tot ce ţine de hardware design: -- DDL 11 MAI | ||
| - | * listă de piese -- DDL 9 MAI | ||
| * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | ||
| * diagrame de semnal | * diagrame de semnal | ||
| * rezultatele simulării | * rezultatele simulării | ||
| </note> | </note> | ||
| + | |||
| + | ^ Componentă ^ Cod/Model ^ Cantitate ^ Rol ^ | ||
| + | | Placă Arduino Mega | ATmega2560 | 1 | Controlează logica jocului și toate modulele| | ||
| + | | Display OLED I2C | SSD1306, 0.96” | 5 | Afișează cărțile, scorurile și starea jocului| | ||
| + | | Multiplexor I2C | TCA9548A | 1 | Permite conectarea celor 5 display-uri OLED| | ||
| + | | Bandă LED RGB | WS2812B | 2 | Oferă feedback vizual pentru jucători și rezultat| | ||
| + | | Potențiometru | 10kΩ | 1 | Reglează agresivitatea AI-ului | | ||
| + | | Switch | ON-ON | 1 | Selectează modul Player vs AI sau Player vs Player | | ||
| + | | Buton | Buton cu revenire | 5 | Confirmă alegerile, pornesc jocul și controlează acțiunile | | ||
| + | | Condensator electrolitic | 100 µF, ≥ 6.3 V | 2 | Stabilizează alimentarea benzii LED | | ||
| + | | Placă de prototipare | PCB perforat 4 x 6 | 2 | Suport pentru montarea componentelor | | ||
| + | | Rezistență | 330Ω | 2 | Protejează linia de date către WS2812B | | ||
| ===== Software Design ===== | ===== Software Design ===== | ||