ACTIVIDAD 1:
Seguidor de línea se va a trazar una línea con cinta de aislar en una superficie y
el carro tiene que ser capaz de recorrerla.
Para hacer estas practicas obviamente recurrimos a los famosos KITS ROBOT
CAR ya que esto nos ahora el trabajo de tener que hacer el diseño como tal del
coche.
Nuestro kit incluía todo lo siguiente:
Seguidor de línea se va a trazar una línea con cinta de aislar en una superficie y
el carro tiene que ser capaz de recorrerla.
Para esto tanto el armado como el Código lo logramos conseguir de un video de youtube,
dicho armado esta representado de la siguiente manera:
Aquí podemos encontrar todos los componentes necesarios para hacer que nuestra
práctica funcione y evidentemente todas las conexiones necesarias.
¿Qué es lo que debe hacer nuestro car robot?
Nosotros al momento de colocar el carro en la línea negra que debe seguir este seguirá
avanzando, si alguno de los sensores infrarrojos detecta que no está en el espacio blanco
(es decir que tocó la línea negra por lo tanto se salió del camino por donde debe ir) se
moverá a la izquierda o a la derecha según sea el sensor infrarrojo que salió de su área,
hasta que los sensores infrarrojos estén de nuevo en el área clara. El carrito seguirá
avanzando hasta que ambos lectores infrarrojos estén en el área hola negra, es decir
cuando logre encontrar una línea de meta.
¿Qué código se utilizó? ¿Para que se utiliza cada línea?
// Definición pines EnA y EnB para el control de la velocidad
int VelocidadMotor1 = 6;
int VelocidadMotor2 = 5;
// Definición de los pines de control de giro de los motores In1, In2, In3 e In4
int Motor1A = 13;
int Motor1B = 12;
int Motor2C = 11;
int Motor2D = 10;
// Sensores infrarrojo - izquierdo y derecho
int infraPin = 2;
int infraPin1 = 4;
// Variables para la captura de los valores: 0 - fondo claro y 1 - línea negra
int valorInfra = 0;
int valorInfra1 = 0;
// Configuración inicial
void setup() {
[Link](9600);
delay(1000);
// Establecemos modo de los pines de los sensores infrarrojo
pinMode(infraPin, INPUT);
pinMode(infraPin1, INPUT);
// Establecemos modo de los pines del control de motores
pinMode(Motor1A,OUTPUT);
pinMode(Motor1B,OUTPUT);
pinMode(Motor2C,OUTPUT);
pinMode(Motor2D,OUTPUT);
pinMode(VelocidadMotor1, OUTPUT);
pinMode(VelocidadMotor2, OUTPUT);
// Configuramos los dos motores a velocidad 150/255
analogWrite(VelocidadMotor1, 150);
analogWrite(VelocidadMotor2, 150);
// Configuramos sentido de giro
digitalWrite(Motor1A, LOW);
digitalWrite(Motor1B, LOW);
digitalWrite(Motor2C, LOW);
digitalWrite(Motor2D, LOW);
}
// Ejecución contínua
void loop() {
// Leemos el valor de los infrarrojo: 0 - fondo claro y 1 - línea negra
valorInfra = digitalRead(infraPin);
valorInfra1 = digitalRead(infraPin1);
[Link](valorInfra);
[Link](valorInfra1);
// Cuatro escenarios: De frente
if(valorInfra == 0 && valorInfra1 == 0){
[Link]("Ninguno en linea");
// Modificamos sentido de giro de los motores
digitalWrite(Motor1A, HIGH);
digitalWrite(Motor2D, HIGH);
delay(20);
digitalWrite(Motor1A, LOW);
digitalWrite(Motor2D,LOW);
delay(20);
}
// El robot encuentra línea negra con el infrarrojo derecho y hay que corregir girando a la
derecha
if(valorInfra == 0 && valorInfra1 == 1){
[Link]("Derecho en linea");
// Modificamos sentido de giro de los motores
digitalWrite(Motor1A, LOW);
digitalWrite(Motor2D,LOW);
delay(25);
digitalWrite(Motor1A, HIGH);
digitalWrite(Motor2D,LOW);
delay(20);
}
// El robot encuentra línea negra con el infrarrojo izquierdo y hay que corregir girando a la
izquierda
if(valorInfra == 1 && valorInfra1 == 0){
[Link]("Izquierdo en linea");
// Modificamos sentido de giro de los motores
digitalWrite(Motor1A,LOW);
digitalWrite(Motor2D, LOW);
delay(25);
digitalWrite(Motor1A,LOW);
digitalWrite(Motor2D, HIGH);
delay(20);
}
// Los dos sensores infrarrojos encuentran una línea negra, el final del circuito
if(valorInfra == 1 && valorInfra1 == 1){
[Link]("Ambos en linea");
// Paramos los motores
digitalWrite(Motor1A, LOW);
digitalWrite(Motor1B, LOW);
digitalWrite(Motor2C, LOW);
digitalWrite(Motor2D, LOW);
}
}
CONCLUSIONES Y CONSEJOS
A mi parecer resulto se mucho mas sencillo el controlar el car robot de lo que imagine. Es
muy importante el tener cuidado al momento de la conexión ya que algún desperfecto
puede ocasionar que la practica no funcione o incluso ocasionar daños en los
componentes. También recomendamos que al momento de hacer cambios de cualquier
tipo en el circuito se retiren las baterías porque esto puede ocasionar que se haga un
cortocircuito.