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

Créer un joystick piloté par web avec Arduino UNO et shield WiFi

Composants et fournitures

Arduino UNO × 1
Shield WiFi PHPoC pour Arduino × 1
Moteur servo Seeed SG90 (micro servo) × 2
Fils de connexion (jumper wires) × 1

À propos de ce projet

Si vous êtes débutant, vous apprendrez :

Nous pouvons tout contrôler avec ce projet, mais j'ai pris les moteurs servo comme exemple.

Démonstration

Câblage

Flux de données

Navigateur web → Shield WiFi PHPoC → Arduino

L'application web dans le navigateur envoie les coordonnées (après mise à l'échelle) de l'événement tactile ou clic au shield PHPoC via WebSocket. À la réception des données, le shield les transmet automatiquement à l'Arduino. L'Arduino contrôle les deux servos selon les données reçues.

Note : Le shield PHPoC possède un programme intégré pour transférer les données du navigateur vers l'Arduino. Nous n'avons donc pas à nous en soucier.

Ce qu'il faut faire

Configuration WiFi du shield PHPoC

Voir cette instruction.

Téléverser la nouvelle interface web sur le shield PHPoC

Écrire le code Arduino

Essayer

Projet similaire mais plateforme matérielle différente

Ce projet fait la même chose mais utilise une autre plateforme matérielle.

Le meilleur kit de démarrage Arduino pour débutant

Voir Le meilleur kit Arduino pour débutants.

Références des fonctions

Code

Code Arduino Arduino
#include "SPI.h" #include "Phpoc.h" #include 
PhpocServer server(80);
Servo servo_x;
Servo servo_y;

void setup() {
  Serial.begin(9600);
  while(!Serial) ;
  Phpoc.begin(PF_LOG_SPI | PF_LOG_NET);
  server.beginWebSocket("web_joystick");
  Serial.print("Adresse serveur WebSocket : ");
  Serial.println(Phpoc.localIP());
  servo_x.attach(8);
  servo_y.attach(9);
  servo_x.write(90);
  servo_y.write(90);
}

void loop() {
  PhpocClient client = server.available();
  if (client) {
    String data = client.readLine();
    if(data){
      int pos = data.indexOf(':');
      long x = data.substring(0, pos).toInt();
      long y = data.substring(pos+1).toInt();
      Serial.print("x:"); Serial.print(x); Serial.print(", y:"); Serial.println(y);
      // Mise à l'échelle de [-100; 100] vers [0; 180]
      long angle_x = (x + 100) * 180 / 200;
      long angle_y = (y + 100) * 180 / 200;
      servo_x.write(angle_x);
      servo_y.write(angle_y);
    }
  }
}
Interface utilisateur web (remote_joystick.php) PHP
<!DOCTYPE html> <html> <head> <title>Arduino - PHPoC Shield</title> <meta name="viewport" content="width=device-width, initial-scale=0.7, maximum-scale=0.7"> <meta charset="utf-8"> <style> body { text-align: center; font-size: width/2pt; } h1 { font-weight: bold; font-size: width/2pt; } h2 { font-weight: bold; font-size: width/2pt; } button { font-weight: bold; font-size: width/2pt; } </style> <script> ... (code JavaScript complet pour l'interface joystick web) ... </script> </head> <body> <p> <h1>Arduino - Joystick Web</h1> </p> <canvas id="remote"></canvas> <h2> <p> WebSocket : <span id="ws_state">null</span> </p> <button id="bt_connect" type="button" onclick="connect_onclick();">Connecter</button> </h2> </body> </html>

Schéma

Créer un joystick piloté par web avec Arduino UNO et shield WiFi

Processus de fabrication

  1. Construire un Spybot Arduino piloté par Bluetooth
  2. FlickMote : Télécommande IR à gestes pour maison connectée
  3. TV-B-Gone DIY Arduino : Télécommande universelle pour toutes les TV
  4. Construire une horloge maître LED personnalisée avec alarme – Visible à 12 mètres
  5. Transformez une vieille voiture RC en véhicule piloté au joystick avec Arduino
  6. Jeu interactif joystick + LEDs avec Arduino
  7. Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
  8. Solutions d'alimentation optimisées pour projets Arduino
  9. Contrôler 2 moteurs pas-à-pas avec Arduino Nano et joystick – Tutoriel Visuino