Carrito evasor de obstáculos con Arduino, con sensor ultrasónico y servomotor, en protoboard y baquelita.
1.-INTRODUCCION:
El
objetivo de este proyecto será crear un robot que avance recto
mientras no detecte la presencia de un obstáculo. En caso de detectar algún
obstáculo en su camino debe ir girando sobre sí mismo hasta que esquive el
obstáculo y pueda seguir su camino. El sensor HC-SR04 nos permitirá
percibir la presencia de un obstáculo y con el control de los motores de
corriente continua podremos accionar nuestro robot para avanzar y girar ante
los obstáculos.
Este circuito es uno de los proyectos que más entusiasman a estudiantes y aficionados de la robótica y/o la Electrónica. Con la ayuda del tutorial y el código podrás ponerlo en funcionamiento este robot. El robot es capaz de esquivar obstáculos a una distancia (en nuestro caso 15cm) definida en el programa girando a la derecha antes de colisionar con el objeto.
2.-DIAGRAMA: A continuación, les dejo el diagrama, donde allí se ve todas las conexiones a realizar, estamos utilizando el Arduino uno, un servomotor SG90, y un sensor ultrasónico el HC-SR04, descarguen el diagrama para que puedan ensamblar el circuito en la protoboard.
3.-MATERIALES:
A continuación, les dejo
todos los materiales a utilizar.
- Ø 1 sensor ultrasónico el
HC-SR04.
- Ø 1 servomotor, el SG90.
- Ø 1 regulador de voltaje,
el LM7805.
- Ø 1 Arduino UNO.
- Ø 1 circuito integrado,
el L293B para controlar los motores.
- Ø 2 pilas de litio 18650.
- Ø 1 interruptor pequeño.
- Ø 2 motores DC.
- Ø 2 llantas.
- Ø 1 rueda loca.
- Ø 1 protoboard.
- Ø 1 portapilas, para las pilas
de litio.
- Ø 1 base para el robot,
en mi caso realice la base de triplay, y lo pinte de color negro.
- Ø Y cables o jumpers para
realizar todas las conexiones entre el Arduino y la protoboard.
4.-SERVOMOTOR
EL SG90: El servomotor
SG90 es de tamaño pequeño ideal para proyectos de bajo torque y donde se
requiera poco peso. Muy usado en aeromodelismo, pequeños brazos robóticos y
mini artrópodos. Un servo ideal para aprender a programar en Arduino.
Puede rotar aproximadamente
180 grados (90° en cada dirección). Tiene la facilidad de poder trabajar con
diversidad de plataformas de desarrollo como Arduino, PICs, Raspberry Pi, o en
general a cualquier microcontrolador.
Los
cables en el conector están distribuidos de la siguiente forma:
- v Café o marron = Tierra (Gnd).
- v Rojo = VCC (5V).
- v Naranja = Señal de control (PWM).
Características:
- Ø Voltaje de Operación: 3.0 - 7.2V.
- Ø Velocidad: 0.1seg / 60 grados
- Ø Torque reposo: 1.3Kg x cm (4.8V), 1.6Kg (6.0V)
- Ø Ancho de pulso: 4useg (Dead band)
- Ø Dimensiones: 22*11.5*27 mm
- Ø Longitud del conductor: 150mm
5.-SENSOR ULTRASONICO HC-SR04: El sensor HC-SR04 es un sensor de distancia de bajo costo que utiliza ultrasonido para determinar la distancia de un objeto en un rango de 2 a 450 cm. Destaca por su pequeño tamaño, bajo consumo energético, buena precisión y excelente precio. El sensor HC-SR04 es el más utilizado dentro de los sensores de tipo ultrasonido, principalmente por la cantidad de información y proyectos disponibles en la web.
De igual forma es el más
empleado en proyectos de robótica como robots laberinto o sumo, y en proyectos
de automatización como sistemas de medición de nivel o distancia.
El sensor HC-SR04 posee dos transductores: un emisor y un receptor piezoeléctricos, además de la electrónica necesaria para su operación. El funcionamiento del sensor es el siguiente: el emisor piezoeléctrico emite 8 pulsos de ultrasonido(40KHz) luego de recibir la orden en el pin TRIG, las ondas de sonido viajan en el aire y rebotan al encontrar un objeto, el sonido de rebote es detectado por el receptor piezoeléctrico, luego el pin ECHO cambia a Alto (5V) por un tiempo igual al que demoró la onda desde que fue emitida hasta que fue detectada, el tiempo del pulso ECO es medido por el microcontrolador y así se puede calcular la distancia al objeto. El funcionamiento del sensor no se ve afectado por la luz solar o material de color negro (aunque los materiales blandos acústicamente como tela o lana pueden llegar a ser difíciles de detectar).
Características del hc-sr04:
- Ø Voltaje de Operación:
5V DC
- Ø Corriente de reposo:
< 2mA
- Ø Corriente de trabajo:
15mA
- Ø Rango
de medición: 2cm a 450cm
- Ø Precisión:
+- 3mm
- Ø Ángulo de apertura:
15°
- Ø Frecuencia de
ultrasonido: 40KHz
- Ø Duración mínima del
pulso de disparo TRIG (nivel TTL): 10 μS
- Ø Duración del pulso
ECO de salida (nivel TTL): 100-25000 μS
- Ø Dimensiones: 45mm x
20mm x 15mm
- Ø Tiempo mínimo de
espera entre una medida y el inicio de otra 20ms (recomendable 50ms)
6.-ARDUINO UNO: Arduino
es una plataforma de creación de electrónica de código abierto, la cual está
basada en hardware y software libre, flexible y fácil de utilizar para los
creadores y desarrolladores. Esta plataforma permite crear diferentes tipos de microordenadores
de una sola placa a los que la comunidad de creadores puede darles diferentes
tipos de uso.
Para poder entender este
concepto, primero vas a tener que entender los conceptos de hardware libre y
el software libre. El hardware libre son los dispositivos cuyas
especificaciones y diagramas son de acceso público, de manera que cualquiera
puede replicarlos. Esto quiere decir que Arduino ofrece las bases para que
cualquier otra persona o empresa pueda crear sus propias placas, pudiendo ser diferentes
entre ellas, pero igualmente funcionales al partir de la misma base.
La placa Arduino
UNO es la mejor placa para iniciar con la programación y
la electrónica. Si es tu primera experiencia con la plataforma Arduino, el Arduino UNO es la opción más robusta, más usada y con mayor cantidad de
documentación de toda la familia Arduino.
Arduino
UNO es una placa basada en el microcontrolador ATmega328P.
Tiene 14 pines de entrada/salida digital (de los cuales 6 pueden ser usando con
PWM), 6 entradas analógicas, un cristal de 16Mhz, conexión USB, conector jack
de alimentación, terminales para conexión ICSP y un botón de reseteo. Tiene
toda la electrónica necesaria para que el microcontrolador opere, simplemente
hay que conectarlo a la energía por el puerto
USB ó
con una pila de 9 o 12v por el conector Jack.
7.-CIRCUITO INTEGRADO L293B: El Driver puente H para motores L293B es un circuito integrado de cuatro canales diseñado para manejar cargas inductivas tales como relevos, solenoides, motores DC y motores paso a paso, muy similar al L293D pero con una salida máxima de corriente de 1A por canal, en la configuración conocida como puente H. Es posible configurarlo para manejar hasta 2 puentes H. El control de las entradas digitales del L293B puede hacerse desde cualquier microcontrolador, Arduino, Raspberry pi, TI Launchpad, BeagleBone, o cualquier otro sistema embebido.
Características:
- Ø Salida de corriente por canal de forma
continua: 1A.
- Ø Salida de corriente por canal pico (No
repetitivo): 2A.
- Ø Pin o patilla para la función
habilitador o Enable: 2.
- Ø Máximo voltaje soportado por los pines
Enable: 7Vdc.
- Ø Protección de sobrecalentamiento.
- Ø Rango de voltaje de alimentación: 4.5Vdc
a 36Vdc.
- Ø Rango de temperatura de operación: -40°C
a +150°C.
- Ø Encapsulado: DIP-16.
- Ø Fabricante: STMicroelectronics.
Aplicaciones:
- Ø Control de cargas inductivas: Relevos, Solenoides, Motores DC, Motores
PAP.
- Ø Puentes H.
Medidas del triplay: 10cm X
21cm.
Antes de hacer todas las conexiones de todo el circuito, les recomiendo que primero carguen el código al Arduino, el código es muy simple y consta de pocos comandos, a continuación, les dejo el código para que lo puedan descargar y luego lo carguen al Arduino UNO.
Link de descarga:
Ahora si vamos a ensamblar el
circuito, les invito para que descarguen el diagrama para poder guiarse y poder
realizar todas las conexiones, primero vamos a ensamblar la protoboard con el Arduino,
les dejo una imagen de como me va quedando mi circuito.
Luego conectamos el servomotor
SG90, lo vamos a pegar con silicona en la parte delantera del carrito, y sobre el
servomotor vamos a pegar el sensor ultrasónico, como lo vemos en las siguientes
imágenes.
Si tuvieron algún error, en el
siguiente video les muestro paso a paso de como programar y ensamblar el
circuito evasor de obstáculos, les recomiendo ver el siguiente video.
Video:
Para que el circuito quede mas
profesional, en mi caso lo voy a realizar en una baquelita, como ya tenemos el
diagrama y el circuito funcionando perfectamente, entonces vamos a diseñar las
pistas, en mi caso diseño las pistas con el programa Autodesk Eagle versión
8.6.0, es un excelente programa para diseñar circuitos electrónicos, además
allí también podemos crear nuestros propios componentes y darles un nombre al
gusto de uno mismo, a continuación les dejo como unas imágenes de como me quedo
mi circuito, al final del blog estarán los links de descarga del archivo Eagle
en caso lo quieran modificar.
El grabado de mi baquelita le voy a realizar con el método del planchado, es un método muy confiable para hacer circuitos en baquelita, también lo pueden hacer con el método de serigrafia, salen muy bien los circuitos, pero con ese método me toma mas tiempo y es un poquito complicado, es por eso qué realizo el grabado con el método del planchado y además salen muy buenos circuitos, les dejo unas imágenes de como me quedo mi circuito.
Luego lo pasamos por acido férrico para quemar las pistas, introducimos la baquelita en un envase de plástico junto al ácido férrico por 8 minutos aproximadamente, y hay que estar moviéndolo contantemente hasta que el cobre haya salido por completo según las pistas, luego lavamos la baquelita con bastante agua y realizamos los orificios con mini taladro pequeño.
En mi caso el chasis será de triplay,
pueden comprar el kit completo de su tienda de electrónica más cercana, en mi
caso lo realizare en un triplay, a continuación, les dejo unas fotos de cómo me
quedo mi chasis.
Tamaño del triplay: 9cm X 18cm.
Después hay que hacer las
conexiones entre la baquelita y el Arduino uno, recuerden primero que deben de
cargar el código al Arduino, luego conectamos el servomotor y por últimos conectamos
el sensor ultrasónico, les dejo unas imágenes de cómo me quedo mi circuito
terminado.
Si se perdieron en alguna
parte del circuito, en el siguiente video explicamos paso a paso de cómo
realizar el circuito, les invito ver el video:
Vídeo en baquelita:
1.- Diagrama.
https://mega.nz/file/uNJBUQ6Y#rZoCcAzHCtTTd_xm5nEteW2Zu9z9FuTM8byeYKyrR10
2.- Código Arduino.
https://mega.nz/folder/qMQxnK6b#NUTDP7QWxu30zmdE54fNEA
3.- Pistas en PDF.
https://mega.nz/file/3YBnXYgY#LMU9sJF88oZDMN8uI4ARIp6d_UKUNttFhzfQVb3_7ik
4.- Mascara de componentes.
https://mega.nz/file/OVJhyCJQ#JCx7-8LVjdxzF9kGSpBEp9T7Tsw_8_eILN3hjMUXS74
5.- Circuito en Eagle.
Comentarios