I.Objetivo
II.Piezas y dispositivos
III.Instalación de hardware
IV.Conexión del circuito
V.Instalación de software
VI.Cómo jugar


Mecanum Wheel Robot Car Paquete completo (con baterías 18650)

Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES ここでご購入を!

En este proyecto, conectaremos el coche robot Mecanum a Wi-Fi y usaremos una aplicación para controlar el coche a través de Internet. Esta es una aplicación típica de Internet de las cosas (IoT).


OSOYOO Mecanum ruedas chasis de coche robótico x 1 (2x ruedas izquierdas/2x ruedas derechas y Motor x 4)
Placa OSOYOO Mega2560, totalmente compatible con placa Arduino MEGA2560 x 1
OSOYOO Wi-Fi escudo x 1
Controlador de motor OSOYOO Modelo Y x 1
OSOYOO servomotor  MG90 x1
Módulo de sensor ultrasónico OSOYOO x1
Soporte de montaje ultrasónico OSOYOO x1
Módulo de sensor de seguimiento de 5 puntos OSOYOO
OSOYOO Cable de puente hembra a hembra de 3 pines x1
OSOYOO Cable de puente macho a hembra de 6 pines x2
OSOYOO Cable de puente hembra a hembra de 7 pines x1
OSOYOO 2 pin XH.25 hembra a hembra x1
Caja de batería OSOYOO x 1
Baterías 18650 (3,7 V) x 2


Si acaba de terminar toda la lección 1 (ensamblar el automóvil) y la lección 4 (controlador de imitación de Bluetooth), mantenga todas las conexiones de la lección tal como están. Luego desconecte el Bluetooth de Wi-Fi Shield.


Paso 1. Retire la conexión B_TX a D18 y B_RX a D19.

Paso 2. Conecte E_RX a D18 (TX1) y E_TX a D19 (RX1).

(Nota: debe dividir 2 piezas de cables de puente macho a hembra de nuestro paquete de cables de puente de 10 piezas. Cualquier color del paquete estará bien. El resto de los cables de 8 piezas son piezas de repuesto para posibles cables rotos o dañados.)


Arduino de código abierto
Software (IDE)
Descarga el IDE de Arduino aquí:
https://www.arduino.cc/en/Main/Software?setlang=en
7 zip es un zip gratis
utilidad que descomprime archivos zip
Descarga 7zip aquí gratis
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). Descarga el IDE de Arduino desde https://www.arduino.cc/en/Main/Software?setlang=en,luego instale el programa.

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

Paso 3: instalación de la APLICACIÓN: debe buscar “OSOYOO Wi-Fi UDP Robot Car Controller” en Google Play o Apple Store, y luego instalar esta APLICACIÓN.

También puede descargar la aplicación directamente desde https://osoyoo.com/driver/arduino-udp/udp-robot.apk

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

Descargar: https://osoyoo.com/driver/mecanum_metal_chassis_m2/m2-lesson5.zip

Descomprima el archivo descargado, ingrese a la carpeta m2-lesson5, verá dos subcarpetas:
m2-lesson5A  y m2-lesson5B

Estas dos carpetas tienen un programa para dos modos Wi-Fi: modo AP y modo STA. Los bocetos de Arduino para estos dos modos son diferentes. Expliquemos estos dos modos uno por uno.

Cuando trabaje en modo AP, nuestro coche robot se convertirá en un punto de acceso Wi-Fi. Nuestro celular puede conectarse a Robot Car como su cliente Wi-Fi. La dirección IP de Robot está fijada en 192.168.4.1. En tal situación, tanto el automóvil robot como su teléfono celular no están conectados a WAN.
(1) Descomprima el archivo m2-lesson5 , y verá una carpeta llamada m2-lesson5a, cargue el código en Arduino.

(2) Abra su monitor Arduino Serial y verá un resultado similar al modo AP. En la ventana aparecerá un nuevo SSID Wi-Fi “osoyoo_robot” con la dirección IP 192.168.4.1. Esto significa que su automóvil robot tiene un nombre de punto de acceso Wi-Fi “osoyoo_robot”, su dirección IP es 192.168.4.1

(3) Ahora su automóvil Robot se convierte en un punto de acceso Wi-Fi 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 Wi-Fi “osoyoo_robot”, y puede usar el teléfono móvil para controlar el automóvil robot.

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

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

(1) Descomprima el archivo m2-lesson5 y verá una carpeta llamada m2-lesson5B, luego cargue el código m2-lesson5B.ino en Arduino.

(2) Necesitas cambiar el código Línea 176 y Línea 177 :

char ssid[] = “YOUR_ROUTER_SSID”; // reemplace esto con su enrutador wifi SSID

char pass[] = “YOUR_ROUTER_WIFI_PASSWORD”; //reemplace con su contraseña wifi

(3) Sube el boceto a Arduino. Finalmente, haga clic en la ventana del monitor Serial en la esquina superior derecha de Arduino IDE, 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 y haga clic en Configuración para configurar la dirección IP del robot y establezca esta dirección IP 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 automóvil robot está conectado a su LAN, puede usar el teléfono móvil en la misma LAN para controlar el automóvil robot. Si su APLICACIÓN está en WAN, debe ir al Panel de control de su enrutador, reenviar el Puerto 80 a la dirección IP de LAN del automóvil Robot, luego puede usar la IP del enrutador para controlar el automóvil. Esta característica hace que nuestro automóvil robot sea UN dispositivo REAL DE INTERNET DE LAS COSAS.

(6)You can click the ◄ ► ▲ ▼ direction keys to make the car move. Use “||” pause key to stop the car movement.
Click Obstacle to shift left side, Click Tracking to shift right side.
Click F1 to make upper-left diagonal movement, Click F3 to make upper-right diagonal movement.
Click F4 to make back-left diagonal movement, Click F6 to make back-right diagonal movement.

Preguntas frecuentes sobre la aplicación WIFI UDP y el código de boceto:

Q1)Cómo ajustar la velocidad del coche robot?
A: Si desea cambiar el rendimiento de velocidad del automóvil robot, siga los parámetros en las líneas 11 a 13:

#define SPEED 150
#define TURN_SPEED 150
#define SHIFT_SPEED 140

El valor de VELOCIDAD determina la velocidad de avance
El valor TURN_SPEED determina la velocidad de giro
El valor SHIFT_SPEED determina la velocidad de cambio en paralelo

Q 2)¿Qué sucedió cuando presionas los botones en la APLICACIÓN OSOYOO WiFi UDP Robot Car?
R: Cuando presiona un botón de la APLICACIÓN, la APLICACIÓN enviará un mensaje de una sola letra a través del protocolo UDP al dispositivo de destino (en este ejemplo, nuestro Arduino WIFI Shield)

Botón mensaje UDP
F1 F
F2 G
F3 H
F4 I
F5 J
F6 K
A
B
R
L
Cuadrado E
obstáculo O
seguimiento T

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

La línea 233 a la línea 250 en el archivo m2-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 automóvil haga que el automóvil 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;
      }