Minesweeper LCD Game

Introducere

Minesweeper LCD Game este un proiect Arduino pentru a simula jocul Minesweeper cu placa Arduino UNO și ecranul Nokia 5110.
Minesweeper este un joc care a fost portat pe Microsoft Windows.
Jocul a aparut in deceniul anilor '60 și '70 și a fost reprodus pe numeroase platforme,
deși nu ar fi ajuns la faima sa decât după adaptarea făcută pentru Windows de către Robert Donner.

Descriere generală

Proiectul Minesweeper Arduino utilizează placa Arduino UNO pentru a controla logica jocului,
și ecranul Nokia 5110 pentru a afișa tabla de joc.
Jocul începe prin generarea unei grile de piese cu un număr aleatoriu de mine ascunse în interior.
Jucătorul interacționează cu jocul folosind butoane de tip push si un joystick conectate la placa Arduino.

Atunci când o piesă este dezvăluită, placa Arduino verifică dacă aceasta conține o mină,
și actualizează tabla de joc în consecință.La fiecare mutare buzzerul si led-ul vor fi activate.
Dacă piesa este sigură, placa de joc afișează numărul de piese adiacente care conțin mine.

Jucătorul câștigă jocul dezvăluind toate piesele sigure și pierde dacă dezvăluie o piesă cu o mină.

Hardware Design

- UNO R3 SMD, chip CH340
- 1 x Graphic LCD 84×48 - NOKIA 5110
- 1 x Buzzer
- 1 x LED
- 3 x Pushbuttons
- 1 x Analog Thumb Joystick
- Jumper Cables
- Breadborad (protoboard)
- 1 x USB cable
- 10 x Rezistors

In acest proiect cele trei butoane vor fi folosite pentru a demarca, marca si dezvalui piese.Daca o piesa cu bomba este dezvaluita LCD-ul va afisa un game over screen iar jocul se va reseta. LCD-ul, butoanele , buzzer-ul si led-ul sunt introduse in breadboard.

Modulul LCD Nokia 5110 are 8 pini,aceestia sunt:


!Este important de precizat faptul ca placa folosita are un chipset CH340,pentru care este necesar sa instalati un driver specific pentru a putea comunica cu aceasta. Acesta poate fi identificat cu usurinta prin cautarea numelui “driver CH340” pe internet.

Software Design

Programul pentru acest proiect este scris in C++ si și este destinat să ruleze pe o placă Arduino UNO în combinație cu un modul LCD Nokia 5110,și permite interacțiunea cu utilizatorul prin intermediul unui modul joystick și a trei butoane.

În cod sunt implementate diferite funcții și algoritmi necesari pentru funcționarea jocului MineSweeper. Acestea includ generarea și afișarea tablei de joc, plasarea minelor, detectarea poziției și verificarea pierderii sau câștigului jocului, precum și alte funcții auxiliare.

Jucătorul poate utiliza joystick-ul și butoanele pentru a se deplasa pe tabla de joc, a dezvălui căsuțe și a marca sau demarca posibilele mine.

* librării şi surse 3rd-party: 

In cod sunt folosite urmatoarele librarii:

SPI,ce permite comunicarea serială sincronă între Arduino și dispozitivele periferice care folosesc protocolul SPI

Adafruit GFX,ce furnizează funcții și metode pentru desenarea de forme geometrice și text pe ecrane grafice.

Adafruit PCD8544,ce specifică pentru controlul ecranului LCD Nokia 5110 și oferă funcții pentru inițializarea, afișarea și manipularea conținutului pe acest tip de afișaj.

Aceste librării sunt esențiale pentru a putea controla și afișa informații pe ecranul LCD Nokia 5110.

Rezultate Obţinute

Proiectul final:

Concluzii

Proiectul ales a fost unul interesant,de dificultate medie.Am invatat multe lucruri noi(printre care sa ma joc minesweeper).
Jocul se vede greu pe ecran,oricat de tare as schimba contrastul.

Download

Bibliografie/Resurse

pm/prj2023/avaduva/minesweeper.txt · Last modified: 2023/05/28 21:37 by robert.dumitru1308
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