on a déjà écrit un programme, et fait des branchements, cependant lorsque l’on couvre l’une des photorésistances les deux roues s’arrête et pas seulement une
int motor1_enablePin = 11;
int motor1_in1Pin = 13;
int motor1_in2Pin = 12;
int motor2_enablePin = 10;
int motor2_in1Pin = 8;
int motor2_in2Pin = 7;
const char ledDroite = 2;
const char ledGauche = 3;
const char capteurDroit = A0;
const char capteurGauche = A1;
float lectureDroite = 0;
float lectureGauche = 0;
float tensionDroite = 0;
float tensionGauche = 0;
void setup() {
pinMode(motor1_in1Pin, OUTPUT);
pinMode(motor1_in2Pin, OUTPUT);
pinMode(motor1_enablePin, OUTPUT);
pinMode(motor2_in1Pin, OUTPUT);
pinMode(motor2_in2Pin, OUTPUT);
pinMode(motor2_enablePin, OUTPUT);
pinMode(ledDroite, OUTPUT);
pinMode(ledGauche, OUTPUT);
Serial.begin(2000000);
SetMotor2(200, true);
SetMotor1(200, false);
digitalWrite(ledDroite, LOW);
digitalWrite(ledGauche, LOW);
}
void loop() {
lectureDroite = analogRead(capteurDroit);
lectureGauche = analogRead(capteurGauche);
tensionDroite =(lectureDroite*5.0)/1024 ;
tensionGauche =(lectureGauche*5.0)/1024 ;
Serial.print("Tension Droite = ");
Serial.print(tensionDroite);
Serial.print(" V");
Serial.print("Tension Gauche = ");
Serial.print(tensionGauche);
Serial.println(" V");
delay(100);
if (lectureGauche>400)
{
SetMotor1(10, false);}
else
{
SetMotor1(200, false);}
if (lectureDroite>400)
{
SetMotor2(10, true);}
else
{
SetMotor2(250, true);
}
}
void SetMotor1(int speed, boolean reverse)
{
analogWrite(motor1_enablePin, speed);
digitalWrite(motor1_in1Pin, ! reverse);
digitalWrite(motor1_in2Pin, reverse);
}
void SetMotor2(int speed, boolean reverse)
{
analogWrite(motor2_enablePin, speed);
digitalWrite(motor2_in1Pin, ! reverse);
digitalWrite(motor2_in2Pin, reverse);
}