#include <Servo.h>
// Pins des LDRs
const int LDR1_Pin = A0; // LDR1 connecté à A0
const int LDR2_Pin = A1; // LDR2 connecté à A1
// Servo moteur
Servo servoMotor;
const int Servo_Pin = 5;
// Seuil pour le mouvement
const int threshold = 50;
// Angle initial du servo
int servoAngle = 90;
void setup() {
// Initialiser la communication série
Serial.begin(9600);
// Attacher le servo moteur
servoMotor.attach(Servo_Pin);
servoMotor.write(servoAngle); // Position initiale au centre
}
void loop() {
// Lire les valeurs des LDRs
int LDR1_Value = analogRead(LDR1_Pin);
int LDR2_Value = analogRead(LDR2_Pin);
// Afficher les valeurs des LDRs
Serial.print("LDR1: ");
Serial.print(LDR1_Value);
Serial.print(" LDR2: ");
Serial.println(LDR2_Value);
// Comparer les valeurs des LDRs
if (abs(LDR1_Value - LDR2_Value) > threshold) {
if (LDR1_Value > LDR2_Value) {
// Déplacer le servo vers la gauche
servoAngle = max(servoAngle - 1, 0); // Limiter à 0°
Serial.println("Déplacement à gauche");
} else {
// Déplacer le servo vers la droite
servoAngle = min(servoAngle + 1, 180); // Limiter à 180°
Serial.println("Déplacement à droite");
}
servoMotor.write(servoAngle); // Mettre à jour la position du servo
} else {
Serial.println("Position équilibrée, pas de mouvement.");
}
// Attendre un moment pour stabiliser
delay(100);
}