This is an old revision of the document!
Proiectul consta in implementarea unui slot machine functional pe placa de dezvoltare ATmega328P Xplained Mini. Ideea a pornit de la dorinta de a crea un joc interactiv care sa semene cat mai mult cu aparatele de tip pacanea din viata reala, folosind componente hardware accesibile si microcontrollerul AVR pe 8 biti.
Proiectul afiseaza animatii de spinning cu simboluri colorate pe un ecran TFT color de 1.8 inch, reda sunete realiste prin un modul MP3 dedicat (DFPlayer Mini) si ofera feedback vizual prin butoane arcade iluminate. Jucatorul poate alege miza, poate roti rolele si poate participa la un mini-joc de tip “Red or Black” dupa fiecare castig, exact ca la aparatele reale.
Scopul proiectului este sa demonstreze utilizarea eficienta a perifericelor microcontrollerului ATmega328P (SPI, UART, GPIO, Timere, PWM, EEPROM) intr-un produs fizic interactiv si atractiv vizual.
Proiectul este util ca exemplu de integrare hardware-software pentru aplicatii embedded cu interfata grafica, sunet si interactiune cu utilizatorul.
Proiectul este structurat in mai multe module hardware si software care interactioneaza intre ele:
Modulul de afisare - Display TFT color 1.8 inch (ST7735S) conectat prin interfata SPI. Afiseaza simbolurile rolelor, animatia de spinning, creditele curente, miza selectata si mesajele de castig/pierdere.
Modulul de sunet - Modul DFPlayer Mini conectat prin UART (TX/RX). Citeste fisiere MP3 de pe un card microSD si le reda printr-un difuzor de 8 ohmi. Produce sunete diferite pentru spinning, castig, pierdere si jackpot.
Modulul de control - 4 butoane arcade iluminate (2 galbene, 2 verzi) conectate pe pinii GPIO ai microcontrollerului. Butoanele SPIN si BET+ sunt folosite in jocul principal, iar butoanele RED si BLACK sunt folosite in mini-jocul “Double or Nothing”.
Modulul de logica a jocului - Implementat in software pe ATmega328P. Gestioneaza starea jocului, genereaza numere aleatoare pentru simboluri, calculeaza castigurile si coordoneaza toate celelalte module.
Modulul de stocare persistenta - Memoria EEPROM interna a ATmega328P salveaza creditele curente si statisticile jocului (total spinuri, cel mai mare castig) chiar si dupa deconectarea alimentarii.
Schema bloc a interactiunii dintre module:
^ Componenta ^ Cantitate ^ Rol in proiect ^
| ATmega328P Xplained Mini | 1 | Microcontroller principal |
| Display TFT color 1.8” ST7735S | 1 | Afisarea jocului si animatiilor |
| Modul DFPlayer Mini (TF-16P) | 1 | Redare sunete MP3 realiste |
| Difuzor ultra-slim 40mm 8 ohm 0.5W | 1 | Iesire audio |
| Card microSD (orice capacitate) | 1 | Stocare fisiere audio MP3 |
| Buton arcade iluminat galben 24mm | 2 | SPIN si RED (joc principal + Red/Black) |
| Buton arcade iluminat verde 24mm | 2 | BET+ si BLACK |
| Breadboard + fire dupont | 1 set | Conexiuni hardware |
| Rezistenta 1k ohm | 1 | Protectie pin RX DFPlayer |
| Rezistenta 220 ohm | 4 | Limitare curent LED-uri butoane arcade |
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.