Robot Arduino

ARDUBOT
Índice

 

  1. Introducción.
  2. Componentes.
  3. Esquema de conexión.
  4. Proceso de montaje
  5. Código
  6. Problemas y soluciones
  7. Posibles mejoras.
1.Introducción
 
Ardubot es un proyecto pensado para realizar diferentes funciones en un solo robot, usando arduino como ‘cerebro’. Ardubot será capaz de: Detectar objetos, movimiento o incluso sonido. Adaptando su movimiento a estos estímulos, Ardubot será capaz de recibirlos e interpretarlos. Entre otras funciones, esquiva objetos, reacciona a estímulos auditivos y sigue objetos.
 
Un robot es algo ya muy clásico, por eso pensamos en darle diferentes funciones con diferentes sensores, para hacerlo así más interesante y dinámico.

 

2.Componentes
Arduino UNO rev3.
 

 

Sensor de distancia HC-SR04

 

 

 

Adaptador LRE-A
 

 

Controlador de motores L298N

 

Chasis de robot 2WD
 

 

Cables macho-macho y hembra-macho.
Sensor de sonido  STK0114016717
Resultado de imagen de sensor de sonido arduino

 

Componente
Precio
Placa Arduino UNO
Cedido
Protoboard
Cedido
Sensor de distancia HC-SR04
4.50€
Controlador de motores L298N
5.99€
Cables macho-hembra
3€
Cables macho-macho
Cedido
Sensor de sonido  STK011401
1.43€
Chasis
19.99€
Adaptador LRE-A
2.95€
Pistola de silicona
11.99€
Pilas
18€
Otros
5€
TOTAL
72.85€

 

3.Esquemas de conexión

 

En este apartado explicaremos los esquemas que hemos seguido para para hacer que funcione nuestro robot. En primer lugar mostraremos cómo conectamos el sensor de obstáculos a la placa arduino para los programas para los que son necesarios. En segundo lugar tenemos el esquema del controlador de motores, y después explicamos cómo unimos los dos dispositivos en uno. Y por último aparece el esquema del sensor de sonido. Y al final un esquema con todo el proyecto terminado.
Sensor HC-SR04
Este sensor se encarga de medir la distancia a la que se encuentran los objetos.

 

 

Probamos este sensor, con un código de prueba, que te muestra la distancia a la que se encuentran los objetos, para ver que funcionaba correctamente, fuimos imprimiendo en el monitor serie las distancias que el sensor iba capturando.

 

distancia hc-sr04 leantec

 

Controlador de motores L298N
Permite el manejo de dos motores de corriente continua, segura y fácil. Tras conectarlo, buscamos un código de prueba para verificar que todo funcionaba correctamente.
 
 
 

 

Montaje de ambas piezas: Aquí pasamos a juntar los dos dispositivos, tanto el sensor de distancias como el controlador de motores, quedando el siguiente esquema.

 

 

Esquema de montaje de dispositivo de sonido: Para montar el dispositivo de sonido simplemente conectamos la salida A0 a pin A0 del arduino, la salida G al GND del arduino, el + al 5V y por último la salida D0 al pin 10.

 

 

Probamos que funciona, introduciendo un código de prueba,  con esta gráfica nos marcaba el valor de los sonidos que escuchaba.

 

 

Por último mostramos todo el hardware completo con las conexiones que hicimos anteriormente. A partir de aquí podíamos ir subiendo de dificultad los códigos que teníamos y los que íbamos realizando, también podian ser modificados para que utilizaran finalmente los 4 dispositivos.

 

 
 

 

4.Proceso de montaje

 

 
 
5. Códigos
 
Empezamos creando códigos más sencillos, y con pocos componentes, poco a poco fuimos introduciendo más cosas.

 A continuación pondremos diferentes códigos, de los “más simples” a los más complejos.

“Ardubot re-bobina”
En este modo, se pone un poco tímido, cuando te acercas a él, éste se aleja.

 

 
El siguiente enlace muestra el funcionamiento de este código
“Ardubot follower”
Seguirá un objeto, manteniendo siempre una distancia de seguridad sobre el, por si tiene que dar una frenada inesperada.

 

 
El siguiente enlace muestra el funcionamiento de este código
“Ardubot pies seguros”:
Con este código, se moverá sin chocar con ningún obstáculo, cuando se encuentre uno, retrocede ligeramente y se ira hacia otra dirección.
 
El siguiente enlace muestra el funcionamiento de este código





Segunda versión: En este caso es una versión mejorada del programa anterior, ya que cuando detecta un objeto, en vez de pararse y retroceder, directamente gira.

 
El siguiente enlace muestra el funcionamiento de este código

 

“Ardubot pide ruido”
Con este código, solo se moverá cuando se le anime, si deja de escuchar, parará hasta que se le vuelva a animar.
 
El siguiente enlace muestra el funcionamiento de este código
6.Problemas y soluciones
Problemas con el Adaptador LRE-A: Al principio de nuestros primeros montajes, probamos los diferentes sensores, pero no hicimos pruebas de esta pieza. Al programar los primeros códigos usando este adaptador, que la utilidad que tiene, es sujetar el sensor de objetos, nos desesperamos un poco porque no nos funcionaba como nosotros queríamos. No conseguimos solventar la situación, pensábamos que el problema era del código empezamos a buscar y programar de otras maneras, pero esto no soluciono el problema. Después de muchas horas y días, quitamos este adaptador, y el sensor empezó a funcionar correctamente.
El adaptador estaba o bien mal de fábrica, o dañado por nosotros en alguna prueba, y no hacia su función correcta, tirando por borda todo nuestro trabajo, al quitarlo y adaptar el sensor de otra manera, pudimos seguir trabajando en Ardubot.
Controlador de motores L298N: Este dispositivo tiene algunas entradas que no sujetan bien los cables, para lo que hubo que usar celo para mantenerlos.
Problemas con delay: Al principio dimos por supuesto que es el tiempo que para al detectar un objeto, usándolo de esta manera y no entendiendo que pasaba. Al final nos dimos cuenta que este delay era el tiempo que tardaba en coger una nueva distancia.
Parada del robot: A la hora de parar los motores tuvimos una serie de problemas ya que desconociamos la manera exacta de pararlos y buscando en internet encontramos diversas maneras que no nos funcionaba ninguna. Finalmente encontramos la manera de parar los motores creando un void parada() y dentro asignando a los motores el valor LOW.
También aparecieron problemas a la hora de hacer funcionar los motores ya que necesitábamos una librería, por lo que el hecho de introducirla fue uno de los primeros problemas que nos surgió.
Con las ruedas nos apareció un pequeño problema ya que al principio giraban una para cada lado, pero lo solucionamos cambiando los cables al revés, es decir que teníamos dos de los cables que iban a uno de los motores colocados de forma incorrecta.
Por último decir, que cuando intentamos hacer que el robot comenzase a moverse cuando escuchara un sonido alto, lo conseguimos con bastante facilidad, pero cuando quisimos que también los motores dejaran de funcionar al escuchar otro sonido, no sabíamos cómo hacerlo por lo que lo dejamos como lo teníamos.
7.Posibles mejoras
Son muchas las posibles mejoras que se le pueden dar, empezando por su aspecto y acabando por su funcionalidad.
Ponerle un dispositivo al sensor de distancia, para que gire este hacia derecha e izquierda, ampliando así su ángulo de visión.
Botón, añadir un botón de apagado y encendido, o en su defecto que siga funcionando con sonido y que, igual que empieza a funcionar cuando escucha un sonido alto, que también se pare cuando vuelve a escucharlo.
8.Conclusiones
Decir simplemente que aunque haya sido un proyecto que nos ha llevado la paciencia al límite en varias ocasiones, nos hemos llevado la experiencia de montar nosotros mismos un robot.
Decir también que en general el proyecto ha sido difícil de realizar pero cuando las pruebas funcionaban, nos motivamos para seguir haciendo que funcionara de distintas formas.
Finalmente concluimos la memoria declarando que conseguimos realizar un proyecto del que nos sentimos orgullosos ya que nos ha ido funcionando tal y como queríamos, aunque sí que nos hubiese gustado poder poner varias funciones más como que detectara los objetos de alrededor con algo parecido a un cuello que girara para que no se chocara de lado.

9.Enlaces
Los enlaces a los vídeos están más arriba, en la descripción de cada “modo” que el robot tiene.

Códigos, memoria y presentación https://drive.google.com/drive/folders/0B5v8WZhoNWHfcXhWNC1rUjZQQ1k

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *