Código De Programación Para Seguidor De Línea Arduino
¡Hola a todos! Vamos a repasar el código para un seguidor de línea Arduino. ¡No se preocupen, lo haremos paso a paso!
Componentes Clave y Conexiones
Primero, necesitamos entender los componentes. Los principales son: el Arduino, los sensores infrarrojos (IR) y los motores. Recuerda conectar los sensores IR a los pines analógicos del Arduino. Los motores se conectan a los pines digitales a través de un driver de motor.
Importante: Verifica que la polaridad de los motores sea correcta. Esto asegura que giren en la dirección correcta. ¡Presta atención a los diagramas de conexión!
Must Read
Estructura del Código Arduino
El código se divide en tres secciones principales: setup(), loop() y funciones personalizadas. En setup(), configuramos los pines como entrada o salida. También inicializamos la comunicación serial. En loop(), leemos los valores de los sensores y controlamos los motores.
Las funciones personalizadas nos ayudan a organizar el código. Por ejemplo, una función para leer los sensores. Otra función para controlar los motores. ¡Esto hace el código más legible y fácil de mantener!

Lectura de los Sensores IR
La clave para un seguidor de línea exitoso es la lectura precisa de los sensores IR. Los sensores devuelven un valor analógico. Este valor indica la reflectancia de la superficie. Un valor alto significa que el sensor está sobre una superficie clara. Un valor bajo significa que está sobre la línea negra.
Utilizamos la función analogRead() para leer los valores de los sensores. Es importante calibrar los sensores. Esto significa determinar los valores umbral (thresholds). Estos valores distinguen entre blanco y negro.

Control de los Motores
Controlamos los motores usando los pines digitales. Enviamos señales PWM (Pulse Width Modulation) a través del driver del motor. Esto controla la velocidad de los motores. Utilizamos la función analogWrite() para enviar señales PWM.
Si ambos sensores están sobre la línea negra, el robot avanza. Si el sensor izquierdo está fuera de la línea, gira a la izquierda. Si el sensor derecho está fuera de la línea, gira a la derecha. ¡Así de simple!

El Código Paso a Paso
Aquí hay un ejemplo simplificado:
// Definir pines
const int sensorIzquierdo = A0;
const int sensorDerecho = A1;
const int motorIzquierdoA = 9;
const int motorIzquierdoB = 10;
const int motorDerechoA = 11;
const int motorDerechoB = 12;
void setup() {
// Configurar pines como salida
pinMode(motorIzquierdoA, OUTPUT);
pinMode(motorIzquierdoB, OUTPUT);
pinMode(motorDerechoA, OUTPUT);
pinMode(motorDerechoB, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Leer valores de los sensores
int valorIzquierdo = analogRead(sensorIzquierdo);
int valorDerecho = analogRead(sensorDerecho);
Serial.print("Izquierdo: ");
Serial.print(valorIzquierdo);
Serial.print(" Derecho: ");
Serial.println(valorDerecho);
// Definir umbral
int umbral = 500;
// Controlar los motores
if (valorIzquierdo > umbral && valorDerecho > umbral) {
// Avanzar
analogWrite(motorIzquierdoA, 150);
analogWrite(motorIzquierdoB, 0);
analogWrite(motorDerechoA, 150);
analogWrite(motorDerechoB, 0);
} else if (valorIzquierdo < umbral) {
// Girar a la izquierda
analogWrite(motorIzquierdoA, 0);
analogWrite(motorIzquierdoB, 0);
analogWrite(motorDerechoA, 150);
analogWrite(motorDerechoB, 0);
} else if (valorDerecho < umbral) {
// Girar a la derecha
analogWrite(motorIzquierdoA, 150);
analogWrite(motorIzquierdoB, 0);
analogWrite(motorDerechoA, 0);
analogWrite(motorDerechoB, 0);
} else {
// Detener
analogWrite(motorIzquierdoA, 0);
analogWrite(motorIzquierdoB, 0);
analogWrite(motorDerechoA, 0);
analogWrite(motorDerechoB, 0);
}
delay(10);
}
Este es un ejemplo básico. ¡Puedes modificarlo para adaptarlo a tu robot y a tu línea!

Calibración y Ajuste Fino
La calibración es crucial. Ajusta el umbral para que coincida con las condiciones de luz. Experimenta con diferentes valores PWM para la velocidad de los motores. Ajusta la velocidad para evitar oscilaciones. ¡La práctica hace al maestro!
Un PID controller puede ser útil para un control más preciso. Investiga los controladores PID. ¡Pero no te preocupes por eso para el examen básico!
Resumen
Recuerda: Conexiones correctas, lectura precisa de los sensores, control adecuado de los motores y una buena calibración. ¡Con estos elementos, estarás listo para crear un seguidor de línea impresionante! ¡Mucho éxito en tu examen!
