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 - webgebaseerde autorace-steengame

Componenten en benodigdheden

Arduino UNO
× 1
PHPoC Shield voor Arduino
Je kunt ook PHPoC Shield of PHPoC WiFi Shield gebruiken
× 1
USB Wifi-dongle
U moet een USB WIFI-dongle gebruiken die is uitgerust met een Ralink RT3070- of RT5370-chipset en verbinding maken met het PHPoC Shield. Of u sluit gewoon de Ethernet-kabel aan op de Ethernet-poort op het PHPoC Shield, en u hoeft geen USB WiFi-dongle te gebruiken.
× 1
Draaihoeksensor
× 1

Over dit project

Demo

Dit klassieke spel kan sommigen van ons nostalgie uit de kindertijd doen voelen. Het spel is eenvoudig, probeer auto's van de tegenstander te vermijden en zoveel mogelijk punten te scoren. De auto kan schakelen tussen 5 rijstroken en er zijn 15 verschillende snelheden. Naarmate de snelheid toeneemt, zullen de auto's van de tegenstander sneller rennen, wat het spel moeilijker maakt.

Bedrading

  • Stapel PHPoC-schild op Arduino.
  • Sluit pin GND, VCC en SIG van de draaihoeksensor aan op respectievelijk GND, 5V en A0 van Arduino.

Gegevensstroom

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

Gebruiker communiceert met draaihoeksensor. De ingangssignaalwaarde van de draaihoeksensor wordt gebruikt om de positie van de auto te veranderen.

Arduino leest de waarde van de draaihoeksensor. De ingangs-ADC-waarden zijn onderverdeeld in 5 verschillende niveaus. Wisselen tussen niveaus betekent wisselen van rijstrook. Gewoon, als het ingangssignaal naar een ander niveau wordt geschakeld, stuurt Arduino het bijgewerkte niveau naar PHPoC Shield.

Bij ontvangst van de waarde stuurt PHPoC WiFi Shield deze via Websocket naar de webbrowser. Vervolgens zal de JavaScript-functie de positie (rijstrook) van de auto bijwerken. Het JavaScript-programma werkt ook continu de positie van tegenstanders en de spelsnelheid bij.

Dingen om te doen

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

WiFi-verbinding instellen voor PHPoC Shield

Zie deze instructie.

Upload nieuwe webgebruikersinterface naar PHPoC Shield

  • Download PHPoC-broncode remote_racing_game.php.
  • Upload het naar PHPoC-shield met behulp van PHPoC debugger volgens deze instructie.

Arduino-code uploaden

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

En tot slot

  • Klik op de seriële knop op Arduino IDE om het IP-adres te krijgen.
  • Open webbrowser, typ http:// relace_ip_address_here /remote_racing_game.php
  • Klik op de verbindingsknop en geniet van het spel.

Meer informatie over potentiometer in Arduino - Potentiometer-zelfstudie

Functiereferenties

  • pinMode()
  • analogRead()
  • digitalWrite()
  • Serial.begin()
  • Serial.println()
  • for-lus
  • terwijl-lus
  • indien anders
  • loop()
  • 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; // variabele om de waarde op te slaan die afkomstig is van de sensorint lastPos =-1; float adcMin =512-2.5*100;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()); }void loop() { // wanneer de client de eerste byte verzendt, zeg hallo:PhpocClient client =server.available(); if (klant) { adcVal =0; for(int i =0; i <50; i++) adcVal +=analogRead(adcPin); adcVal /=50; int pos =(int)((adcVal-adcMin) / 100); if (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); lastPos =pos; vertraging Microseconden (50); } } }
remote_racing_game.phpPHP
PHPoC Shield-code
Arduino - webgebaseerd spel

Arduino - Autorace
Brick Game

WebSocket:null


Productieproces

  1. Web-gestuurde DMX-controller
  2. Arduino Pong Game - OLED-scherm
  3. Arduino Spybot
  4. Arduino-gamecontroller
  5. Arduino Touch Breakout-spel
  6. Met joystick bestuurde RC-auto
  7. Arduino - webgebaseerde mp3-speler
  8. Pixel Chaser-game
  9. Arduino - ontgrendeling webpatroon
  10. Geautomatiseerd Dino-spel met arduino
  11. RC Porsche Car (Arduino Project)