This is an old revision of the document!


Web Snake

Introducere

Prezentarea pe scurt a proiectului:

  • 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.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin. websnake.zip

Bibliografie/Resurse

pm/prj2022/amocanu/websnake.1655823431.txt.gz · Last modified: 2022/06/21 17:57 by marius.marogel
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