Un jucator se conecteaza pe o pagina web si poate indruma sarpele selectand directiile de deplasare de pe site.
Folosind un server web, placuta NodeMCU primeste noua directie de deplasare si aprinde led-urile corespunzatoare.
Descriere generală
Hardware Design
Lista componente:
- Device cu acces la internet
- 8x8 LED Matrix (MAX 7219)
- NodeMCU 1.0
Software Design
Descrierea codului aplicaţiei (firmware):
Mediu de dezvoltare Arduino 1.8.19
Am folosit bibliotecile #include <LedControl.h> pentru controlul matricei de LED-uri, #include <ESP8266WiFi.h> pentru controlul unui server web si #include <Vector.h> pentru a manipula coordonatele snake-ului.
Am creat pagini html pe care redirectionez clientul in functie de directia pe care alege sa mearga jucatorul.
Functii folosite:
makeFruit() - generarea random pe harta a mancarii, cu conditia de a nu se intersecta cu sarpele initial
our_snake() - desenarea snake-ului pe harta, echivalent cu aprinderea led-urilor corespunzatoare
WiFi.begin(), WiFi.localIP(), server.available(), client.available() pentru a manipula conectarea la server.
Rezultate Obţinute
Rezultatele obtinute pot fi vazute in acest videoclip:
Video
Concluzii
Proiectul a fost interesant, sunt incantat ca am invatat cum functioneaza board-ul NodeMCU si ca am reusit sa creez un server care gestioneaza un joc interactiv. Design-ul lasa putin de dorit, ar fi trebuit stilizata pagina, dar in rest all good.