This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:mihnea_andrei.cazan [2026/05/10 00:07] mihnea_andrei.cazan [Tabel de Conexiuni] |
pm:prj2026:bianca.popa1106:mihnea_andrei.cazan [2026/05/10 00:10] (current) mihnea_andrei.cazan [Descriere generală] |
||
|---|---|---|---|
| Line 9: | Line 9: | ||
| * **The idea** originated from the desire to recreate the experience of 80s/90s arcade games on a minimal hardware platform, demonstrating how limited memory resources (32KB Flash, 2KB RAM) can provide a complete interactive experience. | * **The idea** originated from the desire to recreate the experience of 80s/90s arcade games on a minimal hardware platform, demonstrating how limited memory resources (32KB Flash, 2KB RAM) can provide a complete interactive experience. | ||
| * **This project is highly useful** from an educational standpoint, as it deepens the understanding of fundamental concepts (I2C communication protocols, ADCs, Timers, PWM, and Hardware Interrupts), while also resulting in a functional and entertaining gadget. | * **This project is highly useful** from an educational standpoint, as it deepens the understanding of fundamental concepts (I2C communication protocols, ADCs, Timers, PWM, and Hardware Interrupts), while also resulting in a functional and entertaining gadget. | ||
| - | ===== Descriere generală ===== | + | ===== General Description ===== |
| The console is structured into three main blocks: input, processing, and output. | The console is structured into three main blocks: input, processing, and output. | ||
| Line 20: | Line 20: | ||
| {{ :pm:prj2026:bianca.popa1106:project_block_diagram.png?700x500 |}} | {{ :pm:prj2026:bianca.popa1106:project_block_diagram.png?700x500 |}} | ||
| - | ===== Hardware Design ===== | ||
| - | |||
| - | Lista componentelor folosite pentru proiect (BOM - Bill of Materials): | ||
| - | * **ATmega328P Xplained Mini** Development Board (8-bit AVR Microcontroller) | ||
| - | * **0.96" OLED Display** (SSD1306 Controller, I2C Interface, 128x64 resolution) | ||
| - | * **Biaxial Analog Joystick Module** (KY-023 type) cu buton de push integrat (SW) | ||
| - | * **Passive Buzzer 3.3V** (pentru generarea de efecte sonore) | ||
| - | * **5mm RGB LED** (Common Cathode, pentru indicarea stării consolei) | ||
| - | * **2 x Tact Switch Buttons 6x6mm** (Pentru funcțiile START și PAUSE) | ||
| - | * **4 x 220Ω Resistors** (3 pentru limitarea curentului pe LED-ul RGB, 1 pentru protecția buzzer-ului) | ||
| - | * **830 Tie-Points Breadboard** (pentru asamblare fără lipire) | ||
| - | * **Dupont Wire Set** (Tată-Tată și Mamă-Tată) | ||
| - | |||
| - | **Schema Electrică:** | ||
| - | |||
| - | {{:pm:prj2026:bianca.popa1106:mihnea-andrei_cazan_schema_electrica.png?700x500 | Schema electrică a consolei}} | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| - | List of components used for the project (BOM - Bill of Materials): | + | List of components used for the project (Bill of Materials): |
| * **ATmega328P Xplained Mini** Development Board (8-bit AVR Microcontroller) | * **ATmega328P Xplained Mini** Development Board (8-bit AVR Microcontroller) | ||
| * **0.96" OLED Display** (SSD1306 Controller, I2C Interface, 128x64 resolution) | * **0.96" OLED Display** (SSD1306 Controller, I2C Interface, 128x64 resolution) | ||
| Line 50: | Line 34: | ||
| * **Dupont Wire Set** (Male-to-Male and Female-to-Male) | * **Dupont Wire Set** (Male-to-Male and Female-to-Male) | ||
| - | **Electrical Schematic:** | + | **Electrical Scheme:** |
| {{:pm:prj2026:bianca.popa1106:mihnea-andrei_cazan_schema_electrica.png?700x500 | Mini Console Electrical Schematic}} | {{:pm:prj2026:bianca.popa1106:mihnea-andrei_cazan_schema_electrica.png?700x500 | Mini Console Electrical Schematic}} | ||
| Line 83: | Line 67: | ||
| * **Timer1 (CTC Mode):** Generates precise hardware frequencies for musical notes sent to the buzzer, offloading the CPU from using blocking delay functions. | * **Timer1 (CTC Mode):** Generates precise hardware frequencies for musical notes sent to the buzzer, offloading the CPU from using blocking delay functions. | ||
| - | ==== Protocoale de Comunicație și Periferice Hardware ==== | ||
| - | |||
| - | Pentru a gestiona simultan display-ul, input-ul analogic și efectele vizuale/sonore fără să se blocheze, sistemul folosește intens perifericele hardware ale microcontroller-ului: | ||
| - | * **I2C (TWI):** Activat pe pinii PC4/PC5. Este configurat în **Fast Mode (400 kHz)** pentru a asigura transferul rapid al frame-buffer-ului către display-ul OLED (menținând ~30 FPS). | ||
| - | * **ADC:** Canalele ADC0 și ADC1 sunt folosite pentru citirea fluidă a joystick-ului, utilizând un prescaler de 128 pentru stabilitate. | ||
| - | * **Semnale PWM:** Timerele 0 și 2 generează semnale PWM hardware pe 3 pini independenți pentru a controla intensitatea și mixarea culorilor pe LED-ul RGB. | ||
| - | * **Timer1 (CTC Mode):** Generare de frecvențe hardware precise pentru notele muzicale transmise către buzzer, degrevând procesorul de folosirea funcțiilor blocante de tip delay. | ||
| ===== Software Design ===== | ===== Software Design ===== | ||