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

WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung

Komponenten und Zubehör

Komponente Menge
Arduino UNO 1
Arduino Proto Shield 1
Espressif ESP8266 ESP-01 1
28BYJ Schrittmotor 2
ULN2003 Schrittmotortreiber 1
Android-Gerät 1
Widerstand 1 kΩ 1
Widerstand 100 kΩ 2
Powerbank 1
42×19 mm Räder mit Gummibereifung 2
49×20×32 mm Stahlkugel-Omni-Rad 1
M2 × 10 mm Schrauben 12
M2 × 1,5 mm Muttern 12
M3 × 10 mm Schrauben 8
M3 × 1,5 mm Muttern 8
5/32″ × 1″ Schrauben 3
5/32″ Muttern 6
Handheld Selfie-Stick Clip 1
3 × 3 cm Aluminiumwinkel 2
2 mm Acrylglasplatte 1

Benötigte Werkzeuge und Maschinen

Apps und Online-Dienste

Über dieses Projekt

Dieses Tutorial zeigt, wie man einen ferngesteuerten zweirädrigen Roboter-Rover über ein WLAN-Netzwerk baut, mit einem Arduino Uno, verbunden mit einem ESP8266 WiFi-Modul und zwei Schrittmotoren. Der Roboter kann über einen gewöhnlichen Internetbrowser mit einer HTML-basierten Oberfläche gesteuert werden. Ein Android-Smartphone überträgt Video und Audio vom Roboter zur Steuerungsoberfläche.

Es gibt viele Roboter-Bausätze online in verschiedenen Formen, Größen und Preisen. Aber je nach Anwendung passt keiner, und sie sind oft zu teuer für Experimente. Oder man möchte die mechanische Struktur selbst bauen statt einen Komplettbausatz zu kaufen. Dieses Tutorial zeigt auch, wie man einen kostengünstigen Acrylrahmen für das eigene Roboterprojekt entwirft und baut, mit ganz normalen Werkzeugen – für alle, die keinen Zugang zu teuren 3D-Druckern oder Lasercuttern haben. Eine einfache Roboterplattform wird vorgestellt.

Diese Anleitung kann angepasst werden, um Form oder Steueroberfläche zu ändern. Sie wurde für andere meiner Roboterprojekte adaptiert („Robô da Alegria“):

Warnung: Einige Fotos sind veraltet, da das Design weiter verbessert wurde. Die hier vorgestellte Idee ist jedoch weiterhin gültig.

Schritt 1: Werkzeuge

Folgende Werkzeuge werden für den Prototypenbau benötigt:

WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung

Schritt 2: Mechanische Struktur und Materialien

Für einen eigenen Roboter muss man zuerst die mechanische Struktur entwerfen. Je nach Anwendung kann dies einfach oder detailreich sein. Man kann sie in 3D-CAD-Software designen oder nur in 2D zeichnen.

Man kann auch die komplette Struktur online kaufen, wenn man nicht selbst bauen will. In diesem Fall zu Schritt 6 springen.

Für dieses Tutorial wurde ein kostengünstiger Acrylrahmen für die Montage der Motoren und Komponenten entworfen. Die Struktur wurde mit 123D Design CAD-Software 3D-designed. Jedes Teil wurde später mit DraftSight in 2D umgewandelt.

Verwendete Materialien:

Der Bau der Basisstruktur gliedert sich in:

Leider ist der Durchmesser der Schrittmotorwelle größer als die Bohrung im Rad. Man muss diese Komponenten wahrscheinlich verkleben. Für dieses Tutorial habe ich eine Holzverbindung zwischen Motorwelle und Rad improvisiert.

FMAR9JBITKJE83H.123dx (123D Design Datei)
F21RD24ITKJE8AJ.dwg (2D Zeichnung)
FPTGSODITKJE8AN.pdf

Schritt 3: Struktur zuschneiden

Zuerst die Maße des Modells auf die Acrylglasplatte übertragen. 2D-Zeichnung auf Klebepapier drucken, passend zuschneiden und als Maske auf die Acryloberfläche kleben.

Mit Handsäge nach Maßen schneiden oder die Bruchtechnik nutzen:

Mit Cuttermesser und Lineal die Acrylglasplatte in geraden Linien ritzen. Nicht ganz durchschneiden, nur Rillen erzeugen, an denen das Stück später bricht.

Acrylglas auf ebene Fläche legen, mit Schraubzwingen fixieren und Druck ausüben, bis die Platte in zwei Teile bricht. Prozess wiederholen bis alle Schnitte erledigt. Anschließend Schleifpapier für raue Kanten nutzen.

WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung

Schritt 4: Basis bohren

Bohrungen an den in der 2D-Zeichnung gezeigten Positionen (in der Maske markiert) mit Bohrmaschine bohren.

Acrylglas lässt sich relativ leicht bohren. Falls keine Bohrmaschine vorhanden, kann man Löcher manuell mit scharfem Werkzeug (Cuttermesser) bohren. Auch zum Vergrößern kleiner Löcher für Schraubengrößen nutzbar.

Maske entfernen – Basis ist fertig.

WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung

Schritt 5: Struktur zusammenbauen

Komponenten gemäß Bildern mit Schrauben und Muttern montieren – Struktur ist bereit.

M3-Schrauben für Schrittmotoren, 5/32″-Schrauben für Vorderrad und Smartphone-Clip.

Jetzt Pause machen und im nächsten Schritt die Elektronik zusammenbauen…

WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung

Schritt 6: Elektronik

Benötigte elektronische Komponenten:

Keine speziellen Werkzeuge für den Schaltungsaufbau nötig. Alle Komponenten online erhältlich. Die Schaltung wird über eine Powerbank am USB-Port des Arduino gespeist.

Alle Komponenten laut Schaltplan verbinden. Steckbrücken für ESP-8266 und Schrittmotoren nutzen. ProtoShield, Steckbrett oder eigenes Arduino-Shield designen. USB-Kabel an Arduino Uno anschließen und zum nächsten Schritt.

WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung

Schritt 7: Arduino-Code

Neueste Arduino IDE installieren. In diesem Projekt wurde die Stepper.h-Bibliothek für die Schrittmotorsteuerung verwendet. Keine zusätzliche Bibliothek für ESP8266-Kommunikation nötig. Baudrate des ESP8266 prüfen und im Code korrekt einstellen.

Arduino-Code (stepperRobot.ino) herunterladen, XXXXX durch WLAN-SSID und YYYYY durch Router-Passwort ersetzen. Arduino per USB mit Computer verbinden und Code hochladen.

FG1K5KJITKJFW2R.ino

Schritt 8: Android IP Cam

Ein Android-Smartphone überträgt Video und Audio vom Roboter zur Steueroberfläche. App im Google Play Store: IP Webcam.

Installieren und zum nächsten Schritt.

WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung

Schritt 9: Schaltungen in den Roboter einbauen

Schaltungen mit M1-Schrauben oben am Roboter befestigen (siehe Bilder).

Powerbank mit doppelseitigem Klebeband auf der Rückseite fixieren (leicht entfernbar). Smartphone in den Clip einsetzen.

WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung
WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung

Schritt 10: Webbasierte Steueroberfläche

Eine HTML-Oberfläche für die Robotersteuerung wurde entworfen.

interface.rar herunterladen, alle Dateien in einen Ordner entpacken und in Firefox öffnen.

Ein Textfeld-Formular dient zur Eingabe der IP-Adressen des ESP-Moduls und des Video/Audio-Servers (aus der Android IP Webcam App).

Ein Test-Button lässt den Roboter rotieren, bis ein anderer Befehl empfangen wird. Pfeiltasten der Tastatur steuern Vorwärts/Rückwärts und Links/Rechts-Drehung.

FQTAWF5ITKJFW4O.rar

WiFi-gesteuerter FPV-Rover-Roboter mit Arduino & ESP8266 – DIY-Anleitung

Schritt 11: Nutzung

Beim Neustart des Arduino versucht er, sich automatisch mit Ihrem WLAN zu verbinden. Serielle Monitor nutzen, um zu prüfen, ob die Verbindung erfolgreich war, und welche IP der Router dem ESP-8266 zugewiesen hat. HTML-Datei im Browser (Firefox) öffnen und diese IP im Textfeld eingeben.

Man kann auch andere Methoden nutzen, um die zugewiesene IP herauszufinden.

Arduino Uno vom Computer trennen und an Powerbank anschließen. Warten, bis er sich wieder verbindet.

IP Webcam App auf dem Smartphone am Roboter starten. Video/Audio-IP in der Steueroberfläche eingeben, mit Server verbinden – los geht's. Eventuell Videoauflösung in der App reduzieren, um Übertragungsverzögerung zu verringern.

Pfeiltasten gedrückt halten, um Roboter zu drehen oder vorwärts/rückwärts zu bewegen. Viel Spaß beim Erkunden der Umgebung!

Code

Arduino

// Bibliotheken
#include <SoftwareSerial.h>
#include <Stepper.h>

SoftwareSerial esp8266(3, 2); // RX=3, TX=2

// Variablen
#define DEBUG true
const int stepsPerRevolution = 500;
int state = 5;

Stepper rightStepper(stepsPerRevolution, 8, 10, 9, 11);
Stepper leftStepper(stepsPerRevolution, 4, 6, 5, 7);

void setup() {
  Serial.begin(9600);
  esp8266.begin(19200);
  sendData("AT+RST\r\n", 2000, DEBUG);
  sendData("AT+CWMODE=1\r\n", 1000, DEBUG);
  sendData("AT+CWJAP=\"XXXXX\",\"YYYYY\"\r\n", 2000, DEBUG);
  while(!esp8266.find("OK")) { /* warten */ }
  sendData("AT+CIFSR\r\n", 1000, DEBUG);
  sendData("AT+CIPMUX=1\r\n", 1000, DEBUG);
  sendData("AT+CIPSERVER=1,80\r\n", 1000, DEBUG);
  rightStepper.setSpeed(60);
  leftStepper.setSpeed(60);
}

void loop() {
  if (esp8266.available()) {
    if (esp8266.find("+IPD,")) {
      String msg;
      esp8266.find("?");
      msg = esp8266.readStringUntil(' ');
      String command = msg.substring(0, 3);
      String valueStr = msg.substring(4);
      int value = valueStr.toInt();
      if (DEBUG) { Serial.println(command); Serial.println(value); }
      if (command == "cm1") state = 1;      // vorwärts
      else if (command == "cm2") state = 2; // rückwärts
      else if (command == "cm3") state = 3; // rechts
      else if (command == "cm4") state = 4; // links
      else if (command == "cm5") state = 5; // stop
    }
  }
  // Bewegung ausführen
  if (state == 1) { rightStepper.step(1); leftStepper.step(-1); }
  else if (state == 2) { rightStepper.step(-1); leftStepper.step(1); }
  else if (state == 3) { rightStepper.step(1); leftStepper.step(1); }
  else if (state == 4) { rightStepper.step(-1); leftStepper.step(-1); }
  // state 5: nichts tun
}

String sendData(String command, const int timeout, boolean debug) {
  String response = "";
  esp8266.print(command);
  long int time = millis();
  while ((time + timeout) > millis()) {
    while (esp8266.available()) {
      char c = esp8266.read();
      response += c;
    }
  }
  if (debug) Serial.print(response);
  return response;
}

HTML Steueroberfläche

Keine Vorschau (nur Download).

Individuelle Teile und Gehäuse

123D Design Datei: robot.123dx
2D Design der Basis: base.dwg

Schaltpläne

Schaltplan, Steckbrett-Verdrahtung, Fritzing-Datei: wistepper%20-%20rev1.fzz

Herstellungsprozess

  1. Bluetooth-gesteuerter Raspberry Pi Roboter mit Audio-Feedback bauen
  2. Internet-gesteuerter Video-Streaming-Roboter mit Arduino & Raspberry Pi bauen
  3. UV-Desinfektionsroboter mit Arduino Mega: Fernsteuerbares Keimtötungssystem
  4. Servogesteuerter Hindernisvermeidungs-Roboter: Bauen mit Arduino & HC-SR04
  5. DFRobot Kapazitiver Fingerabdrucksensor mit Arduino oder ESP8266 einbinden
  6. Roomba Create 2 per Arduino & Android steuern – Schritt-für-Schritt
  7. Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
  8. Zwei Schrittmotoren mit Arduino Nano & Joystick steuern – Einfaches Tutorial
  9. Sprachgesteuerter Roboter mit Arduino Nano bauen
  10. Pflanzengesundheit mit TinyML bewerten: Praktischer Leitfaden