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

Web-gesteuerter Joystick mit Arduino UNO & WiFi Shield erstellen

Komponenten und Zubehör

Arduino UNO × 1
PHPoC WiFi Shield für Arduino × 1
Seeed SG90 Mikro-Servomotor × 2
Jumper-Kabel × 1 Set

Über dieses Projekt

Wenn Sie Anfänger sind, lernen Sie hier:

Mit diesem Projekt lässt sich prinzipiell alles steuern; als Beispiel dienen zwei Servomotoren.

Demo

Ein Web-basierter Joystick steuert zwei Servos in Echtzeit über WebSocket.

Verkabelung

Datenfluss

Webbrowser → PHPoC WiFi Shield → Arduino

Die Web-App im Browser sendet die Koordinaten (skaliert) von Touch- oder Klickereignissen per WebSocket an den PHPoC Shield. Dieser leitet die Daten automatisch an den Arduino weiter. Der Arduino steuert die beiden Servomotoren entsprechend der empfangenen Daten.

Hinweis: Der PHPoC Shield verfügt über ein integriertes Programm zur Datenweiterleitung vom Browser zum Arduino. Sie müssen sich darum nicht kümmern.

Was zu tun ist

WLAN-Informationen für PHPoC Shield einrichten

Siehe diese Anleitung.

Neue Web-UI auf PHPoC Shield hochladen

Arduino-Code schreiben

Testen

Ähnliches Projekt, andere Hardware-Plattform

Dieses Projekt erfüllt den gleichen Zweck, nutzt aber eine andere Hardware-Basis.

Funktionsreferenzen

Code

Arduino-Code

#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("WebSocket server address: ");
  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);
      // Skalierung von [-100, 100] auf [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);
    }
  }
}

Web-Benutzeroberfläche (remote_joystick.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, h2, button { font-weight: bold; font-size: width/2pt; }
</style>
<script>
// ... (JavaScript-Code für Joystick-Canvas und WebSocket-Handling)
// Vollständiger Code im Original-Projekt verfügbar
</script>
</head>
<body>
  <h1>Arduino - Web-basierter Joystick</h1>
  <canvas id="remote"></canvas>
  <h2>
    <p>WebSocket: <span id="ws_state">null</span></p>
    <button id="bt_connect" type="button" onclick="connect_onclick();">Connect</button>
  </h2>
</body>
</html>

Schaltplan

Web-gesteuerter Joystick mit Arduino UNO & WiFi Shield erstellen

Herstellungsprozess

  1. Bluetooth-gesteuerter Arduino-Spybot bauen – Überwachungsroboter mit IP-Kamera
  2. FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)
  3. DIY Arduino TV-B-Gone: Universelle TV-Aus-Fernbedienung
  4. Einen eigenen LED-Master-Clock mit Alarm bauen – aus 12 Metern Entfernung ablesbar
  5. Altes RC-Auto per Xbox-Controller & Arduino zum Joystick-Fahrzeug umbauen
  6. Interaktives Joystick-Spiel mit Arduino & LED-Feedback
  7. Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
  8. Optimierte Stromversorgungslösungen für Arduino-Projekte
  9. Zwei Schrittmotoren mit Arduino Nano & Joystick steuern – Einfaches Tutorial
  10. Arduino Web-MP3-Player: Browsergesteuerte Audio-Wiedergabe