Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino - webgebaseerd spel voor twee spelers

Componenten en benodigdheden

Arduino UNO
× 1
PHPoC WiFi Shield voor Arduino
× 1
Knop
× 4
Broodplank (algemeen)
× 1
Weerstand 10k ohm
× 1
Krimpkous
× 1

Over dit project

Als je een beginner bent, kun je meer te weten komen over knoppen in Arduino - Button Tutorial.

Ik heb hier een soortgelijk project gemaakt met eenvoudigere hardware (alleen PHPoC).

Demo

Gegevensstroom

Arduino ---> PHPoC WiFi Shield ---> Webbrowser

Er zijn twee mensen aan het gamen. elk volk gebruikt twee knoppen om de richting van de keepers te regelen. Daarom hebben we vier knoppen nodig.

Arduino leest de statussen van vier knoppen. Als een van deze wordt gewijzigd, berekent Arduino de bewegingsrichting van de keeper opnieuw en stuurt de richtingswaarden naar PHPoC WiFi Shield. Bij ontvangst van de waarden stuurt PHPoC WiFi Shield deze via websocket naar de webbrowser. De JavaScript-functie werkt de bewegingsrichting van keepers bij.

Het JavaScript-programma werkt de positie van de bal, keepers en obstakels continu bij op basis van hun richting en controleert ook de botsing.

De richting van keepers wordt gewijzigd op basis van de status van de knoppen.

Let op: PHPoC-shield heeft een ingebouwd programma om gegevens van Arduino naar webbrowser door te geven. Daarom hoeven we ons er geen zorgen over te maken.

Wat we moeten doen

  • WiFi-informatie instellen voor PHPoC-schild (SSID en wachtwoord)
  • Upload nieuwe gebruikersinterface naar PHPoC-schild
  • Schrijf Arduino-code

WiFi-informatie instellen voor PHPoC Shield

Zie deze instructie.

Upload nieuwe web-UI naar PHPoC Shield

  • Download PHPoC-broncode remote_game.php (in het codegedeelte).
  • Upload het naar PHPoC-shield met behulp van PHPoC debugger volgens deze instructie.

Bij ontvangst van een HTTP-verzoek van een webbrowser, interpreteert PHPoC Shield het PHP-script in dit bestand en stuurt het vervolgens het geïnterpreteerde bestand naar de webbrowser. Het geïnterpreteerde bestand (bevat HTML-, CSS- en JavaScript-code) biedt een gebruikersinterface (gebruikersinterface), werkt de positie van de bal, keepers en obstakels bij op basis van hun richting en controleert ook de botsing. Het ontvangt ook de bewegingsrichting van keepers van websocket.

Schrijf Arduino-code

  • Installeer PHPoC Library voor Arduino (zie instructie ).
  • Upload Arduino-code (in codegedeelte) naar Arduino

Testen

  • Klik op de seriële knop op Arduino IDE om het IP-adres te zien.
  • Open webbrowser, typ http:// replace_ip_address /remote_game.php
  • Klik op de knop Verbinden en test het

De beste Arduino-starterkit voor beginners

Zie de beste Arduino-kit voor beginners


Functiereferenties

  • pinMode()
  • digitalRead()
  • Serial.begin()
  • Serial.print()
  • Serial.println()

Code

  • Arduino-code
  • PHPoC Shield-code (remote_game.php)
Arduino-codeArduino
#include "SPI.h"#include "Phpoc.h"PhpocServer server(80);boolean reedsConnected =false; void setup() { Serial.begin(9600); while(!Serial); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); server.beginWebSocket("game"); Serial.print("WebSocket-serveradres:"); Serial.println(Phpoc.localIP()); pinMode (6, INGANG); pinMode (7, INGANG); pinMode (8, INGANG); pinMode(9, INPUT); }int value_6 =digitalRead(6);int value_7 =digitalRead(7);int value_8 =digitalRead(8);int value_9 =digitalRead(9);int pre_dir_1 =0;int pre_dir_2 =0;int dir_1 =0;int dir_2 =0; void loop () { // wanneer de client de eerste byte verzendt, zeg hallo:PhpocClient-client =server.available (); if (client) { value_6 =digitalRead (6); value_7 =digitalRead(7); value_8 =digitalRead(8); value_9 =digitalRead (9); dir_1 =waarde_7 - waarde_6; dir_2 =waarde_9 - waarde_8; if(dir_1 !=pre_dir_1 || dir_2 !=pre_dir_2) { pre_dir_1 =dir_1; pre_dir_2 =dir_2; String txtMsg ="[" + String(dir_1) + ", " + String(dir_2) + "]\r\n"; char buf[txtMsg.length()+ 1]; txtMsg.toCharArray(buf, txtMsg.length() + 1); server.write(buf, txtMsg.length()); } }}
PHPoC Shield-code (remote_game.php)PHP
PHPoC - Spel

PHPoC - webgebaseerd spel

WebSocket:null

Schema's

1. Stapel PHPoC wifi-schild of PHPoC-schild op Arduino
2. Bedrading zoals onderstaande afbeelding:

Productieproces

  1. Schaken
  2. Arduino-gyroscoopspel met MPU-6050
  3. Arduino Pong Game - OLED-scherm
  4. Arduino-gamecontroller
  5. Arduino Pong Game op 24x16 Matrix met MAX7219
  6. Arduino Touch Breakout-spel
  7. Giant Animatronics Lego Minfig Operation Game
  8. Arduino - webgebaseerde mp3-speler
  9. Pixel Chaser-game
  10. Geautomatiseerd Dino-spel met arduino
  11. LED-roulettespel