COCHE SEGUIDOR DE LÍNEA

El coche recorre un circuito creado con cinta aislante negra. Dispone de dos sensores en los bajos del coche. Cada uno de los sensores envía una señal analógica a la tarjeta Arduino. En función del valor de estas dos señales, la tarjeta decidirá si el coche debe continuar en la misma dirección o modificarla ligeramente para no salirse de la línea negra.

Lista de materiales

1 Plataforma móvil LOG 8080
8 Tornillos M3 x 16 mm LOG 464M
10 Tuercas M3 LOG 480
1 Rollo de cinta aislante negra LOG 445N
1 Controlador de motores L298N LOG 8444
2 Sensores de línea LOG 8451
1 Conector 9V para Arduino LOG 7734
5 Latiguillos M-M LOG S7519
8 Latiguillos M-H largos LOG S7518
8 Bulones de plástico LOG S220P
1 Hoja Técnica H1401

Construcción

Montar la plataforma móvil según sus instrucciones.

Soldar un latiguillo macho-macho a cada uno de los terminales de las reductoras

Atornillar el Arduino UNO en la plataforma superior, utilizando 2 tornillos M3 LOG 464M, 2 bulones de plástico y 2 tuercas M3 LOG 480.

Atornillar el controlador de motores con 4 tornillos M3 LOG 464M, 4 bulones de plástico y 4 tuercas M3 LOG 480.

Conexión del controlador de motores

El esquema incluye un controlador de motores L298N puente H. Un puente H consiste en 4 interruptores que nos permiten controlar la polaridad de la corriente que llega a los dos motores conectados al controlador de motores. Así en función de la polaridad podemos controlar el sentido de giro de los motores. Además funcionan como regulador de corriente, pudiendo determinar una velocidad de giro de 0 a 255.

Para poder controlar la velocidad de giro de los motores, se han conectado a las salidas 6 y 10 de Arduino que permiten la modularidad (PWM).

Conexión de los sensores de línea

Los sensores de línea nos permiten medir el reflejo de la luz sobre una superficie y en función de su valor sabremos si el sensor está sobre una superficie blanca o negra.

Los sensores están colocados en la parte baja del coche. Cuando ambos sensores devuelven una señal analógica superior a 50, se considera que están colocados sobre la línea negra y por lo tanto el coche circula recto (los dos motores a la misma velocidad).

Si alguno de los sensores detecta un valor inferior a 50, la tarjeta Arduino entiende que está en zona blanca y debe realizar un ligero giro para modificar su dirección.

Estos sensores nos van a devolver un valor analógico, por lo que se conecta a las señales analógicas A4 y A5.

Los sensores tienen un potenciómetro en el centro, inicialmente los podemos poner en el centro e ir regulando dependiendo de la luz ambiental

Programación con Arduino IDE con 1 sensor

Arduino IDE es una herramienta de programación por códigos basado en C++. Para instalar el software de Arduino, entramos en  www.arduino.cc/en/Main/Software y descargamos el software Arduino IDE.

Una vez instalado, abrir «Arduino IDE»:

– Pinchar en la pestaña «Herramientas», seleccionar donde pone «Placa» y pinchar en «Arduino/Genuino UNO».
– Pinchar en la pestaña «Herramientas», seleccionar donde pone «Puerto» y pinchar en «COM*Numero* Arduino/Genuino UNO».

Una vez realizado la conexión con la tarjeta ya podemos programar

void setup() {

pinMode(6, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);

}
void loop() {

Serial.println(analogRead(A0));
if(analogRead(A0)<600){
analogWrite(6, 150);
analogWrite(10, 0);
Serial.println(«derecha»);

}
else{

analogWrite(10, 200);
analogWrite(6, 75);
Serial.println(«izquierda»);
}

}

Programación con mBlock con 2 sensores

mBlock es una herramienta de programación por bloques basado en scratch.

Para instalar el software, accede a https://mblock.makeblock.com/en/ y desde el apartado Download descarga e instala el software adecuado según tu sistema operativo.

Una vez instalado, ejecuta el software mBlock:

  • Pulsa en añadir (dentro de dispositivos), seleccionamos la placa «arduino uno» y pulsa en aceptar.
  • Si hay más dispositivos añadidos, pulsa en cada uno de ellos y elimínalos haciendo clic en la X de la esquina.
  • Conecta la placa al PC y pulsa en «conectar».
  • Pulsa en «Mostrar todos los dispositivos conectables», selecciona el puerto COM con el número mayor y pulsa en «conectar».

void setup() {
  pinMode(6, OUTPUT);
  pinMode(10, OUTPUT);
  Serial.begin(9600);
  }
void loop(){
  Serial.print(analogRead(A0));
  Serial.print(«-«);
  Serial.println(analogRead(A5));
  if(analogRead(A0)>50 && analogRead(A5)>50){ //RECTO
    analogWrite(6, 200);
    analogWrite(10, 200); }
  if(analogRead(A0)>50 && analogRead(A5)<50){ //IZQUIERDA
    analogWrite(6, 200);
    analogWrite(10, 0); }
  if (analogRead(A0)<50 && analogRead(A5)>50) { //DERECHA
    analogWrite(6, 0);
    analogWrite(10, 200);
  }
}
Calibración
En los programas, el control de los motores se realiza a través del envío de señales analógicas a las salidas 6 y 10 de la tarjeta Arduino. La señal analógica a enviar tendrá un valor desde 0 hasta 255. Cada salida controla un motor del coche.
Si en ambas salidas enviamos un 0, el coche se parará.
La lógica nos dice que para que el coche circule en línea recta habrá que enviar a ambas salidas el mismo dato (mayor que 0). Si hacemos la prueba observamos que el coche tiende a girar en un determinado sentido. Esto es debido a la imprecisión de este tipo de motores. La mejor solución es regular la velocidad por programación enviando a un motor una señal ligeramente inferior con respecto al otro motor.
Si lo que queremos es que el coche gire en un sentido, disminuiremos notablemente la velocidad de uno de los motores (enviando un dato de valor inferior a su salida de Arduino) provocando el giro gracias a la diferencia de velocidad entre ambos motores.
Detalles de tipo práctico
Desconectar la alimentación del controlador de motores L298N cuando no se esté utilizando para no gastar las pilas.
Necesita 4 pilas R6 de 1,5 V y 1 pila 6F22 de 9 V.
Pruebas
Realizar distintos circuitos con la cinta aislante negra LOG 455N.
Aumentar o disminuir la velocidad de los motores

Deja una respuesta

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