Scopul proictului este implementarea unui joc Tetris, unul din cele mai populare jocuri de tip puzzle, pe o placuta cu microcontroler ATMEGA16. Controlul blocurilor (tetromino-urilor) se face prin intermediul a 4 butoane conectate la placuta. Afisajul se face pe un LCD de la un telefon NOKIA 3310.
Piesele folosite pentru interconectarea LCD-ului cu placuta de baza sunt:
Conexiune pini microcontroler → LCD:
Tensiunea de alimentare a LCD de ~3V3 am obtinut-o prin legarea celor 2 diode la Vcc. La CLK, DATA, DATA/CMD ENABLE si RESET am folosit cate un divizor de tensiune (realizat cu rezistentele de 1k8 şi 3k3).
Conectare butoane cu AMTEGA16 → porturile PA0..PA3
Mediu de dezvoltare: Notepad++
Compilator: avr-gcc
Pentru comunicatia cu LCD am pornit de la acest API
Implemetarea jocului Tetris:
Display-ul LCD are o rezolutie de 84 x 48 pixeli, care din pacate dupa ore de chin cu lipitul s-a modificat in 84×28 . Primul pas a fost implementarea unei functii care sa creeze blocuri din care sunt formate piesele (dimensiune 2 x 2 pixeli). Dupa care destul de simplu am creat functiile pt afisarea fiecarei piese.
Pentru realizarea logicii jocului retin starea ecranului de joc si verific daca la urmatorul pas va aparea coliziune.
TODO: