Table of Contents

Mini Game Console

Introducere

Mini Game Console este o consolă de jocuri portabilă de dimensiuni reduse, construită în jurul microcontrollerului ATmega328P Xplained Mini.

Descriere generală

Schema bloc a proiectului este prezentată mai jos. Microcontrollerul ATmega328P Xplained Mini reprezintă unitatea centrală care coordonează toate celelalte module.

Schemă bloc:

Schemă bloc Mini Game Console

Module și interacțiuni:

Laboratoare utilizate:

Hardware Design

Listă de piese

Nr. Componentă Cantitate Rol în proiect
1 ATmega328P Xplained Mini 1 buc. Microcontrollerul principal, creierul întregului sistem
2 Ecran OLED SSD1306 0.96” (I2C, 128×64) 1 buc. Afișarea jocului (Snake, Tetris), scorului și meniurilor
3 Butoane tactile PCB 6×6×5mm 6 buc. Control joc: Sus, Jos, Stânga, Dreapta, A (acțiune), B (pauză)
4 Buzzer pasiv 5V 1 buc. Efecte sonore: mâncare, plasare piesă, game over
5 Rezistențe 10kΩ 6 buc. Pull-down pentru butoane (opțional — se poate folosi pull-up intern)
6 Rezistență 100Ω 1 buc. Limitare curent buzzer
7 Condensatori 100nF 2 buc. Decuplare alimentare (stabilitate tensiune)
8 Breadboard 830 puncte 1 buc. Prototipare circuit fără lipire
9 Fire jumper M-M 1 set Conexiuni între componente pe breadboard
10 Fire jumper M-F 1 set Conexiuni de la placă la module externe
11 Cablu Micro-USB 1 buc. Alimentare 5V și programare ATmega de la laptop

Conexiuni hardware

Display OLED SSD1306 → ATmega328P:

Butoane → ATmega328P:

Buzzer Pasiv → ATmega328P:

Software Design

Mediu de dezvoltare

Librării și surse 3rd-party

Algoritmi și structuri planificate

Structura generală a firmware-ului:

  1. Inițializare — configurare GPIO, I2C, Timer1 (game loop), Timer2 (PWM buzzer), activare întreruperi globale
  2. Meniu principal — selecție joc (Snake / Tetris) prin butoane, afișat pe OLED
  3. Game loop — declanșat de Timer1 la ~100ms (10 FPS): citire stare butoane → actualizare logică joc → redesenare ecran
  4. ISR butoane — rutine de întrerupere pentru fiecare buton, cu debounce software (~20ms)
  5. ISR Timer2 — generare ton PWM pentru buzzer (frecvență variabilă în funcție de eveniment)

Joc Snake:

Joc Tetris:

Rezultate Obţinute

Această secțiune va fi completată după finalizarea proiectului.

Concluzii

Această secțiune va fi completată după finalizarea proiectului.

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

Bibliografie/Resurse

Resurse Hardware

Resurse Software

Export to PDF