Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino - Webbasiertes Spiel für zwei Spieler

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
PHPoC WiFi Shield für Arduino
× 1
Schaltfläche
× 4
Breadboard (generisch)
× 1
Widerstand 10k Ohm
× 1
Schrumpfschlauch
× 1

Über dieses Projekt

Wenn Sie ein Anfänger sind, können Sie im Arduino - Button Tutorial mehr über die Schaltfläche erfahren.

Ich habe hier ein ähnliches Projekt mit einfacherer Hardware (nur PHPoC) erstellt.

Demo

Datenfluss

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

Zwei Leute spielen ein Spiel. Jedes Volk verwendet zwei Knöpfe, um die Richtung der Torhüter zu steuern. Daher brauchen wir vier Knöpfe.

Arduino liest die Zustände von vier Tasten. Wenn einer von ihnen geändert wird, berechnet Arduino die Bewegungsrichtung des Torwarts neu und sendet die Richtungswerte an PHPoC WiFi Shield. Beim Empfang der Werte sendet PHPoC WiFi Shield diese per Websocket an den Webbrowser. Die JavaScript-Funktion aktualisiert die Bewegungsrichtung der Torhüter.

Das JavaScript-Programm aktualisiert kontinuierlich die Position von Ball, Torhütern und Hindernissen basierend auf ihrer Richtung und überprüft auch Kollisionen.

Die Richtung der Torhüter wird basierend auf dem Zustand der Tasten geändert.

Beachten Sie Folgendes: PHPoC-Schild verfügt über ein integriertes Programm zum Übergeben von Daten von Arduino an den Webbrowser. Daher müssen wir uns nicht darum kümmern.

Was wir tun müssen

  • WLAN-Informationen für PHPoC-Schild festlegen (SSID und Passwort)
  • Neue Benutzeroberfläche auf PHPoC-Schild hochladen
  • Arduino-Code schreiben

WLAN-Informationen für PHPoC Shield einstellen

Siehe diese Anleitung.

Neue Web-Benutzeroberfläche in PHPoC Shield hochladen

  • Download des PHPoC-Quellcodes remote_game.php (im Codebereich).
  • Laden Sie es mit dem PHPoC-Debugger gemäß dieser Anleitung auf den PHPoC-Schild hoch.

Beim Empfang einer HTTP-Anforderung vom Webbrowser interpretiert PHPoC Shield das PHP-Skript in dieser Datei und sendet die interpretierte Datei dann an den Webbrowser. Die interpretierte Datei (enthält HTML-, CSS- und JavaScript-Code) bietet eine UI (Benutzeroberfläche), aktualisiert die Position von Ball, Torhütern und Hindernissen basierend auf ihrer Richtung und überprüft auch Kollisionen. Es empfängt auch die Bewegungsrichtung der Torhüter vom Websocket.

Arduino-Code schreiben

  • Installieren Sie die PHPoC-Bibliothek für Arduino (siehe Anleitung).
  • Laden Sie Arduino-Code (im Codeabschnitt) auf Arduino hoch

Testen

  • Klicken Sie auf die serielle Schaltfläche in der Arduino IDE, um die IP-Adresse anzuzeigen.
  • Öffnen Sie den Webbrowser, geben Sie http:// ein replace_ip_address /remote_game.php
  • Klicken Sie auf die Schaltfläche "Verbinden" und testen Sie es

Das beste Arduino Starter Kit für Anfänger

Siehe Das beste Arduino-Kit für Anfänger


Funktionsreferenzen

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

Code

  • Arduino-Code
  • PHPoC Shield-Code (remote_game.php)
Arduino-CodeArduino
#include "SPI.h"#include "Phpoc.h"PhpocServer server(80);boolean schonConnected =false; Void setup () { Serial.begin (9600); while(!Seriell); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); server.beginWebSocket("Spiel"); Serial.print("WebSocket-Serveradresse:"); Serial.println (Phpoc.localIP()); pinMode(6, EINGANG); pinMode (7, EINGANG); pinMode(8, EINGANG); pinMode(9, EINGANG); }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() { // Wenn der Client das erste Byte sendet, sag 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 =Wert_7 - Wert_6; dir_2 =Wert_9 - Wert_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 - Spiel

PHPoC - Webbasiertes Spiel

WebSocket :null

Schaltpläne

1. Stapeln Sie PHPoC-WLAN-Schild oder PHPoC-Schild auf Arduino
2. Verkabelung wie unten abgebildet

Herstellungsprozess

  1. Schach
  2. Arduino-Gyroskop-Spiel mit MPU-6050
  3. Arduino Pong-Spiel - OLED-Display
  4. Arduino-Gamecontroller
  5. Arduino-Pong-Spiel auf einer 24x16-Matrix mit MAX7219
  6. Arduino Touch Breakout-Spiel
  7. Giant Animatronics Lego Minfig Operationsspiel
  8. Arduino - Webbasierter MP3-Player
  9. Pixel-Chaser-Spiel
  10. Automatisiertes Dino-Spiel mit Arduino