Diana-Maria MICU - 2048 cu LED-uri

Autorul poate fi contactat la adresa: Login pentru adresa

Tema proiect

Tema proiectului este de a dezvolta un joc 2048, folosind LED-uri RGB si microcontroller-ul ATMEGA324PA-PU.

Descriere generală

Jocul este la fel ca jocul clasic 2048, cu mentiunea ca valorile numerice vor fi inlocuite cu diferite culori ale LED-urilor. Scorul va fi afisat pe un 8 Segment Display, o sa existe de asemenea si un Buzzer care va scoate diferite sunete la mutari, atunci cand jucatorul pierde sau castiga jocul. Jocul va fi controlat din 4 butoane, va mai exista si un buton de reset pentru a incepe jocul de la inceput.

Schema bloc

Hardware Design

Componente

Denumire componenta Cost
9 X LED RGB cu Catod Comun 15.00 RON
9 D-MUX - 4:1 18 RON
9 x Placa de teste 12.00 RON
22 x Cabluri cu mufe mama-mama 14.00 RON
27 x Rezistente de 220 ohmi 3.00 RON
3 x Barete tata tata 1:40 3.00 RON
4 x Pushbutton 8.00 RON
1 x 8 Segment display 4.00 RON

Schema electrica

Software Design

Am scris un program care aprinde diferite pattern-uri pe placa pentru a testa controlul independent al LED-urilor RGB. Pattern-urile se pot schimba la apasarea butonului BTN legat la PD7 pe placa. Programul este unul destul de simplu dar asigura testarea functionalitatii acestora. Vezi sursele mai jos:

diana_maria_micu_sursepm2016.zip

Rezultate Obţinute

Proiectu initial presupunea realizarea unui joc 2048 pe o matrice de led-uri RGB de dimensiune 4 x 4. Datorita limitarilor hardware din punct de vedere al alimentarii si a numarului de pini necesari pentru controlul matricii de LED-uri am fost nevoita sa renunt la dimensiunea de 4 x 4 si sa incerc cu dimensiunea 3 x 3 pentru a reduce numarul de pini. Initial am incercat sa fac controlul independent al culorii led-urilor folosind o schema mai veche intalnita in lista de proiecte de pe wiki ce folosea tranzistoare, aceasta abordare insa a esuat. Ulterior am incercat sa abordez o noua strategie, aceea de a folosi demultiplexoare (D-MUX), un D-MUX 32:1 fiind suficient pentru a controla toate LED-urile matricii RGB independent, folosind doar 5 pini de pe placa de baza. Din cauza faptului ca nu am gasit un astfel de demultiplexor am incercat o abordare ce presupuna folosirea a 9 D-MUX-uri 4:1 astfel reducand numarul de pini necesari controlarii unui LED din matrice de la 3 la 2, numarul total de pini necesari fiind doar 18. Am implementat placa folosind aceste D-MUX-uri insa am avut probleme in programarea acestora care era destul de dificila deoarece selectia unui LED din matrice presupunea ceva mult mai complex si numarul de pini necesari tot nu era suficient de mic.

Concluzii

Din pacate proiectul a ramas doar la stadiul de implementare a hardware-ului, partea software fiind destul de dificila din cauza faptului ca trebuiau controlate 9 D-MUX-uri si codul ar fi fost mult mai dificil de realizat pentru joc. Placa actuala permite selectia independenta a culorii led-urilor cu un numar mult mai mic de pini insa acesta ne fiind redus cu foarte mult partea sofftware ramane totusi dificil de implementat. Chiar si asa tot nu ar mai ramane destui pini si pentru controale, afisajul scorului si si conectarea buzzer-ului mentionate in proiectul initial.

pm/prj2016/adraghici/2048.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0