Ecco un esempio di codice Arduino per un sensore di linea che fa seguire un robot una linea tracciata sul terreno:
#define LeftMotor 9 // Collega il motore sinistro al pin 9
#define RightMotor 10 // Collega il motore destro al pin 10
#define SensorLeft A0 // Collega il sensore di linea sinistro ad A0
#define SensorRight A1 // Collega il sensore di linea destro ad A1
#define Threshold 500 // Soglia per la lettura dei sensori (può variare)
void setup() {
pinMode(LeftMotor, OUTPUT);
pinMode(RightMotor, OUTPUT);
pinMode(SensorLeft, INPUT);
pinMode(SensorRight, INPUT);
}
void loop() {
int leftValue = analogRead(SensorLeft);
int rightValue = analogRead(SensorRight);
// Controlla se entrambi i sensori sono sulla linea
if (leftValue > Threshold && rightValue > Threshold) {
// Vai avanti
digitalWrite(LeftMotor, HIGH);
digitalWrite(RightMotor, HIGH);
}
// Controlla se solo il sensore sinistro è sulla linea
else if (leftValue > Threshold) {
// Gira a sinistra
digitalWrite(LeftMotor, LOW);
digitalWrite(RightMotor, HIGH);
}
// Controlla se solo il sensore destro è sulla linea
else if (rightValue > Threshold) {
// Gira a destra
digitalWrite(LeftMotor, HIGH);
digitalWrite(RightMotor, LOW);
}
else {
// Non vede la linea, ferma il motore
digitalWrite(LeftMotor, LOW);
digitalWrite(RightMotor, LOW);
}
}
Assicurati di collegare i sensori di linea ai pin corretti e di calibrare la soglia (Threshold) in base alle tue condizioni specifiche. Questo codice fa muovere un robot in avanti quando entrambi i sensori sono sulla linea, lo fa girare a sinistra quando solo il sensore sinistro è sulla linea e lo fa girare a destra quando solo il sensore destro è sulla linea. Se entrambi i sensori non rilevano la linea, il robot si ferma.