Andrei BACHEȘ (67096) - Minesweeper

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul are ca scop implementarea jocului Minesweeper pe un display LCD. Deplasarea intre pozitiile jocului si actiunile asupra lor se vor face de catre jucator prin intermediul unor butoane.

Implementarea jocului imi este utila pentru dezvoltarea cunostintelor de proiectare si progamare cu microprocesoare.

Descriere generală

Prin intermediul a 4 butoane, jucatorul va putea parcurge grila de joc, iar prin intermediul altor 2 va putea realiza actiunile mark si uncover asupra pozitiilor de joc.

Microcontrollerul va procesa inputul primit de la utilizator si va afisa starea curenta a jocului pe display-ul LCD.

Hardware Design

Lista pieselor necesare:

  • Placa de baza PM2017
  • Butoane
  • Display LCD
  • Fire mama-mama
  • Pachet alimentare 3.3v

Schema electrica:

  • In plus fata de modulele standard necesare functionarii placii am adaugat modulul optional de alimentare a placii la 3.3v. Acest lucru este necesar pentru ca o parte din pinii LCD-ului necesita aceasta tensiune de alimentare.
  • Conectarea butoanelor de control a jocului si conectarea LCD-ului la microcontroller se realizeaza conform schemei urmatoare:

Software Design

  • Mediul de dezvoltare este AVR Studio
  • Implementarea proiectului se bazeaza pe libraria neoficiala a LCD-ului. In plus fata de comunicarea cu microcontrollerul, ea are implementate functii de desenare a caracterelor sau a unor figuri geometrice simple ce sunt folosite pentru afisarea starii jocului
  • Jucatorul va fi intampinat cu un mesaj, iar la apasarea butonului va incepe jocul.
  • Starea jocului este pastrata in memorie sub forma unei matrici de dimensiuni 8×8, iar pozitia cursorului este pastrata in coordonate x si y ce pot fi modificate prin apasarea butoanelor.

Rezultate Obţinute

  • Momentan nu am reusit sa testez decat daca toate piesele hardware functioneaza

Concluzii

  • E unul din cele mai interesante proiecte la care am lucrat in cadrul facultatii.
  • Ar fi fost mult mai bine daca realizam implementarea hardware mai rapid. Problemele aparute mi-au scurtat destul de mult timpul alocat programarii microcontroller-ului.
  • LCD-urile no-name sunt destul de greu de folosit pentru ca exista putina documentatie despre ele.

Download

Jurnal

  • 15 mai 2017: Am terminat de lipit LCD si butoane pe placuta auxiliara.
  • 19 mai 2017: Ars LCD din cauza jumper-ilor de alimentare pusi prost.
  • 22 mai 2017: Am schimbat LCD si am inceput implementarea codului.

Bibliografie/Resurse

  • Documentația în format PDF
pm/prj2017/ideaconu/potato.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