Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construire un Jeu de Course de Voitures Web-Enabled avec Arduino et PHPoC Shield

Composants et fournitures

Arduino UNO × 1
PHPoC Shield pour Arduino (ou PHPoC WiFi Shield) × 1
Dongle USB WiFi (puce Ralink RT3070 ou RT5370) à connecter au PHPoC Shield. Ou simplement connectez un câble Ethernet au port Ethernet du shield, pas besoin de dongle WiFi. × 1
Capteur d'angle rotatif (potentiomètre) × 1

À propos de ce projet

Démonstration

Ce jeu classique peut nous faire ressentir une certaine nostalgie d'enfance. Le gameplay est simple : éviter de percuter les voitures adverses et marquer le maximum de points. La voiture peut changer entre 5 voies, et il y a 15 vitesses différentes. À mesure que la vitesse augmente, les voitures adverses roulent plus vite, rendant le jeu plus difficile.

Câblage

Construire un Jeu de Course de Voitures Web-Enabled avec Arduino et PHPoC Shield

Flux de données

Arduino → PHPoC Shield → Navigateur Web

L'utilisateur interagit avec le capteur d'angle rotatif. La valeur du signal d'entrée est utilisée pour changer la position de la voiture.

L'Arduino lit la valeur du capteur. Les valeurs ADC d'entrée sont divisées en 5 niveaux différents. Changer de niveau signifie changer de voie. Simplement, si le signal d'entrée passe à un autre niveau, l'Arduino enverra le niveau mis à jour au PHPoC Shield.

À la réception de la valeur, le PHPoC WiFi Shield l'envoie au navigateur Web via WebSocket. Ensuite, une fonction JavaScript mettra à jour la position (voie) de la voiture. Le programme JavaScript mettra continuellement à jour la position des adversaires et la vitesse du jeu.

Choses à faire

Configurer la connexion WiFi pour le PHPoC Shield

Voir cette instruction.

Téléverser la nouvelle Interface Utilisateur Web sur le PHPoC Shield

Téléverser le Code Arduino

Et enfin

En savoir plus sur le potentiomètre avec Arduino - Tutoriel Potentiomètre

Références de fonctions

Code

Code Arduino

#include "SPI.h"
#include "Phpoc.h"

PhpocServer server(80);
int adcPin = A0;
float adcVal = 0;
int 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("Adresse serveur WebSocket : ");
  Serial.println(Phpoc.localIP());
}

void loop() {
  PhpocClient client = server.available();
  if (client) {
    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;
      delayMicroseconds(50);
    }
  }
}

remote_racing_game.php (Code PHPoC Shield)

<!DOCTYPE html>
<html>
<head>
<title>Arduino - Jeu Web</title>
<meta name="viewport" content="width=device-width, initial-scale=0.7, maximum-scale=0.7">
<style>
body { text-align: center; font-size: 15pt; font-family: Arial, Helvetica, sans-serif;}
h1 { font-weight: bold; font-size: 25pt; }
h2 { font-weight: bold; font-size: 15pt; }
button { font-weight: bold; font-size: 15pt; }
</style>
<script>
// Code JavaScript complet du jeu (voir source original)
// Gestion WebSocket, dessin canvas, logique de jeu, détection collision, etc.
</script>
</head>
<body>
<center>
<p>
<h1>Arduino - Car Race </br> Brick Game</h1>
</p>
<canvas id="remote" width="500" height="400" Horizontal-align="middle";></canvas>
<h2>
<p> WebSocket : <span id="ws_state">null</span> </p>
<button id="bt_connect" type="button" onclick="connect_onclick();">CONNECT</button>
</h2>
</center>
</body>
</html>

Processus de fabrication

  1. Système d'éclairage DMX piloté par web – Contrôleur maître Arduino
  2. Créer un jeu Pong classique sur Arduino UNO avec écran OLED – Tutoriel étape par étape
  3. Construire un Spybot Arduino piloté par Bluetooth
  4. Manette de jeu USB Arduino DIY – Construisez votre propre gamepad haute performance
  5. Jeu Breakout tactile Arduino : recréez l'arcade classique sur écran TFT 2,4″
  6. Transformez une vieille voiture RC en véhicule piloté au joystick avec Arduino
  7. Lecteur MP3 piloté par navigateur avec Arduino et shield PHPoC WiFi
  8. Pixel Chaser : Jeu LED interactif à une touche avec Arduino Nano
  9. Sécurisez votre Arduino avec le déverrouillage par motif web – Configuration facile et contrôle à distance