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

Arduino - Webbasiertes Autorennen-Steinspiel

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
PHPoC-Shield für Arduino
Sie können auch PHPoC Shield oder PHPoC WiFi Shield verwenden
× 1
USB-WLAN-Dongle
Sie sollten einen USB-WIFI-Dongle mit Ralink RT3070- oder RT5370-Chipsatz verwenden und eine Verbindung zum PHPoC-Shield herstellen. Oder Sie schließen einfach das Ethernet-Kabel an den Ethernet-Port des PHPoC-Shields an und brauchen keinen USB-WLAN-Dongle zu verwenden.
× 1
Drehwinkelsensor
× 1

Über dieses Projekt

Demo

Dieses klassische Spiel kann einige von uns in Kindheitsnostalgie versetzen. Das Gameplay ist einfach, versuchen Sie, gegnerische Autos zu vermeiden und so viele Punkte wie möglich zu erzielen. Das Auto kann zwischen 5 Fahrspuren wechseln und es gibt 15 verschiedene Geschwindigkeiten. Mit zunehmender Geschwindigkeit fahren gegnerische Autos schneller, was das Spiel schwieriger macht.

Verkabelung

  • Stapeln Sie PHPoC-Schild auf Arduino.
  • Verbinden Sie die Pins GND, VCC und SIG des Drehwinkelsensors mit GND, 5V bzw. A0 von Arduino.

Datenfluss

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

Benutzer interagiert mit dem Drehwinkelsensor. Der Eingangssignalwert des Drehwinkelsensors wird verwendet, um die Position des Fahrzeugs zu ändern.

Arduino liest den Wert vom Drehwinkelsensor. Die Eingangs-ADC-Werte sind in 5 verschiedene Stufen unterteilt. Das Wechseln zwischen den Ebenen bedeutet einen Spurwechsel. Wenn das Eingangssignal auf einen anderen Pegel umgeschaltet wird, sendet Arduino den aktualisierten Pegel einfach an PHPoC Shield.

Wenn der Wert empfangen wird, sendet PHPoC WiFi Shield ihn über Websocket an den Webbrowser. Dann aktualisiert die JavaScript-Funktion die Position (Spur) des Autos. Das JavaScript-Programm aktualisiert auch ständig die Position der Gegner und die Spielgeschwindigkeit.

Aktivitäten

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

WLAN-Verbindung für PHPoC Shield einrichten

Siehe diese Anleitung.

Neue Web-Benutzeroberfläche in PHPoC Shield hochladen

  • Laden Sie den PHPoC-Quellcode remote_racing_game.php herunter.
  • Laden Sie es mit dem PHPoC-Debugger gemäß dieser Anleitung auf den PHPoC-Schild hoch.

Arduino-Code hochladen

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

Und schließlich

  • Klicken Sie auf die serielle Schaltfläche in der Arduino IDE, um die IP-Adresse zu erhalten.
  • Öffnen Sie den Webbrowser, geben Sie http:// ein relace_ip_address_here /remote_racing_game.php
  • Klicken Sie auf die Schaltfläche "Verbinden" und genießen Sie das Spiel.

Erfahren Sie mehr über Potentiometer in Arduino - Potentiometer Tutorial

Funktionsreferenzen

  • pinMode()
  • analogRead()
  • digitalWrite()
  • Seriell.begin()
  • Seriell.println()
  • for-Schleife
  • while-Schleife
  • wenn sonst
  • Schleife()
  • setup()

Code

  • Arduino-Code
  • remote_racing_game.php
Arduino-CodeArduino
#include "SPI.h"#include "Phpoc.h"PhpocServer server(80);int adcPin =A0; float adcVal =0; // Variable zum Speichern des vom sensorint kommenden Werts lastPos =-1; float adcMin =512-2,5 * 100;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()); }void loop() { // Wenn der Client das erste Byte sendet, sag hallo:PhpocClient client =server.available(); wenn (Kunde) {adcVal =0; for(int i =0; i <50; i++) adcVal +=analogRead(adcPin); adcVal /=50; int pos =(int)((adcVal-adcMin) / 100); wenn (pos<0) {pos =0; } else if (pos>4) pos =4; if(lastPos !=pos){ String txtMsg =String(pos) + "\r\n"; char buf[txtMsg.length()]; txtMsg.toCharArray(buf, txtMsg.length()); server.write(buf, txtMsg.length()); Serial.println (txtMsg); letztePos =pos; VerzögerungMikrosekunden (50); } } }
remote_racing_game.phpPHP
PHPoC Shield-Code
Arduino - Webbasiertes Spiel

Arduino - Autorennen
Brick Game

WebSocket :null


Herstellungsprozess

  1. Webbetriebener DMX-Controller
  2. Arduino Pong-Spiel - OLED-Display
  3. Arduino Spybot
  4. Arduino-Gamecontroller
  5. Arduino Touch Breakout-Spiel
  6. Joystick-gesteuertes RC-Auto
  7. Arduino - Webbasierter MP3-Player
  8. Pixel-Chaser-Spiel
  9. Arduino - Freischaltung von Webmustern
  10. Automatisiertes Dino-Spiel mit Arduino