Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Robot Rover FPV Controlado por Wi-Fi con Arduino y ESP8266 – Guía DIY

Componentes y Suministros

Componente Cantidad
Arduino UNO 1
Arduino Proto Shield 1
ESP8266 ESP-01 1
Motor Paso a Paso 28BYJ-48 2
Driver ULN2003 para Steppers 1
Dispositivo Android (cámara IP) 1
Resistencia 1k Ω 1
Resistencia 100k Ω 2
Power Bank (alimentación) 1
Ruedas 42x19mm con banda goma 2
Rueda Omni Bola Acero 49x20x32mm 1
Tornillos/Tuercas M2, M3, 5/32" (varios) Set completo
Clip Palo Selfie (soporte móvil) 1
Soportes Aluminio 3x3cm 2
Lámina Acrílico 2mm 1

Herramientas Necesarias

Aplicaciones y Servicios Online

Sobre el Proyecto

Este tutorial muestra cómo diseñar un rover robótico de dos ruedas controlado remotamente vía WiFi, usando Arduino UNO + ESP8266 + 2 motores paso a paso. Control desde navegador web con interfaz HTML. Smartphone Android transmite video/audio (FPV) a la interfaz.

Muchos kits robóticos comerciales no se ajustan a necesidades específicas o son caros. Aquí también enseño a construir estructura acrílica low-cost con herramientas básicas (sin impresora 3D ni láser).

Adaptable a otros proyectos (ej. "Robô da Alegria": hackaday.io, GitHub).

Paso 1: Herramientas

Sierra manual, destornillador, regla, cúter, taladro, lija.

Paso 2: Estructura Mecánica y Materiales

Diseño en 123D Design → planos 2D en DraftSight. Materiales: acrílico 2mm, ruedas, tornillos, rueda omni, clip selfie, soportes aluminio.

Construcción: cortar base → taladrar → montar con tornillos. Nota: eje motor > orificio rueda → usar pegamento o acoplamiento (improvisé uno de madera).

Paso 3: Corte Estructura

Imprimir plano 2D en papel adhesivo → pegar en acrílico → cortar con sierra o técnica "score & snap" (cúter + regla → marcar → romper). Lijar bordes.

Paso 4: Taladrado Base

Taladrar según plano (máscara adhesiva). Acrílico fácil de taladrar; sin taladro, usar cúter. Retirar máscara.

Paso 5: Montaje Estructura

Atornillar componentes según imágenes 3D. M3 para steppers, 5/32" para rueda frontal y clip móvil. Estructura lista.

Paso 6: Electrónica

Conectar según esquemático. Proto shield para versión compacta.

Paso 7: Código Arduino

IDE actualizado. Librería Stepper.h. Sin librería extra para ESP8266. Verificar baudrate ESP8266.

Descargar stepperRobot.ino, reemplazar XXXXX (SSID) y YYYYY (password). Subir a Arduino.

Paso 8: Android IP Cam

Instalar IP Webcam en smartphone robot.

Paso 9: Montar Electrónica en Robot

Fijar circuitos arriba con tornillos M1. Power bank en parte trasera (cinta doble cara). Móvil en clip.

Paso 10: Interfaz Web Control

Descargar interface.rar, extraer, abrir en Firefox. Formulario para IPs: ESP8266 y servidor video (IP Webcam). Botón test (giro continuo). Teclas flechas: mover/rotar.

Paso 11: Uso

  1. Reiniciar Arduino → Monitor Serie para ver IP asignada al ESP8266
  2. Abrir HTML en Firefox → ingresar IP ESP8266
  3. Desconectar USB, conectar Power Bank → esperar reconexión WiFi
  4. Lanzar IP Webcam en móvil robot → ingresar IP video en interfaz → conectar
  5. Reducir resolución video en app si hay lag
  6. Mantener flechas pulsadas para mover/rotar ¡y explorar!

Código Arduino

#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); // Ajustar a baudrate de tu ESP8266
  
  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;      // Adelante
      else if (command == "cm2") state = 2; // Atrás
      else if (command == "cm3") state = 3; // Derecha
      else if (command == "cm4") state = 4; // Izquierda
      else if (command == "cm5") state = 5; // Parar
    }
  }
  
  // Control motores según estado
  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 = nada
}

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

Interfaz Web y Esquemáticos

Interfaz HTML/JS (descarga interface.rar). Esquemáticos: circuito, protoboard, archivo Fritzing (wistepper-rev1.fzz).

Archivos CAD

Proceso de manufactura

  1. Construya un robot Raspberry Pi controlado por Bluetooth con retroalimentación de audio
  2. Construya un robot con streaming de vídeo controlado por Internet con Arduino y Raspberry Pi
  3. Robot de Desinfección UV con Arduino Mega: Sistema Germicida Controlado Remotamente
  4. Robot evasor de obstáculos con servo: Construcción con Arduino y HC-SR04
  5. Integración del sensor de huella capacitivo DFRobot (ID809) con Arduino o ESP8266
  6. Controla tu Roomba Create 2 con Arduino y Android: Guía Completa
  7. Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
  8. Controla Dos Motores Paso a Paso con Arduino Nano y Joystick - Tutorial Sencillo
  9. Construye un robot controlado por voz con Arduino Nano
  10. Evaluación de la salud de plantas con TinyML: Guía práctica
  11. Control Preciso de Servo con Arduino y MPU6050 (SG90 / MG996R)