Configuración del Software
- Abra el VSCode desde el directorio de aplicaciones en la unidad flash
- Abra una terminal en Visual Studio Code desde el menú Terminal→New Terminal
- Escriba el siguiente comando y presione enter para descargar el código de Python para esta lección
wget http://osoyoo.com/driver/picar/picar-obstacle-avoid.py
- Escriba el siguiente comando y presione enter para hacer que el PiBot conduzca y evite obstáculos
El PiBot primero girará el sensor ultrasónico de distancia hacia el frente durante 3 segundos. Si el sensor no mira hacia el frente del PiBot durante estos tres segundos, mantenga presionadas las teclas control + C para finalizar el programa. Luego quite el tornillo M2x4mm que sujeta el sensor ultrasónico de distancia al micro servomotor y vuelva a colocarlo de manera que mire hacia el frente del PiBot. Luego, vuelva a instalar el tornillo M2x4 mm para sujetar el sensor ultrasónico de distancia al micro servomotor, escriba el comando nuevamente y presione Intro.
python3 picar-obstacle-avoid.py
- Mantenga presionadas las teclas Ctrl + C para detener el PiBot
Explicación del Software
- Busque la línea 33 en el archivo picar-obstacle-avoid.py. ¿Cuál es el nombre de las variables en esa línea y las que están debajo de ella? ¿Para qué crees que sirven según sus nombres?
Si no recuerda qué es una variable, revise la descripción de Lección 1
Estas variables establecen la salida PWM que le dice al micro servomotor en qué dirección apuntar. Si el sensor ultrasónico de distancia no apunta hacia adelante y no puede hacer que apunte hacia adelante ajustándolo, puede ajustar el lugar al que apunta cambiando estos valores. Si cambia el valor de servo_ctr, asegúrese de cambiar los otros dos valores para que haya la misma diferencia entre ellos y el valor de servo_ctr.
- Encuentre dónde está definida la función de medida. ¿Qué está haciendo? Compare los pasos de la función con la sección “Timing Diagram” de datasheet para el sensor ultrasónico de distancia. ¿El código coincide con lo que dice la hoja de datos para hacer una medición y calcular la distancia?
Si no recuerda lo que hacen las declaraciones while, revise Lección 2 para refrescarse.
La hoja de datos de los sensores del robot le indica cómo interactuar con ellos y obtener los datos que necesita. Si nadie más ha escrito un software para usar el sensor, siempre puede escribir uno propio usando la hoja de datos para saber qué hacer.
Consulte la sección Descripción Eléctrica en la página anterior para obtener una descripción de cómo funciona el sensor.
- Encuentra el bucle principal en el código. ¿Qué hace el código para que el robot detecte los obstáculos y se mueva? ¿Qué harías para que se mueva más suave sin detenerse? Realice esos cambios en el código y guárdelo con File→Save
La datasheet requiere una cantidad mínima de tiempo entre mediciones. Asegúrese de que haya suficiente tiempo después de los cambios para que las medidas no se estropeen.
Detener el PiBot mientras se toman medidas asegura que tiene suficiente tiempo para tomar una decisión en qué dirección ir. Cuando lo hace conducir continuamente, debe asegurarse de que pueda tomar las medidas y tomar una decisión antes de que se mueva lo suficiente como para chocar con algo.
- Escriba el siguiente comando en la terminal de Visual Studio Code y presione enter para hacer que el PiBot se mueva con sus cambios
python3 picar-obstacle-avoid.py
- Cuando haya terminado de probar sus cambios, escriba el siguiente comando en la terminal de Visual Studio Code y presione Intro para apagar el PiBot.
sudo shutdown -h now
- Haga clic en el pequeño rectángulo verde en la esquina inferior izquierda de la pantalla y seleccione “Close Remote Connection”
- Espere de 3 a 5 minutos para que la luz verde de la Raspberry Pi deje de parpadear y apague el interruptor de la batería del PiBot.