2048 PE LCD

Autor: Blaj Alexandru Dragos

Introducere

Proiectul consta in implementarea jocului 2048 folosind o placuta Arduino si un ecran LCD. In implementare voi folosi butoane. Jocul trebuie sa permita player-ului sa ajung la numarul 2048 prin adunari succesive. Am gasit un proiect asemanator in anii trecuti si mi-a atras atentia. Voi putea folosi cunostintele invatate la PM construind un joc distractiv si antrenant.

Descriere generala

Jocul va contine 4 butoane, 4 pentru deplasarea pe tabla de joc. La intalnirea a doua patrate cu numar identic se formeaza un singur patrat purtand ca numar suma celor 2 patrate din care a fost format. Jocul se termina cand jucatorul ajunge la numarul 2048 sau nu mai are mutari valide.

Hardware Design

Lista de piese

  • Arduino UNO
  • LCD 7920
  • Breadbord
  • 4 x rezistente 1k ohm
  • Fire tata-tata si tata-mama
  • 4 x Butoane Push

Schema Electrica

Am folosit un LCD ST7920 pe care l-am conectat astfel:

GND → GND

VCC → 5V

RS → D10

R/W → D11

E → D13

PSB → GND

RST → D8

BLA → 3.3V

BLK → GND

Pentru cele 4 butoane am folosit pinii DB3, DB4, DB5, DB6.

Software Design

Jocul porneste direct si putem selecta directia de deplasare a numerelor folosind cele 4 butoane.

  • Primul buton il folosim pentru a deplasa numerele in stanga.
  • Al doilea buton il folosim pentru a deplasa numerele in sus.
  • Al treilea buton il folosim pentru a deplasa numerele in jos.
  • Al patrulea buton il folosim pentru a deplasa numerele in drepta.

Tabla de joc este o matrice de 4×4 si la inceput doar 2 patrate din 16 au numar si sunt selectate aleatoriu.

La o mutare valida se alege aleatoriu un patrat din tabela, care nu contine numar, si i se atribuie o valoare de 2 sau 4.

Cand jucatorul ajunge la numarul 2048 jocul se termina afisand mesajul “Game Won” si se reinitializeaza tabela de joc.

Daca jucatorul nu mai are mutari valide jocul se termina afisand mesajul “Game Lost” si se reinitializeaza tabela de joc.

Mediu de dezvoltare folosit este “Arduino IDE” si am folosit biblioteca “U8g2lib” pentru ecranul LCD ST7920.

Rezultate obtinute

Concluzii

Proiectul il consider un succes si este implementat in totalitate. Mi-a placut sa lucrez la acest proiect, deoarece am putut sa implementez un joc pe hardware si sa vad cum functioneaza. Am invatat sa lucrez mai bine pe arduino si cu un LCD folosind bibliotecile potrivite.

Download

Bibliografie/Resurse

pm/prj2021/apredescu/2048pelcd.txt · Last modified: 2021/06/02 20:45 by alexandru.blaj1404
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