Objetivos
.
Material requerido
Robot educativo |
PREPARAR EL CIRCUITO Y CALIBRAR LOS SENSORES
Como ya hemos comentado anteriormente, tenemos que utilizar un material para dibujar el circuito que sea de un color más claro o más oscuro que la superficie en la que lo vayamos a dibujar, y cuanto mayor sea el contraste mejor.
Otra directriz importante es que las curvas no pueden ser demasiado fuertes, como por ejemplo un ángulo recto, o los dos sensores se saldrían a la vez del circuito y el robot no se percataría de la dirección en la que debería girar.
- Si necesitáis que el robot detecte curvas muy fuertes, como por ejemplo ángulos rectos, podéis solucionarlo poniendo los sensores con más separación que la anchura del circuito.
- De esta forma, e invirtiendo la lógica del programa, podemos hacer que detecte los giros por cerrados que sean.
Aquí podéis ver el circuito que hemos diseñado nosotros:
INTEGRAR Y CALIBRAR LOS SENSORES INFRARROJOS
Primero vamos a colocar los sensores infrarrojos en el chasis del coche. Los sensores tienen que quedar cerca de la superficie así que vamos a usar unas varillas roscadas por el interior para atornillarlos. Los colocaremos en la parte delantera del robot:
Atornillamos las varillas al chasis y en la parte inferior atornillamos los infrarrojos, utilizando el agujero que tienen en el centro. Nos va a quedar así:
Conectaremos los sensores como hemos visto en la sesión anterior, nosotros vamos a conectar el sensor izquierdo al pin digital 9 y el derecho al 8. A parte de eso sólo tenemos que conectarlos a la alimentación y GND.
- Podéis conectar la alimentación de los sensores a la salida de 5V del L298N
- O si preferís podéis usar los pines 5V y 3.3V para alimentarlos.
- En teoría funcionan a 5V pero también lo hacen con 3.3V.[/fancy-ul] [/three-fourth]
Tenéis que aseguraros que los sensores infrarrojos estén bien calibrados, de forma que no detecten la luz reflejada encima del circuito que hemos hecho en negro y sí lo hagan en la superficie en la que lo hayamos puesto, o al revés si lo hacéis con un circuito claro sobre una superficie oscura. Para hacerlo no hace falta que programéis nada, si se enciende el LED del infrarrojo significa que está recibiendo la luz rebotada, sino se enciende, no lo está haciendo.
ALGORITMO Y PROGRAMACIÓN
Antes de empezar a programar, vamos a recordar cómo se supone que debería funcionar el robot:
Como ya hemos comprobado el sentido de giro sólo tenemos que sustituir las teclas que usábamos para mover el coche por las lecturas de los sensores. Pero primero vamos a crear tres variables, una en la que fijaremos la velocidad y una para cada sensor.
Haremos que las variables de los sensores tomen en todo momento el valor de las entradas a las que los hemos conectado. De esta manera tendremos claro en todo momento cuál es el izquierdo y el derecho en vez de tener que acordarnos del número del pin al que están conectados.
- Recordad que esta vez tenemos que empezar el programa con el bloque «Programa de Arduino», ya que queremos cargarlo en el robot y poder prescindir del cable.
Para que el robot se mueva hacia delante los dos sensores deberían estar sobre el circuito dibujad en negro, o sea que deberíamos estar recibiendo un «1» en las dos entradas digitales a las que los hemos conectado.
Si el robot se desvía hacia la izquierda, el sensor izquierdo transmitirá «0», y tendremos que hacer que gire hacia la derecha para corregirlo.
Y siguiendo la misma lógica, hacemos que gire a la izquierda si se ha salido por la derecha y que se pare si se ha salido del circuito totalmente (que esperemos que no ocurra).
Y ahora sólo nos queda la prueba de fuego, que si todo ha ido bien, debería ser parecida al siguiente vídeo. Os animamos a tratar de mejorar el diseño y la programación para conseguir que nuestro robot siga el circuito de la forma más rápida y eficiente posible.
Resumen de la sesión
En esta sesión hemos aprendido varias cosas importantes: