Autorul poate fi contactat la adresa: Login pentru adresa
Prezentarea pe scurt a proiectului vostru:
Schema bloc proiect:
Lista de piese:
Recomand folosirea pentru conexiuni:
In felul acesta nu exista riscul de intreruperi de conexiuni.
PINI ATmega324A:
Registrii de deplasate inseriati:
Schema Matrice de Leduri RGB:
Matrice de Leduri RGB:
Am setat pinii necesari de input si output:
INFO:
--BUTOANE-- PB0 - UP PB1 - DOWN PB2 - CHANGE PB3 - RIGHT PB4 - LEFT --COLOANE MATRICE-- PA0 - COLUMN 0 PA1 - COLUMN 1 PA2 - COLUMN 2 PA3 - COLUMN 3 PA4 - COLUMN 4 --REGISTRI DE DEPLASARE-- PC0 - DATA-IN PC1 - CLOCK PC2 - LATCH
Precizare: Ulterior am decis sa pun coloanele pe PORTA (in schema sunt pe PORTC) si sa folosesc PORTC pentru pini registrilor de deplasare.
Am creat cateva functii pentru a ma ajuta sa incarc registrii de deplasare cu bitii coloanei curente. Folosind functiile de incarcare si functia de activarea a coloanelor independent am definit o functie de afisare matrice de joc si alte cateva functii de alterare a acesteia. Toate operatiile le fac pe matricea global definita, astfel memoria este folosita minim. Alte functii definite sunt cele de gameplay si functia principala a jocului. Toate aceste functii sunt comentate in cod.
Descriere functionalitate:
Pe matrice este afisat mesajul S.T.A.R.T dupa care incepe primul nivel. Dupa trecerea celor 5 nivele implementate, nivelele sunt generate random (functia a fost testata si este functionala, dar nu a fost implementata pe placa, am o versiune mai veche de AVR ce nu detine biblioteca time.h si nu pot compila codul pentru placuta deoarece foloseste functia rand() pentru generare random, astfel am decis sa comentez functia in cod si sa las doar cele 5 nivele).
Daca utimul nivel este trecut, este afisat un mesaj de G.A.M.E O.V.E.R si in loop un mesaj T.O.T.A.L V.I.C.T.O.R.Y.
Un proiect destul de ok daca te apuci din timp. Am invatat sa folosesc registrii de deplasare si multiplexare folosind tranzistoare. Sunt destul de multumit de rezultatul obtinut, cea mai satisfacatoare parte a fost sa construiesc eu matricea de leduri si sa imi iasa perfect din prima (cu putina bataie de cap si degete arse). Recomand viitoarelor generatii abordarea unui joc pe matrice de leduri.