Tutorial para crear tu propio robot siguelineas

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 para los LEDs (ver instrucciones)
2 fotoresistencias (LDR)
2 resistencias para las LDR (ver instrucciones)
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.

Servo hackeadoDetalle resistencias de sevo hackeado

 

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, 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.

Sensor siguelineas

Ahora vamos a hacer los sensores, para lo que montamos la pequeña placa de prototipos que se ve en la siguiente imagen:

Montaje sensor siguelineas

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.

El circuito es muy sencillo:
esquema_bb esquematico_esquema

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

Sensor siguelineas

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.

Detalle corte del tetrabrickDetalle agujeros para el sensor siguelineas  Detalle fijación del sensor

Por último colocamos los servos ligeramente por adelante que la mitad de la caja.
Detalle fijación de los servosDetalle agujeros para la fijación de los servos

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.

Detalle conexiones de alimentacion

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.

Por último sólo nos falta 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