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

Robot rover FPV piloté Wi-Fi avec Arduino et ESP8266 – Guide DIY

Composants et fournitures

Composant Quantité
Arduino UNO 1
Shield prototype Arduino 1
Espressif ESP8266 ESP-01 1
Moteur pas-à-pas 28BYJ 2
Driver pas-à-pas ULN2003 1
Appareil Android 1
Résistance 1 kΩ 1
Résistance 100 kΩ 2
Power bank 1
Roues 42×19 mm avec bande caoutchouc 2
Roue omnidirectionnelle bille acier 49×20×32 mm 1
Boulons M2 × 10 mm 12
Écrous M2 × 1,5 mm 12
Boulons M3 × 10 mm 8
Écrous M3 × 1,5 mm 8
Boulons 5/32″ × 1″ 3
Écrous 5/32″ 6
Pince pour perche selfie 1
Équerre alu 3×3 cm 2
Plaque acrylique 2 mm 1

Outils et machines nécessaires

Applications et services en ligne

À propos de ce projet

Ce tutoriel montre comment concevoir un rover robotique à deux roues piloté à distance via WiFi, utilisant un Arduino Uno connecté à un module ESP8266 et deux moteurs pas-à-pas. Le robot est contrôlé depuis un navigateur web standard via une interface HTML. Un smartphone Android diffuse la vidéo et l'audio du robot vers l'interface de contrôle.

Il existe de nombreux kits robotiques en ligne, mais aucun ne correspondra parfaitement à votre application, et ils sont souvent trop chers pour de simples expériences. Ou peut-être voulez-vous simplement construire votre propre structure mécanique. Ce tutoriel montre aussi comment concevoir et fabriquer un châssis acrylique low-cost avec des outils ordinaires, pour ceux qui n'ont pas d'imprimante 3D ou de découpe laser. Une plateforme robotique simple est présentée.

Ce guide peut être adapté pour changer la forme ou l'interface de contrôle. Il a été adapté pour d'autres projets robotiques (« Robô da Alegria ») :

[Avertissement : certaines photos sont datées car le design a été amélioré, mais le concept reste valide.]

Étape 1 : Outils

Outils nécessaires : scie à main (découpes initiales acrylique), tournevis, règle, cutter (découpe acrylique), perceuse (trous boulons), papier de verre (finitions).

Robot rover FPV piloté Wi-Fi avec Arduino et ESP8266 – Guide DIY

Étape 2 : Structure mécanique et matériaux

Pour construire un robot personnalisé, concevez d'abord votre structure mécanique. Selon la complexité, utilisez un logiciel CAO 3D ou un dessin 2D. Vous pouvez aussi acheter un kit complet en ligne et passer à l'étape 6.

Pour ce tutoriel, un châssis acrylique low-cost a été conçu pour fixer les moteurs et composants. La structure a été modélisée en 3D avec 123D Design, puis convertie en 2D avec DraftSight.

Matériaux : plaque acrylique 2 mm, roues 42×19 mm (×2), roue omni bille acier 49×20×32 mm, boulons/écrous M2 et M3, boulons/écrous 5/32″, pince perche selfie, équerres alu 3×3 cm (×4).

Construction de la base : découpe acrylique selon côtes 2D, perçage trous selon plan 2D, montage composants selon modèle 3D.

Note : le diamètre de l'arbre du moteur pas-à-pas est supérieur à l'orifice de la roue. Il faudra probablement les coller. J'ai improvisé un accouplement en bois.

Fichiers joints : FMAR9JBITKJE83H.123dx (123D Design), F21RD24ITKJE8AJ.dwg (2D), FPTGSODITKJE8AN.pdf

Étape 3 : Découpe de la structure

Transférez les côtes sur l'acrylique : imprimez le plan 2D sur papier adhésif, découpez et collez sur la plaque. Utilisez une scie à main ou la technique de cassure : tracez au cutter avec règle, cassez en appuyant sur une surface plane, poncez les bords.

Robot rover FPV piloté Wi-Fi avec Arduino et ESP8266 – Guide DIY

Étape 4 : Perçage de la base

Percez les trous aux positions du plan 2D (indiqués sur le masque). L'acrylique se perce facilement. Sans perceuse, utilisez un outil pointu (cutter) pour percer ou élargir les trous. Retirez le masque, la base est prête.

Robot rover FPV piloté Wi-Fi avec Arduino et ESP8266 – Guide DIY

Étape 5 : Assemblage de la structure

Montez les composants avec boulons/écrous selon les images. Boulons M3 pour moteurs pas-à-pas, 5/32″ pour roue avant et pince smartphone. Votre structure est prête !

Robot rover FPV piloté Wi-Fi avec Arduino et ESP8266 – Guide DIY

Étape 6 : Électronique

Composants : Arduino Uno, ESP8266, Protoshield (ou breadboard), résistances 1 kΩ (×2) et 10 kΩ (×1), fils de câblage, 2 moteurs pas-à-pas avec drivers ULN2003, ordinateur, power bank, câble USB. Alimentation via power bank sur port USB Arduino.

Câblez selon le schéma. Utilisez des fils pour connecter l'ESP-01 et les moteurs. Protoshield, breadboard ou shield maison. Branchez l'USB sur l'Arduino et passez à l'étape suivante.

Robot rover FPV piloté Wi-Fi avec Arduino et ESP8266 – Guide DIY

Étape 7 : Code Arduino

Installez le dernier Arduino IDE. Utilise la bibliothèque Stepper.h pour les moteurs. Pas de bibliothèque supplémentaire pour l'ESP8266. Vérifiez le baudrate de votre ESP8266 et réglez-le dans le code.

Téléchargez stepperRobot.ino, remplacez XXXXX par votre SSID WiFi et YYYYY par le mot de passe. Branchez l'Arduino et téléversez.

FG1K5KJITKJFW2R.ino

Étape 8 : Caméra IP Android

Utilisez un smartphone Android pour diffuser vidéo/audio vers l'interface. Application sur Google Play : IP Webcam. Installez-la.

Robot rover FPV piloté Wi-Fi avec Arduino et ESP8266 – Guide DIY

Étape 9 : Installer les circuits dans le robot

Fixez les circuits sur le dessus du robot avec des boulons M1. Collez la power bank à l'arrière avec du ruban double-face (facile à retirer), placez le smartphone dans la pince.

Robot rover FPV piloté Wi-Fi avec Arduino et ESP8266 – Guide DIY

Étape 10 : Interface de contrôle web

Interface HTML conçue pour le contrôle. Téléchargez interface.rar, extrayez dans un dossier, ouvrez sur Firefox. Une zone de texte permet d'entrer les adresses IP du module ESP et du serveur vidéo/audio (IP Webcam). Un bouton test fait tourner le robot. Les flèches du clavier contrôlent avancer/reculer et rotation gauche/droite.

Robot rover FPV piloté Wi-Fi avec Arduino et ESP8266 – Guide DIY

FQTAWF5ITKJFW4O.rar

Étape 11 : Utilisation

Au redémarrage, l'Arduino se connecte automatiquement au WiFi. Utilisez le moniteur série pour vérifier la connexion et obtenir l'IP attribuée à l'ESP8266. Ouvrez le fichier HTML dans Firefox, entrez cette IP. Vous pouvez aussi trouver l'IP par d'autres moyens.

Débranchez l'Arduino du PC et branchez la power bank. Attendez la reconnexion.

Lancez IP Webcam sur le smartphone du robot. Entrez l'IP vidéo/audio dans l'interface de contrôle, connectez-vous. Réduisez la résolution vidéo dans l'app pour diminuer la latence.

Maintenez les flèches du clavier pour déplacer/rotater le robot et explorez votre environnement !

Code

Arduino
//include libraries
#include <SoftwareSerial.h>
#include <Stepper.h>

SoftwareSerial esp8266(3, 2); // RX=3, TX=2
#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")) { }
  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;      // avancer
      else if(command == "cm2") state = 2; // reculer
      else if(command == "cm3") state = 3; // droite
      else if(command == "cm4") state = 4; // gauche
      else if(command == "cm5") state = 5; // stop
    }
  }
  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 = rien
}

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;
}
Interface de contrôle HTML
Pas d'aperçu (téléchargement uniquement).

Pièces personnalisées et boîtiers

Fichier design 123D : robot.123dx

Plan 2D de la base : base.dwg

Schémas

Schéma circuit, connexions breadboard, fichier Fritzing : wistepper%20-%20rev1.fzz

Processus de fabrication

  1. Construire un robot Raspberry Pi piloté par Bluetooth avec retour audio
  2. Construire un robot piloté par Internet avec streaming vidéo Arduino & Raspberry Pi
  3. Robot de Désinfection UV Piloté par Arduino Mega : Système Germicide Télécommandé
  4. Robot Évitement d'Obstacles Piloté par Servomoteur : Construction avec Arduino et HC-SR04
  5. Intégrer un capteur d'empreintes capacitif DFRobot (ID809) avec Arduino ou ESP8266
  6. Contrôlez votre Roomba Create 2 avec Arduino et Android – Guide pas à pas
  7. Bras robotique 6 DoF piloté par Nunchuk Wii – Kit Arduino Mega
  8. Contrôler 2 moteurs pas-à-pas avec Arduino Nano et joystick – Tutoriel Visuino
  9. Robot commandé par la voix avec Arduino Nano et Bluetooth