Blitz inteligent cu mâinile tale

Blitz inteligent cu mâinile tale

Pentru a face fotbal de masă inteligentă, vom avea nevoie de:

  • fotbal de masă obișnuit stupid - 1 buc.,
  • controler Arduino - 1 buc.,
  • laser - 2pcs.,
  • fotorezistor - 2pcs.,
  • mai mulți oameni interesați,
  • weekend-uri gratuite.

În compania noastră, majoritatea angajaților nu se opun să joace tenis de masă în fotbalul de masă. Mai degrabă, ei sunt foarte pasionați și, desigur, nu se limitează la o singură petrecere. Prin urmare, la cină și seara, o mulțime de așteptare pentru rândul lor se întâlnește la masă.







Și astfel, într-o zi, când confuzia cu coada a fost plictisitoare pentru toată ordinea, am avut o idee:

  • Și să facem o coadă electronică!
  • Și că masa în sine a socotit goluri!
  • Și aș putea determina care dintre noi este mai abrupt!
  • Și smsski lasă să trimită că este liber!


Și toată lumea a fugit la Google.

În seara de vineri, un grup de fani ai fotbalului asemănător s-au adunat în apropierea inițiatorului sărbătorii - masa - la o întâlnire. Aceștia au împărțit energia arsă, determinată cu cerințele și tehnologiile de bază, distribuind rolurile, rotoarele în mâinile microcontrolerului, pe care microcontrolerul le-a cerut.

Blitz inteligent cu mâinile tale

Primul lucru pe masa de sambata dimineata. Pentru a-l învăța să urmărească golurile marcate, au fost atașate la poarta 2 controale laser și 2 fotorezistoare și controlerul Arduino în mijloc. Sistemul a venit cu aceasta: când o minge lovește zona dintre laser și fotorezistor, controlerul detectează schimbarea de tensiune pe senzor. Astfel, schimbarea tensiunii este o consecință a modificării rezistenței fotorezistorului. Schema schematică este prezentată mai jos.

Blitz inteligent cu mâinile tale

În ciuda simplității extreme a sistemului, totuși am avut de înfruntat câteva probleme. În primul rând, schimbarea iluminării într-o cameră cu o masă de fotbal ar putea determina pozitive fals pozitive ale senzorilor. În al doilea rând, vibrațiile maselor deosebit de puternice în timpul jocului ar putea duce la deteriorarea mecanică a componentelor sistemului.

Prima problemă a fost eliminată prin recalibrarea fotorezistorului la fiecare pornire a jocului. Al doilea a fost rezolvat și mai ușor - cu ajutorul unei șurubelnițe, al unui super-adeziv și, bineînțeles, al unei benzi electrice albastre, toate componentele sistemului au fost fixate în siguranță.

Blitz inteligent cu mâinile tale

Blitz inteligent cu mâinile tale

Blitz inteligent cu mâinile tale






Blitz inteligent cu mâinile tale

În paralel, am început să lucrăm la componenta programului a proiectului. În primul rând, cerințele au fost specificate:

  • Moduri de joc 1x1, 2x2.
  • Niveluri de jucători.
  • Colectarea realizărilor jucătorilor.
  • Realizarea evaluărilor personale și de echipă.
  • Sunetul jocului.

Trebuie să spun că suntem foarte norocoși că designerul nostru creativ iubește tăierea fotbalului de masă. Prin urmare, pentru cină, am avut deja prea multe moccasuri pe mâini. Privind în perspectivă, să arătăm ce sa întâmplat:

Blitz inteligent cu mâinile tale

Blitz inteligent cu mâinile tale

Blitz inteligent cu mâinile tale

Dezvoltarea a fost efectuată în paralel în trei ramuri:

  1. Partea clientului este Angular.js, Bootstrap.
  2. Am creat paginile principale ale aplicației, proiectat designul, implementat interacțiunea cu serverul prin Rest API și Socket.io. Modul adaptat pentru dispozitivele mobile.
  3. Partea de server este Node.js, Socket.io, MongoDB.
  4. Am creat o structură de proiect, am dezvoltat un model de date, am ajustat relația dintre client și server și diferențiat de drepturile de acces. Realizat logica calculării statisticilor, colectarea realizărilor, menținerea ratingurilor. Am alertat clientul cu privire la evenimentele emergente folosind Socket.io.
  5. Relația dintre Arduino și server.
  6. S-au scris un strat între controler și server.


Aici trebuie remarcat faptul că am decis să combinăm afacerile cu plăcerea. Prin urmare, ei au ales tehnologii necunoscute participanților la proiect, pentru a-și instrui simultan abilitățile.

Desigur, ar fi mai corect să organizăm un transfer de date wireless între Adruino și server, utilizând module wi-fi sau bluetooth pentru a interacționa cu serverul. Sau chiar utilizați Raspberry Pi ca server pentru aplicația noastră. Dar nu aveam primul, nici cel de-al doilea, nici cel de-al treilea, dar era un calculator vechi compot, care ne putea servi ca server. Prin urmare, serverul nostru este conectat la masă utilizând un cablu USB și întreaga comunicare între Arduino și server este prin portul COM.

Arduino primește semnale de la port despre pornirea / oprirea laserelor și, la rândul său, trimite semnale despre obiective fixe către server.

Controler din partea serverului:

Blitz inteligent cu mâinile tale

Aici, monitorizați portul la care este conectat Arduino. Când primiți o comandă, generăm un eveniment. Pentru a porni și opri Arduino, avem două funcții speciale de pornire și oprire care controlează pornirea și oprirea laserelor.

Exemplu de procesare a evenimentelor:

Blitz inteligent cu mâinile tale

Astfel, până la sfârșitul celei de-a doua zi, am obținut funcționalitatea de bază a clientului și a serverului și un intermediar gata pentru interacțiunea cu Arduino.

Duminică, a trebuit să legăm toate componentele împreună și să legăm diferite bonusuri, cum ar fi realizările în joc și muzica amuzantă.

Această zi a trecut într-un mod mai creativ, am programat mai puțin timp, majoritatea a venit cu niveluri de jucători, realizări și muzică pentru diverse evenimente de joc.

În cele din urmă, totul este asamblat, conectat, funcționând - a funcționat!

Am continuat testul funcțional. Bine, bine, am jucat fotbal, de ce nu aici)

Câteva fixări de erori, puțin terminate și. PROFIT! Jocul inteligent este gata.

Rezultatul este un prototip high-tech fotbal de masă, care fixează singur și consideră goluri marcate, este evaluat jucătorii de toate formele și în general a face șederea noastră mult mai confortabil și interesant. Și ne-am distrat foarte mult și ne-am îmbunătățit, bineînțeles.







Articole similare

Trimiteți-le prietenilor: