Tabla de contenido:

Vehículo para evitar colisiones con Arduino Nano: 6 pasos
Vehículo para evitar colisiones con Arduino Nano: 6 pasos

Video: Vehículo para evitar colisiones con Arduino Nano: 6 pasos

Video: Vehículo para evitar colisiones con Arduino Nano: 6 pasos
Video: Como hacer Carro que EVITA OBSTÁCULOS | ARDUINO | Obstacle Avoiding Car | ARDUINO 2024, Noviembre
Anonim
Vehículo para evitar colisiones con Arduino Nano
Vehículo para evitar colisiones con Arduino Nano
Vehículo para evitar colisiones con Arduino Nano
Vehículo para evitar colisiones con Arduino Nano

Un vehículo que evita colisiones podría ser un robot muy simple para comenzar a sumergirse en la microelectrónica. Lo usaremos para aprender los elementos básicos en microelectrónica y mejorarlo para agregar sensores y actuadores más sofisticados.

Componentes básicos

· 1 Mini USB Arduino Nano o clon

· 1 placa de extensión Arduino Nano Shield

· 1 sensor ultrasónico HC-SR04

· 2 Servos de rotación continua de 360 grados (FS90R o similar)

· 1 caja de batería para 4xAA

· Cables de salto de tablero (F-F, M-F, M-M)

· 2 ruedas para servos

· 1 estructura para el vehículo (coche de juguete, ladrillo de leche, madera contrachapada…)

Componentes adicionales

Para indicación de luz:

· 1 LED RGB

· 1 mini tabla de pan

· 3 resistencias 330W

Para control remoto:

· 1 sensor receptor de infrarrojos (TSOP4838 o similar)

· 1 mando a distancia por infrarrojos

Para seguimiento de línea / detección de bordes:

· 2 sensores de seguimiento de línea de barrera TCRT5000 reflectantes de infrarrojos

Elementos alternativos

Puede sustituir los servos por:

· 2 motores DC con engranaje y llanta de plástico

· 1 módulo de placa controladora de controlador de motor de puente doble H L298

Paso 1: instale el software y los controladores

Trabajaremos con microcontroladores basados en Arduino, puedes elegir Arduino UNO o cualquier otro pero por los requisitos y el tamaño tomé un Arduino Nano Clone (de China) así que con todas estas opciones debes usar Arduino IDE para codificarlas.

Puede descargar el software desde la página web oficial de Arduino y seguir las instrucciones para instalarlo. Una vez que termine, abra el IDE de Arduino y seleccione la placa (en mi caso usaré la opción “Arduino Nano”).

Arduino Nano Clone: una opción barata para una placa Arduino es comprar una placa clon de China. Funcionan con el chip CH340 y requerirá la instalación de un controlador específico. Hay muchos sitios web para descargar el controlador para Windows, Mac o Linux y también con las instrucciones. Para Mac, a veces puede enfrentar un problema para reconocer el puerto serie, si le sucede a usted, intente seguir las instrucciones de este enlace. Si después de eso detecta el puerto serie pero aún tiene problemas, intente seleccionar “ATMega 328P (Old Bootloader)” en Arduino IDE / tools / processor.

Vaya a la sección de codificación para ver el código que usé para mi vehículo. Puede navegar por la web en busca de muchas otras opciones o codificar usted mismo si lo desea.

Paso 2: elija una buena estructura para su vehículo

Elija una buena estructura para su vehículo
Elija una buena estructura para su vehículo
Elija una buena estructura para su vehículo
Elija una buena estructura para su vehículo
Elija una buena estructura para su vehículo
Elija una buena estructura para su vehículo
Elija una buena estructura para su vehículo
Elija una buena estructura para su vehículo

Esta vez usé un carro de juguete lo suficientemente grande como para contener la electrónica en su interior, pero puedes usar otros materiales como ladrillos o madera contrachapada para diseñar tu propio vehículo. Eche un vistazo a otra opción como el ladrillo de leche.

Es mejor dedicar unos minutos a planificar dónde colocar todos los elementos antes de comenzar y confirmar que todo quedará acomodado. Prepara la estructura.

Paso 3: Instale De Drive

Instalar De Drive
Instalar De Drive
Instalar De Drive
Instalar De Drive
Instalar De Drive
Instalar De Drive

El movimiento del vehículo será a través de un solo eje, en este caso el eje trasero. Puede mantener la parte delantera solo para rodar o, según su diseño, usar una tercera rueda o un punto de deslizamiento solo para equilibrar su vehículo (como el ladrillo de leche, usé el grifo como "tercera rueda"). El giro de su vehículo se realizará cambiando la velocidad y / o la dirección de rotación de los servos.

SUGERENCIA: antes de personalizar tu estructura, planifica la posición final de las ruedas y comprueba que no chocan contra nada. En este ejemplo, el centro del eje del servo se ubicará un poco más abajo que el eje del coche de juguete original porque la rueda del servo es un poco más grande y podría golpear los guardabarros)

Paso 4: Instale el sensor ultrasónico

Instale el sensor ultrasónico
Instale el sensor ultrasónico
Instale el sensor ultrasónico
Instale el sensor ultrasónico

El sensor ultrasónico escaneará la parte delantera del vehículo para identificar cualquier obstáculo y permitir la reacción del código. Debe colocarlo en la parte delantera sin que ninguna parte del vehículo interrumpa las señales.

Paso 5: coloque el microcontrolador y la caja de la batería

Coloque el microcontrolador y la caja de la batería
Coloque el microcontrolador y la caja de la batería
Coloque el microcontrolador y la caja de la batería
Coloque el microcontrolador y la caja de la batería
Coloque el microcontrolador y la caja de la batería
Coloque el microcontrolador y la caja de la batería
Coloque el microcontrolador y la caja de la batería
Coloque el microcontrolador y la caja de la batería

Puede dejar ahora colocar los elementos restantes en la estructura, arreglarlos si es posible o al menos asegurarse de que no dañen las conexiones.

Es muy útil instalar un interruptor on / off para la batería si no tiene nadie por defecto. También puede agregar un sensor de infrarrojos para arrancar / detener el vehículo.

Si va a agregar algún componente adicional, ahora es el momento.

SUGERENCIA: para aumentar el agarre del vehículo, coloque la caja de la batería o los componentes más pesados sobre el eje motriz o cerca de él.

Paso 6: Sección de codificación

Para este programa, también necesitará instalar algunas bibliotecas como "Servo.h" (para el servocontrol), "NewPing.h" (para un mejor rendimiento del sensor ultrasónico) o "IRremote.h" si va a utilizar un sensor de infrarrojos. Puede seguir las instrucciones de instalación en este enlace.

Como opción, puede reemplazar los servos por motores de CC y necesitará un controlador de motor de puente H doble para controlarlos. Probablemente lo publicaré en futuras actualizaciones, pero ahora el código solo funciona con servos.

Los servos de rotación continua son ligeramente diferentes a los servos normales; a veces puede modificar los regulares para hacerlos rotar continuamente, pero para este proyecto usaremos los FS90R, que están construidos para nuestro requerimiento. Para operar los servos regulares tienes que dar el grado en que quieres posicionarlo, pero para los servos de rotación continua debes considerar que:

· 90 se detendrá para el servo

· Menos de 90 (hasta 0) será rotación en una dirección donde 89 es la velocidad más lenta y 0 la más rápida.

· Más de 90 (hasta 180) habrá rotación en la dirección opuesta, siendo 91 la más lenta y 180 la más rápida.

Para calibrar tus servos, debes ponerlos en 90 y ajustar el pequeño tornillo opuesto a la rueda para detener la rotación si se está moviendo (por favor, haz esto antes de colocarlos en la estructura)

Puede usar el sensor ultrasónico con muchas otras bibliotecas, pero tenga cuidado al codificarlo porque un problema que puede enfrentar con estos sensores es el tiempo de inactividad que debe esperar desde la emisión de la señal ultrasónica hasta la recepción. Algunos ejemplos que puede encontrar en Internet son la codificación mediante "retraso", pero afectará a su robot porque dejará de "retrasar" cualquier otra acción durante el tiempo que especificó. Puedes saber cómo funcionan los sensores ultrasónicos en este enlace.

Al igual que los motores de CC, no voy a usar el sensor de infrarrojos en este ejemplo, se describirá en publicaciones futuras.

Recomendado: