Vista previa del material en texto
Ejercicio en Arduino: Seguidor de línea con sensores infrarrojos
Solución:
int leftSensor = 2; // Pin del sensor infrarrojo izquierdo
int rightSensor = 3; // Pin del sensor infrarrojo derecho
int motorA = 5; // Pin del motor A
int motorB = 6; // Pin del motor B
void setup() {
pinMode(leftSensor, INPUT);
pinMode(rightSensor, INPUT);
pinMode(motorA, OUTPUT);
pinMode(motorB, OUTPUT);
}
void loop() {
int leftValue = digitalRead(leftSensor); // Lectura del sensor infrarrojo izquierdo
int rightValue = digitalRead(rightSensor); // Lectura del sensor infrarrojo derecho
if (leftValue == HIGH && rightValue == HIGH) { // Ambos sensores sobre la línea
digitalWrite(motorA, HIGH); // Avanzar
digitalWrite(motorB, HIGH);
} else if (leftValue == LOW && rightValue == HIGH) { // Sensor izquierdo fuera de la línea
digitalWrite(motorA, LOW); // Girar a la derecha
digitalWrite(motorB, HIGH);
} else if (leftValue == HIGH && rightValue == LOW) { // Sensor derecho fuera de la línea
digitalWrite(motorA, HIGH); // Girar a la izquierda
digitalWrite(motorB, LOW);
} else { // Ambos sensores fuera de la línea
digitalWrite(motorA, LOW); // Detenerse
digitalWrite(motorB, LOW);}}