Materiales
1 Arduino (en el ejemplo se usa Arduino UNO)
2 servos de rotación continua (ver instrucciones)
1 TetraBrik
2 tapones de botella
2 LEDs (preferentemente rojos de alta luminosidad)
2 resistencias 100ohm para los LEDs
2 fotoresistencias (LDR)
2 resistencias 3.3k para las LDR
4 pilas AA
Un portapilas
Cables para conectarlo todo
Pegamento líquido o cola
Instrucciones
Como sabéis los servos por regla general tienen un ángulo de giro de 180º, pero para este ejemplo necesitamos que gire de forma continua; para ello podemos comprar un servo de rotación continua o bien trucar uno normal.
En nuestro caso hemos elegido la opción de trucar 2 servos que ya teníamos en casa. Para ello lo único que hay que hacer es sustituir el potenciómetro que traen por 2 resistencias del mismo valor como vemos en la imagen.
Tras modificarlos, podemos probarlos utilizando el siguiente sketch: https://gist.github.com/4m1g0/7507480.
El funcionamiento es simple: escribiendo 90 en la salida PWM del servo se mantendrá quieto, con 0 girará a máxima velocidad hacia uno de los sentidos y con 180 en el otro sentido. Con los valores intermedios podemos controlar la velocidad.
El siguiente paso es fabricar las ruedas del robot siguelíneas, para lo que utilizaremos 2 tapones de botella. En nuestro caso el TetraBrick ya tenía un tapón circular, así que lo vamos a utilizar. No importa que ambos tapones no sean exactamente del mismo diámetro, el robot va a poder compensar ese defecto por software. También hemos usado una goma elástica para evitar que resbale.
Seguidamente vamos a hacer los sensores, para lo que montamos la pequeña placa de prototipos que se ve en la siguiente imagen:
Los LDR los hemos rodeado con cinta termo-retráctil negra, para que la luz solo incida verticalmente, pero podéis hacer el mismo efecto con un poco de cinta aislante negra que lo rodee.
Ten en cuenta que en el caso del dibujo, la líneas de la placa perforada están unidas verticalmente. En el esquema podemos ver en detalle como se conecta uno de los dos sensores. Vo es la conexion con el pin A0 y A1 respectivamente del arduino.
Posteriormente hemos tapado también el led y el LDR juntos de modo que la luz no se disperse y hemos procedido a probarlo, para ello hemos usado el siguiente sketch: https://gist.github.com/4m1g0/7508128
Al iniciar el programa de Arduino debe colocar ambos sensores en una zona blanca (o de color claro uniforme), ese será el valor que tome como referencia. Posteriormente puede mover el sensor sobre una línea negra dibujada en el papel y deberá escribir en el terminal lo que haría el robot en esa situación.
Una vez llegados a este punto cortamos el TetraBrick, le hacemos unos agujeros por debajo e introducimos el sensor.
Por último colocamos los servos ligeramente por adelante que la mitad de la caja.
Ahora queda conectarlo todo; en nuestro caso hemos usado un porta pilas impreso en 3D, pero puedes usar cualquier porta pilas o incluso unir las 4 pilas en serie de la mejor manera que puedas. Lo importante, es que necesitamos sacar 3 cables del conjunto:
– 0V (masa)
– 4,5V (para los servos)
– 6V (para el arduino)
En la imagen puedes ver donde hemos conectado los cables para conseguir estos voltajes.
Conectamos:
6V al pin Vin del Arduino.
0V a un pin GND del Arduino.
4.5V a ambos cables de alimentación de los servos (normalmente rojo).
Ambos cables de tierra de los servos los conectamos a 0V (en el porta pilas).
El cable de alimentación del sensor a 5V del Arduino.
El cable de tierra del sensor a un pin GND.
El cable del LDR derecho al pin analógico A0.
El cable del LDR izquierdo al pin analógico A1.
El cable de datos del servo derecho al pin 8.
El cable de datos del servo izquierdo al pin 9.
Finalmente sólo nos resta cargar el código. Nosotros te dejamos un sketch de ejemplo, pero deberás modificarlo adaptando velocidades y valores a tus servos y a tu robot para que funcione correctamente.
https://github.com/4m1g0/siguelineas
GENIAL 😀
Muy interesante. Mi blog es enriquemesa.blogspot.com, y es de variada tematica. XD.
Hola!! No tiene más que dos ruedas?
Recomendáis algun sitio para comprar los componentes?
¡Gracias! está genial, felicidades!
Solo tiene 2 ruedas, la parte trasera arrastra sobre un pedazo de carton recortado a la altura adecuada para dejar los sensores a ras de suelo.
Sobre comprar los componentes depende mucho de donde vivas. Normalmente en tiendas especializadas de electrónica locales suelen tener todo puesto que son componentes muy comunes. Si no puedes buscar en eBay u otras tiendas online.
Un saludo y muchas gracias por tu comentario!