PROYECTO Nº 5: Seguidor de línea

Aprende a crear un programa para que el Code&Drive siga una línea dibujada en una superficie plana. Si la superficie es de color claro, la línea a seguir debe ser de color negro. Si la superficie es de color oscuro, la línea seguir debe ser de color blanco, para que el seguidor de línea pueda reconocerla.

NIVEL DE DIFICULTAD: Intermedio.

DURACIÓN DEL EJERCICIO:  45 min.

MATERIALES:

  • 6 Pilas AA
  • 1 Cable USB – micro USB
  • Ordenador

El kit Code&Drive deberá estar montado de acuerdo a las instrucciones indicadas en el manual.

CONEXIONES:

Para llevar a cabo este proyecto usarás los dos sensores seguidores de línea. Por defecto, los sensores seguidores de línea ya vienen calibrados, pero la luz ambiental que se utilice puede afectar a los sensores. Para calibrarlos nuevamente, sigue las instrucciones detalladas a continuación:

  1. Los sensores seguidores de línea integran un potenciómetro situado en la parte superior del sensor. Es una caja pequeña de color azul con un círculo blanco.
  2. Utiliza un destornillador estrella para regular el potenciómetro, de manera que reconozca la línea de color negro.
  3. Sitúa el Code&Drive sobre la línea y posiciona los sensores seguidores de línea encima de ella.
  4. Observa si se enciende el LED rojo que está integrado en el sensor. Si esto no ocurre, regula el potenciómetro hasta que se encienda el LED.
  5. Una vez regulado el potenciómetro, mueve el Code&Drive sobre la superficie blanca y observa si el LED rojo integrado en el sensor se apaga.

Si al situar el Code&Drive encima de la línea negra se encienden los LEDs rojos integrados en los sensores, y al situar el Code&Drive encima de la superficie blanca los LEDs se apagan, significa que están bien calibrados.

Los sensores seguidores de línea transmiten una señal digital, que podemos ver con el LED rojo que llevan integrado. Si los sensores detectan la línea negra, los LEDs rojos se mantendrán encendidos. Si los sensores detectan la zona blanca o clara, los LEDs rojos estarán apagados.

De esta manera, cuando el LED rojo esté encendido, enviará un 1 a la placa controladora. Cuando el LED rojo esté apagado, enviará un 0 a la placa controladora.

Programa el Code&Drive de acuerdo a la siguiente tabla, para que sus movimientos correspondan a la lectura de los sensores seguidores de línea.

 

CÓDIGO DE PROGRAMACIÓN

Puedes realizar esta actividad utilizando el software Arduino, así como un software de programación por bloques compatible. A continuación encontrarás el código de programación necesario.

Código Arduino

  1. Descarga el software Arduino y realiza el proceso de instalación.
  2. Abre el programa Arduino y, una vez en él, copia el siguiente programa:
    int MdirectionA = 4, velocityA = 5, MdirectionB = 7, velocityB = 6; // VELOCIDAD Y DIRECCION DE LOS MOTORES A Y B
    
    int pinR = 2, pinL = 3, followerR, followerL; // PINS DE LOS SENSORES SEGUIDORES DE LÍNEA
    
    void setup() {
    
      //CONFIGURACIÓN DE LOS PUERTOS DE LA PLACA BUILD&CODE 4IN1
     
     pinMode ( MdirectionA, OUTPUT);
      pinMode ( velocityA, OUTPUT);
      pinMode ( MdirectionB, OUTPUT);
      pinMode ( velocityB, OUTPUT);
      pinMode (pinR, INPUT);
      pinMode (pinL, INPUT);
    
    }
    
    void loop() {
    
    // LECTURA DE LOS SENSORES SEGUIDORES DE LÍNEA
    
    followerR = digitalRead (pinR);
    
    followerL = digitalRead (pinL);
    
    if ((followerR == 0)& (followerL == 0)) // FORWARD - AVANZAR HACIA DELANTE
    {
        //MOTOR B
      analogWrite (velocityB, 150);   // VELOCIDAD EL MOTOR-B, ES DE 0 (STOP) A 255 (MAXIMA VELOCIDAD)
      digitalWrite ( MdirectionB,LOW); // SENTIDO DE GIRO MOTOR-B, LOW (DELANTE), HIGH (ATRÁS)
       //MOTOR A
      analogWrite (velocityA, 150);   // VELOCIDAD EL MOTOR-A, ES DE 0 (STOP) A 255 (MAXIMA VELOCIDAD)
      digitalWrite ( MdirectionA,HIGH); // SENTIDO DE GIRO MOTOR-A, HIGH (DELANTE), LOW (ATRÁS)
    
    }
    
    if ((followerR == 0)& (followerL == 1)) //RIGHT - DERECHA
    {
        //MOTOR B
      analogWrite (velocityB, 0);   // VELOCIDAD EL MOTOR-B, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)
    
      digitalWrite ( MdirectionB,LOW);  // SENTIDO DE GIRO MOTOR-B, LOW (DELANTE), HIGH (ATRÁS)
    
         //MOTOR A
      analogWrite (velocityA, 150);   // VELOCIDAD EL MOTOR-A, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)
      digitalWrite ( MdirectionA,HIGH); // SENTIDO DE GIRO MOTOR-A, HIGH (DELANTE), LOW (ATRÁS)
    }
    
    if ((followerR == 1)& (followerL == 0)) //LEFT - IZQUIERDA
    {
        //MOTOR B
      analogWrite (velocityB, 150);   // VELOCIDAD EL MOTOR-B, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)
      digitalWrite ( MdirectionB,LOW);  // SENTIDO DE GIRO MOTOR-B, LOW (DELANTE), HIGH (ATRÁS)
         //MOTOR A
      analogWrite (velocityA, 0);   // VELOCIDAD EL MOTOR-A, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)
      digitalWrite ( MdirectionA,HIGH); // SENTIDO DE GIRO MOTOR-A, HIGH (DELANTE), LOW (ATRÁS)
    }
    
    if ((followerR == 1)& (followerL == 1)) //BACK - ATRÁS
    {
        //MOTOR B
      analogWrite (velocityB, 150);   // VELOCIDAD EL MOTOR-B, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)
      digitalWrite ( MdirectionB,HIGH); // SENTIDO DE GIRO MOTOR-B, LOW (DELANTE), HIGH (ATRÁS)
         //MOTOR A
      analogWrite (velocityA, 150);   // VELOCIDAD EL MOTOR-A, ES DE 0 (STOP) A 255 (MÁXIMA VELOCIDAD)
      digitalWrite ( MdirectionA,LOW);  // SENTIDO DE GIRO MOTOR-A, HIGH (DELANTE), LOW (ATRÁS)
    }
    
    
    }
    

Código para software de programación por bloques compatible

  1. Descarga el software y realiza en proceso de instalación.
  2. Abre el programa y, una vez en él, copia el siguiente código:

Código Bitbloq 

  1. Accede al software Bitbloq y realiza el proceso de instalación de la aplicación Web2board.
  2. Abre el programa Bitbloq  y, una vez en él, copia el siguiente código:
    • Hardware
    • Software
  3. Configura y carga el código, siguiendo las instrucciones indicadas en la guía de Primeros Pasos del kit Code&Drive.
  4. Revisa que el interruptor BLT/USB de la placa controladora Build&Code 4in1 está en posición USB, para una correcta carga del código.

RESULTADO DEL EJERCICIO

Al colocar el Code&Drive sobre una línea de color que contraste con la superficie, su seguidor de línea la detectará y el coche se moverá hacia adelante siguiendo el recorrido de la línea.

3 0

0