
| Buy from OSOYOO | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES | Buy from JP | 
|  |  |  |  |  |  |  | 

En esta lección, te enseñaremos cómo utilizar una aplicación móvil para controlar un coche robot a través del protocolo UDP. El Raspberry Pi ejecutará un programa en Python para recibir paquetes UDP desde la aplicación.

| No. | Picture | Device | Qty. | Accessories | Link | 
| 1 |  | Sensor ultrasónico | 1 | Tornillo M1.4*8 x 4 Tuerca M1.4 x 4 | Comprar | 
| 2 |  | Servo Motor | 1 | Tornillo autorroscante M2.2*8 x 2 Tornillo autorroscante M2 * 4 x 1 | Comprar | 
| 3 |  | Mount Holder for Ultrasonic Sensor | 1 | Tornillo M1.4*8 x 4 Tuerca M1.4 x 4 Tornillo autorroscante M2 * 4 x 1 | Comprar | 
| 4 |  | Módulo sensor de seguimiento | 1 | Tornillo de plástico M2.5 x 2 Tuerca de plástico M2.5 x2 Pilar de plástico M2.5 x 2 | Comprar | 
| 5 | Cable hembra a hembra de 7 pines y 25 cm | 1 | Comprar | ||
| 6 |  | Cable de puente de 10 pines hembra a hembra de 20 cm | some | ||
| 7 |  | destornillador | 1 | Comprar | 

Primero, instala la Lección 3 (Seguimiento de línea ) y la Lección 4 (Evitación de obstáculos) .

Recuerda: Mantén todos los cables instalados en las Lecciones 1 a 4.

| APLICACIÓN Robot Wifi Osoyoo |  | buscar “Osoyoo WIFI UDP Robot APP” en Google Play o tienda de Apple (Si no encuentras esta APP en Google Play, puedes descargar directamente la APP desde el siguiente enlace: https://osoyoo.com/driver/udp-app.apk) | 
Paso 1) Descarga la aplicación OSOYOO WIFI UDP Robot Car Control
En Google Play o en la App Store, busca las palabras clave “OSOYOO WIFI UDP Robot Car”. Encontrarás una aplicación con un icono naranja como el siguiente (Nota: Si no encuentras esta APP en Google Play, puedes descargar directamente la APP desde el siguiente enlace: https://osoyoo.com/driver/udp-app.apk):


Paso 2) Asegúrate de haber instalado las bibliotecas rpi.gpio y adafruit-pca9685 en la Lección 1.
Paso 3) Escribe el siguiente comando para descargar el código de ejemplo:
wget http://osoyoo.com/driver/servo-steer-car/picar-udp.py
Paso 4) Escribe el siguiente comando para ejecutar el código de ejemplo:
python picar-udp.py
o si deseas utilizar Python3, escribe:
python3 picar-udp.py
Una vez que el código Python anterior esté en ejecución, tu coche estará esperando comandos desde tu teléfono móvil.
Paso 5) Conecta tu teléfono al mismo router Wi-Fi que utiliza tu Raspberry Pi. Abre la aplicación, haz clic en “Configuración”, ingresa la dirección IP de tu Raspberry Pi y el puerto 8888 en la configuración:

Ahora puedes hacer clic en las teclas de dirección < > ^ v para mover el coche. Usa la tecla || para detener el movimiento del coche.
Si haces clic en la tecla “Obstáculo”, el coche evitará automáticamente los obstáculos, similar a la Lección 4
Si haces clic en la tecla “Seguimiento”, el coche seguirá automáticamente una línea, similar a la Lección 3
Nota: F1~F6 son funciones de desarrollo futuro.
Preguntas frecuentes sobre la aplicación UDP WIFI y el código de ejemplo:
P 1) ¿Cómo ajustar la velocidad del coche robot?
R: Si deseas cambiar el rendimiento de velocidad del coche robot, cambia los valores de los siguientes parámetros en las líneas 19-21 del archivo picar-udp-control.py :
high_speed = 3500 # Longitud máxima de pulso de 4096 mid_speed = 1900 # Longitud máxima de pulso de 4096 low_speed = 1700 # Longitud máxima de pulso de 4096
P 2) ¿Qué ocurre cuando presionas los botones en la aplicación OSOYOO WiFi UDP Robot Car?
R: Cuando presionas un botón en la aplicación, esta envía un mensaje de una sola letra a través del protocolo UDP al dispositivo objetivo Raspberry Pi.
| 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 | 
P 3) ¿Cómo maneja el programa Python del Raspberry Pi el comando UDP?
El bucle while de las líneas 319 a 347 recibe datos UDP desde la aplicación y los asigna a la variable cur_status. La función ticker en las líneas 292 a 307 maneja la variable cur_status de la siguiente manera :
def ticker():	
    if cur_status=='R':
    	turnRight(high_speed,0)
    if cur_status=='L':
    	turnLeft(0,high_speed)
    if cur_status=='A':
    	forward(mid_speed,mid_speed)
    if cur_status=='B':
    	backward(mid_speed,mid_speed)
    if cur_status=='E':
    	stopcar()
    if cur_status=='T':
    	line_tracking()
    if cur_status=='O':
    	obstacle_avoid()
Por ejemplo, cuando se presiona el botón ▲ en la aplicación, el valor de cur_status es A, luego la función ticker() llama a la función forward(mid_speed, mid_speed) para hacer avanzar el coche.
DownLoad Url osoyoo.com