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 mobile FPV contrôlé par Wi-Fi (avec Arduino et ESP8266)

Composants et fournitures

Arduino UNO
× 1
Arduino Proto Shield
× 1
Espressif ESP8266 ESP-01
× 1
Moteur pas à pas 28BYJ
× 2
pilote pas à pas ULN2003
× 1
Appareil Android
× 1
Résistance 1k ohm
× 1
Résistance 100k ohm
× 2
Powerbank
× 1
Roues 42x19mm avec pneu en caoutchouc
× 2
Roue omni bille en acier 49x20x32mm
× 1
Boulons M2 x 10mm
× 12
Écrous M2 x 1,5mm
× 12
Boulons M3 x 10mm
× 8
Écrous M3 x 1,5mm
× 8
boulons 5/32" x 1"
× 3
5/32" noix
× 6
Clip pour selfie portable
× 1
Support aluminium 3 x 3 cm
× 2
Feuille acrylique 2mm
× 1

Outils et machines nécessaires

Perceuse
Scie à main

Applications et services en ligne

Webcam IP
Autodesk Fusion 360
Draftsight
Arduino IDE
Notepad++

À propos de ce projet

Ce tutoriel montre comment concevoir un rover robotique à deux roues télécommandé sur un réseau wi-fi, à l'aide d'un Arduino Uno connecté à un module Wi-Fi ESP8266 et à deux moteurs pas à pas. Le robot peut être contrôlé à partir d'un navigateur Internet ordinaire, en utilisant une interface conçue en HTML. Un smartphone Android est utilisé pour diffuser la vidéo et l'audio du robot vers l'interface de contrôle de l'opérateur.

Il existe de nombreux kits robotiques disponibles en ligne avec différentes formes, dimensions et prix. Mais, selon votre application, aucun d'entre eux ne conviendra et vous découvrirez peut-être qu'ils sont trop chers pour vos expériences. Ou peut-être voulez-vous simplement créer votre structure mécanique au lieu d'en acheter une complète. Ce tutoriel montre également comment concevoir et construire un cadre acrylique à faible coût pour votre propre projet robotique, en utilisant uniquement des outils ordinaires pour ceux qui n'en ont pas. accès à ces coûteuses imprimantes 3D ou découpeuses laser. Une plate-forme robotique simple est présentée.

Ce guide peut être adapté pour changer de forme ou d'interface de commande. Il a été adapté pour d'autres de mes projets robotiques ("Robô da Alegria"), que vous pouvez consulter dans les liens ci-dessous :

https://hackaday.io/project/12873-rob-da-alegria-...

https://github.com/ferauche/RoboAlegria

https://hackaday.io/project/12873-rob-da-alegria-...

[Attention :certaines photos sont obsolètes, car le design a encore été amélioré. Cependant, l'idée présentée ici est toujours valable.]

Étape 1 : Outils

Les outils suivants sont nécessaires pour la construction de ce prototype :

  • Scie à main (pour effectuer les premières coupes de la feuille acrylique)
  • Tournevis (pour le placement des boulons et des écrous)
  • Règle (pour la mesure des dimensions)
  • Couteau utilitaire (pour couper la feuille acrylique)
  • Perceuse (pour créer des trous pour les boulons)
  • Papier de verre (pour lisser les bords rugueux)

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

Pour construire un robot personnalisé, vous devrez d'abord concevoir votre structure mécanique. Cela peut être facile, selon votre application, ou plein de détails et de contraintes. Vous devrez peut-être le concevoir dans un logiciel de CAO 3D ou simplement le dessiner en 2D, selon la complexité de votre modèle.

Vous pouvez également acheter la structure complète en ligne si vous ne souhaitez pas construire votre propre structure mécanique. Il existe de nombreux kits robotiques disponibles en ligne. Dans ce cas, vous pouvez passer à l'étape 6.

Pour ce tutoriel, un cadre acrylique à faible coût a été conçu pour la fixation des moteurs et autres composants. La structure présentée dans ce tutoriel a été conçue en 3D à l'aide du logiciel de CAO 123D Design. Chaque pièce a ensuite été convertie en 2D à l'aide du logiciel Draftsight.

Les matériaux suivants ont été utilisés :

  • Feuille acrylique 2mm
  • Roues 42x19mm avec bandage caoutchouc (x2)
  • Roue omni bille en acier 49x20x32mm (x1)
  • Vis M2 x 10 mm (x12)
  • Écrous M2 x 1,5mm (x12)
  • Boulons M3 x 10 mm (x8)
  • Écrous M3 x 1,5mm (x8)
  • Vis 5/32" x 1" (x3)
  • Écrous 5/32" (x6)
  • Clip pour perche à selfie portable
  • Support aluminium 3 x 3 cm (x4)

La construction de la structure de la base est divisée en les étapes suivantes :

  • Découpez la base acrylique selon les dimensions du dessin 2D ;
  • Percez les trous dans les positions indiquées sur le dessin 2D ;
  • Montez les composants avec des boulons et des écrous selon le dessin 3D.

Malheureusement, le diamètre de l'arbre du moteur pas à pas est supérieur à l'orifice de la roue. Vous aurez donc probablement besoin d'utiliser de la colle pour coupler ces composants. Pour ce tuto j'ai improvisé un accouplement en bois entre l'arbre moteur et la roue.

FMAR9JBITKJE83H.123dx F21RD24ITKJE8AJ.dwg FPTGSODITKJE8AN.pdf

Étape 3 :Découpe de la structure

Vous devrez d'abord transférer les dimensions de votre modèle sur la feuille acrylique. Imprimez votre dessin 2D à l'aide d'une imprimante ordinaire sur un papier adhésif, puis coupez le papier aux dimensions appropriées et appliquez ce masque sur la surface de l'acrylique.

Vous pouvez utiliser une scie à main pour couper l'acrylique selon vos dimensions ou utiliser la technique de rupture décrite ci-dessous.

Avec un cutter et à l'aide d'une règle ou d'une échelle, découpez l'acrylique en lignes droites. Vous n'aurez pas besoin de couper tout le long de la feuille, il suffit de la marquer pour créer des pistes où la pièce sera ensuite coupée.

Placez l'acrylique sur une surface plane, maintenez-le en place avec des pinces et appliquez une certaine pression jusqu'à ce que la feuille se brise en deux. Répétez ce processus jusqu'à ce que toutes les coupes soient faites. Après cela, vous pouvez utiliser un papier de verre pour lisser les bords rugueux.

Étape 4 :perçage de la base

Percez les trous dans les positions indiquées sur le dessin 2D (indiqué dans le masque) avec une perceuse.

L'acrylique est relativement facile à percer. Donc, si vous ne disposez pas d'une perceuse, vous pouvez percer les trous manuellement avec un outil tranchant, comme un couteau universel. Vous pouvez également l'utiliser pour agrandir de petits trous pour s'adapter à la taille des boulons.

Retirez le masque et votre base sera prête.

Étape 5 :Assemblage de la structure

Montez les composants avec des boulons et des écrous selon les images, et votre structure sera prête à fonctionner.

Les boulons M3 sont utilisés pour l'installation des moteurs pas à pas, tandis que ceux de 5/32" sont utilisés pour l'installation de la roue avant et du clip du smartphone.

Maintenant, faites une pause et commencez à assembler le circuit à l'étape suivante...

Étape 6 :Électronique

Vous aurez besoin des composants électroniques suivants :

  • Arduino Uno (acheter)
  • ESP8266 (acheter)
  • Protoshield (pour une version plus compacte) ou une planche à pain ordinaire (acheter)
  • Résistance de 1 kohm (x2)
  • Résistance de 10 kohms (x1)
  • Quelques fils de liaison
  • Moteur pas à pas avec ULN2003driver (x2) (achat / achat)
  • Un ordinateur (pour compiler et télécharger le code Arduino)
  • Banque d'alimentation (achat)
  • Câble USB

Vous n'aurez pas besoin d'outils spécifiques pour le montage du circuit. Tous les composants sont disponibles en ligne sur votre boutique e-commerce préférée. Le circuit est alimenté par une banque d'alimentation connectée au port USB d'Arduino.

Connectez tous les composants selon le schéma. Vous aurez besoin de cavaliers pour connecter le module ESP-8266 et les moteurs pas à pas. Vous pouvez utiliser un protoshield (pour un circuit plus compact), une maquette ordinaire ou concevoir votre propre shield Arduino.Branchez le câble USB sur la carte Arduino Uno et passez à l'étape suivante.

Étape 7 : Code Arduino

Installez le dernier IDE Arduino. Dans ce projet, la bibliothèque stepper.h a été utilisée pour le contrôle des moteurs pas à pas. Aucune bibliothèque supplémentaire n'était nécessaire pour la communication avec le module ESP-8266. Veuillez vérifier le débit en bauds de votre ESP8266 et le définir correctement dans le code.

Téléchargez le code Arduino (stepperRobot.ino) et remplacez le XXXXX par le SSID de votre routeur wifi et le YYYYY par le mot de passe du routeur. Connectez la carte Arduino au port USB de votre ordinateur et téléchargez le code.

FG1K5KJITKJFW2R.ino

Étape 8 : caméra IP Android

Un smartphone Android a été utilisé pour diffuser la vidéo et l'audio du robot vers l'interface de contrôle. Vous pouvez trouver l'application sur Google Play Store (https://play.google.com/store/apps/details?id=com.pas.webcam).

Installez-le et passez à l'étape suivante.

Étape 9 :Mettez les circuits dans le robot

Installez les circuits dans le haut du robot à l'aide de boulons M1, comme indiqué sur les images.

Après cela, collez votre power bank à l'arrière du robot à l'aide d'un scotch double face (car il est facile à retirer par la suite), et placez votre smartphone dans le clip.

Étape 10 :Interface de contrôle Web

Une interface html a été conçue pour le contrôle du robot.

Téléchargez interface.rar et extrayez tous les fichiers dans un dossier donné. Ouvrez-le ensuite sur Firefox.

Un formulaire de zone de texte est utilisé dans cette interface pour saisir les adresses IP du module ESP et du serveur vidéo/audio (à partir de l'application Android IP Webcam).

Il y a un test mais, qui fera tourner le robot jusqu'à ce qu'une autre commande soit reçue. Les touches fléchées du clavier sont utilisées pour déplacer le robot vers l'avant ou vers l'arrière, et pour le faire pivoter à gauche ou à droite.

FQTAWF5ITKJFW4O.rar

Étape 11 :Utilisation

Lorsque l'Arduino est redémarré, il essaiera de se connecter automatiquement à votre réseau wi-fi. Utilisez Serial Monitor pour vérifier si la connexion a réussi et pour obtenir quelle IP a été attribuée à votre ESP-8266 par votre routeur. Ouvrez le fichier html dans un navigateur internet (Firefox) et renseignez cette adresse IP dans la zone de texte.

Vous pouvez également utiliser d'autres moyens pour savoir quelle adresse IP votre routeur a attribuée à votre appareil.

Déconnectez l'Arduino Uno de votre ordinateur et connectez-le à la banque d'alimentation. Attendez qu'il se connecte à nouveau.

Lancez l'application IP Webcam dans le smartphone connecté au robot. Tapez l'IP vidéo/audio sur votre interface de contrôle et connectez-vous au serveur et vous serez prêt à partir. Vous devrez peut-être réduire la résolution de la vidéo dans l'application pour réduire le délai entre pendant la transmission.

Cliquez et maintenez les touches fléchées de votre clavier pour faire pivoter le robot ou le déplacer vers l'avant/l'arrière et amusez-vous à explorer votre environnement.

Code

  • Arduino
  • interface de contrôle html
ArduinoArduino
Code Arduino.
//include library#include #include SoftwareSerial esp8266(3, 2); //Broche RX =3, broche TX =2//définition des variables#define DEBUG true //afficher les messages entre ESP8266 et Arduino dans le port sérieconst int stepsPerRevolution =500;int state =5;Stepper rightStepper(stepsPerRevolution, 8,10, 9,11 ); Stepper leftStepper(stepsPerRevolution, 4,6,5,7);//*****//SETUP//*****void setup(){ //démarrer la communication Serial.begin (9600 ); esp8266.begin (19200); sendData("AT+RST\r\n", 2000, DEBUG); //réinitialiser le module sendData("AT+CWMODE=1\r\n", 1000, DEBUG); //définir le mode de la station sendData("AT+CWJAP=\"XXXXX\",\"YYYYY\"\r\n", 2000, DEBUG); //connecte le réseau wi-fi while(!esp8266.find("OK")) { //attend la connexion } sendData("AT+CIFSR\r\n", 1000, DEBUG); //afficher l'adresse IP sendData("AT+CIPMUX=1\r\n", 1000, DEBUG); //autoriser plusieurs connexions sendData("AT+CIPSERVER=1,80\r\n", 1000, DEBUG); // démarre le serveur Web sur le port 80 // définit la vitesse du moteur rightStepper.setSpeed(60); leftStepper.setSpeed(60); }boucle vide(){ if (esp8266.available()) //vérifier les données entrantes { if (esp8266.find("+IPD,")) //s'il y a un message { String msg; esp8266.find("?"); // recherchez le message msg =esp8266.readStringUntil(' '); //lire tout le message String command =msg.substring(0, 3); //les 3 premiers caractères =commande String valueStr =msg.substring(4); //3 prochains caractères =valeur int valeur =valueStr.toInt(); if (DEBUG) { Serial.println (commande); Serial.println(valeur); } // avance if(commande =="cm1") { état =1; } //recule if(commande =="cm2") { state =2; } //tourner à droite if(commande =="cm3") { état =3; } //tourner à gauche if(commande =="cm4") { état =4; } //ne rien faire if(commande =="cm5") { état =5; } } } // avancer si (état ==1) { rightStepper.step(1); stepper.step(-1); } // recule si (état ==2) { rightStepper.step(-1); leftStepper.step(1); } // se déplacer vers la droite si (état ==3) { rightStepper.step(1); leftStepper.step(1); } // se déplacer vers la gauche si (état ==4) { rightStepper.step(-1); stepper.step(-1); } //ne rien faire si (état ==5) { } }//********************//Fonctions auxiliaires//******** ***********String sendData(String command, const int timeout, boolean debug){ String response =""; esp8266.print(commande); long int temps =millis(); while ( (temps + délai d'attente)> millis()) { while (esp8266.available()) { char c =esp8266.read(); réponse +=c; } } if (debug) { Serial.print(response); } renvoie la réponse ;}
interface de contrôle htmlHTML
Aucun aperçu (téléchargement uniquement).

Pièces et boîtiers personnalisés

Fichier de conception 123D. robot.123dx2D conception de la base. base.dwg

Schémas

Schéma de circuitBreadboard connexion du circuitFichier Fritzing du circuit gâchette%20-%20rev1.fzz

Processus de fabrication

  1. Robot Raspberry Pi contrôlé par Bluetooth
  2. Créez votre robot de streaming vidéo contrôlé par Internet avec Arduino et Raspberry Pi
  3. Robot de désinfection avec des lumières ultraviolettes
  4. Obstacles pour éviter le robot avec servomoteur
  5. Capteur d'empreintes digitales capacitif avec un Arduino ou ESP8266
  6. Contrôler un robot Roomba avec Arduino et un appareil Android
  7. Bras robotique contrôlé par Nunchuk (avec Arduino)
  8. Arduino Nano :contrôler 2 moteurs pas à pas avec joystick
  9. Robot à commande vocale