I. Objetivo
II. Piezas y Dispositivos
III. Instalación del Hardware
IV. Instalación del Software
V. Probar el Robot

Comprar desde US Comprar desde UK Comprar desde DE Comprar desde IT Comprar desde FR Comprar desde ES Comprar desde JP


En este proyecto conectaremos el Auto Robot a WIFI y usaremos una aplicación para controlar el Robot a través del WIFI. Esta es una aplicación típica de Internet de las cosas (IOT).
La Lección 1 , la Lección 2 y la Lección 3  deben completarse antes de realizar esta lección.

Descargar tutoriales en PDF: https://osoyoo.com/manual/2021006600.pdf

Video de instalacion del coche robot OSOYOO: https://osoyoo.com/manual/2021006600.html


 – chasis para Ruedas Mecanum OSOYOO de Auto Robot x1
 – Ruedas y motores OSOYOO x4 (ruedas izquierdas x2 y ruedas derechas x2)
 – Placa OSOYOO Mega2560 totalmente compatible con Arduino UNO/Mega2560 x1
 – Escudo OSOYOO Uart Wifi x1
 – Placa controladora OSOYOO m odelo Y x1
 – Medidor de voltaje OSOYOO x1
 – Caja de batería OSOYOO x1
 – Cable puente OSOYOO hembra a hembra de 3 pines x1
 – Cable puente OSOYOO macho a hembra de 6 pines  x2
 – Cable puente OSOYOOmacho a hembra de 10 pines  x1
 – Cable puente  OSOYOO hembra a hembra 2 pines XH.25 x1
 – Baterías 18650 (3,7 V) x2
 – Cargador de batería x1


Si acaba de terminar todas las Lecciones 1 a 3 y la Lección 5 (Conducción por imitación con la aplicación Bluetooth), mantenga todas las conexiones de la lección tal como están. Luego desconecte el escudo Bluetooth de WIFI.

Paso 1. Retire la conexión B_TX a D18 y B_RX a D19.
Paso 2. Conectar E_RX a D18 (TX1) y E_TX a D19 (RX1).
Solo es necesario desenchufar los extremos B_. El orden de los pines TX y RX se invierte desde Bluetooth.


Software Arduino de código abierto
(IDE)
Descargue el IDE Arduino aquí:
https://www.arduino.cc/es/Main/Software?setlang=es
7 zip es una
utilidad gratuita que descomprime archivos zip
Descarga 7zip aquí:
https://www.7-zip.org/

Paso 1: Instale el IDE de Arduino más reciente (si tiene una versión de IDE de Arduino posterior a la 1.1.16, omita este paso). Descargue Arduino el IDE desde https://www.arduino.cc/en/Main/Software?setlang=en, luego instale el software.

Paso 2: descargue el archivo zip de la biblioteca desde WiFiEsp-master.zip. Abra el IDE de Arduino -> haga clic en Sketch -> Incluir biblioteca -> Agregar biblioteca .ZIP, luego cargue el archivo zip anterior en Arduino.

Paso 3: Descargue https://osoyoo.com/driver/mecanum_acrylic_chassis_v2/mc-lesson6.zip, descomprima el archivo zip de descarga mc-lesson6.zip, verá una carpeta llamada mc-lesson6.

Paso 4: Instalación de la Aplicación,  debe buscar “OSOYOO Wifi UDP Robot Car Controller” en Google Play o Apple Store, y luego instalar ésta app.

Paso 5: Instalación del código Arduino Sketch:

Descomprima el archivo descargado, ingrese a la carpeta mc-lesson6, luego verá dos subcarpetas: mc-lesson6A y mc-lesson6B.

Estas dos carpetas tienen los programas para dos modos WIFI: modo AP y modo STA. Los códigos de Arduino para estos dos modos son diferentes. Expliquemos estos dos modos uno por uno.

Cuando trabaje en el modo AP (AP MODE), nuestro Auto Robot se convertirá en un punto de acceso WiFi. Nuestro celular puede conectarse al  Robot como su cliente WIFI. La dirección IP del Robot es “192.168.4.1” fija y no está conectado a WAN.
(1) Descomprima el archivo mc-lesson6.zip y verá una carpeta llamada mc-lesson6A, luego cargue el código en Arduino.

(2) Abra en Arduino su monitor Serial y verá un resultado similar al del AP MODE. En la ventana aparecerá un nuevo WIFI SSID “osoyoo_robot” con la dirección IP “192.168.4.1”. Esto significa que su  Robot tiene un nombre de punto de acceso WIFI “osoyoo_robot”, su dirección IP es “192.168.4.1”

(3) Ahora su Robot se convierte en un punto de acceso WIFI y configura la dirección IP como “192.168.4.1” en la sección de configuración de su aplicación.

(4) Conecte su teléfono celular al punto de acceso WIFI “osoyoo_robot” y ahora puede usar el teléfono móvil para controlar el Robot.

(5) Puede hacer clic en las teclas de dirección ◄ ► ▲ ▼ para hacer que el Robot se mueva. Usa “||” Tecla de pausa para detener el movimiento del Auto.
  Haga clic en Obstáculo (Obstacle) para cambiar el lado izquierdo, haga clic en Seguimiento (Tracking) para cambiar el lado derecho.
  Haga clic en F1 para realizar un movimiento diagonal superior izquierdo, haga clic en F3 para realizar un movimiento diagonal superior derecho.
  Haga clic en F4 para realizar un movimiento diagonal posterior izquierdo, haga clic en F6 para realizar un movimiento diagonal posterior derecho.

En el modo STA (STA MODE), el Robot no funciona como punto de acceso WIFI. En su lugar, se convertirá en un nodo de Internet en su LAN. Debe decirle a Arduino cuál es el SSID y la contraseña del WIFI de su enrutador local, luego Arduino habla con el enrutador y obtiene su propia dirección IP LAN del servidor DHCP. Puede usar la aplicación móvil para acceder a la dirección IP del Robot y controlar su movimiento.

(1) Descomprima el archivo mc-lesson6 y verá una carpeta llamada mc-lesson6b, luego cargue el código mc-lesson6b.ino en Arduino.

(2) Necesita cambiar el código de la línea 180 y la línea 181:

  char ssid[] = “SU_ENRUTADOR_SSID”; // reemplace esto con su router WIFI SSID
  char pass[] = “YOUR_ROUTER_WIFI_PASSWORD”; // reemplazar con su contraseña WIFI 

(3) Cargue el código en Arduino, luego haga clic en la ventana del monitor Serial en la esquina superior derecha del IDE Arduino y verá el siguiente resultado:

(4) En este modo, verá una dirección IP que es nuestra dirección IP LAN asignada por mi enrutador. Escriba esta dirección IP “192.168.50.44” y haga clic en Configuración (Settings) para configurar la dirección IP del Robot y establezca esta dirección IP “192.168.50.44 “en la sección Configuración de su aplicación (no es necesario cambiar el puerto predeterminado 8888 en la aplicación).

(5) Ahora que su Robot está conectado a su LAN, puede usar el teléfono móvil en la misma LAN para controlar el Auto robot. Si su aplicación está en la WAN, debe ir al Panel de control de su enrutador, reenviar el Puerto 80 a la dirección IP de LAN del Auto Robot, luego puede usar la IP del enrutador para controlar el Robot. Esta característica hace que nuestro Robot sea UN dispositivo REAL DE INTERNET DE LAS COSAS (IOT).

(6) Puede hacer clic en las teclas de dirección ◄ ► ▲ ▼ para hacer que el Robot se mueva. Usa la tecla de pausa “||” para detener el movimiento del Auto.
  Haga clic en Obstáculo (Obstacle) para cambiar el lado izquierdo, haga clic en Seguimiento (Tracking) para cambiar el lado derecho.
  Haga clic en F1 para realizar un movimiento diagonal superior izquierdo, haga clic en F3 para realizar un movimiento diagonal superior derecho.
  Haga clic en F4 para hacer un movimiento diagonal hacia atrás a la izquierda, haga clic en F6 para hacer un movimiento en diagonal hacia atrás a la derecha.


Preguntas frecuentes sobre la aplicación Wifi UDP y el código del programa:

P1) ¿Cómo ajustar la velocidad del coche robot?
R: Si desea cambiar el rendimiento de la velocidad del Robot, modifique los parámetros en las líneas 11 a 13:

#define SPEED 85
#define TURN_SPEED 90
#define SHIFT_SPEED 130

El valor SPEED determina la velocidad de movimiento hacia adelante.
El valor TURN_SPEED determina la velocidad de giro.
El valor SHIFT_SPEED determina la velocidad de cambio paralelo.

P 2) ¿Qué sucede cuando presiona los botones en la aplicación OSOYOO WiFi UDP Robot Car?
R: Cuando presiona un botón de la aplicación, la app enviará un mensaje de una sola letra a través del protocolo UDP al dispositivo de destino (en este ejemplo, nuestro escudo Arduino WIFI)

P3) ¿Cómo maneja Arduino el comando UDP?

Las líneas desde la 230 a la 245 en el archivo mecanum-2560-lesson5A.ino son los códigos que reaccionan al comando del teléfono celular. Por ejemplo, cuando se presiona ▲, de acuerdo con la tabla Q1, se envió un comando de letra “A” desde el teléfono celular a Arduino. Línea 233 caso ‘A’…. La declaración hará que el Robot haga que el Auto avance.

char c=packetBuffer[0];
switch (c) //serial control instructions
{
case ‘A’: go_advance(SPEED); break;
case ‘L’: left_turn(TURN_SPEED); break;
case ‘R’: right_turn(TURN_SPEED); break;
case ‘B’: go_back(SPEED); break;
case ‘E’: stop_Stop(); break;
case ‘F’: left_shift(0,150,0,150); break;   //left ahead
case ‘H’: right_shift(180,0,150,0); break;   //right ahead
case ‘I’: left_shift(150,0,150,0); break;   //left back
case ‘K’: right_shift(0,130,0,130); break;   //right back
case ‘O’: left_shift(200,150,150,200); break;   //left shift
case ‘T’: right_shift(200,200,200,200); break;   //left shift
default: break;
}