Hi I would like to know how to ask my arduino to read the sensors during the void and if the statements changed to go back or restart the loop. how can i ask him to get out of the for loop ?
#include <Servo.h>
Servo servo;
int positions = 2;
int vpositions;
int capteur1 = A0; //pin de la photocell 1
int readcapteur1; //valeur de la photocell 1
int capteur2 = A1; //pin de la photocell 2
int readcapteur2; //valeur de la photocell 2
int capteur3 = A2; //pin de la photocell 3
int readcapteur3; //valeur de la photocell 3
int p;
void setup()
{
servo.attach(9);
Serial.begin(9600); //imprimer les données recues - la fréquence
}
void loop()
{
readcapteur1 = analogRead(capteur1); //lecture analogique du capteur
readcapteur2 = analogRead(capteur2); //lecture analogique du capteur
readcapteur3 = analogRead(capteur3); //lecture analogique du capteur
Serial.print("Lecture du capteur 1 = "); //imprimer les données sous...
Serial.print(readcapteur1); //imprimer les données analogiques recues
Serial.print("\t");
Serial.print("Lecture du capteur 2 = "); //imprimer les données sous...
Serial.print(readcapteur2); //imprimer les données analogiques recues
Serial.print("\t");
Serial.print("Lecture du capteur 3 = "); //imprimer les données sous...
Serial.print(readcapteur3); //imprimer les données analogiques recues
Serial.print("\t");
Serial.print("Lecture vpositions = "); //imprimer les données sous...
Serial.print(vpositions); //imprimer les données analogiques recues
Serial.print("\n");
if (readcapteur1 > 850) {
positions = 1;
if (vpositions != 1)
{ droite();}
else{}
}
if (readcapteur2 > 850) {
positions = 2;
if (vpositions != 2)
{ centre();}
else {}
}
if (readcapteur3 > 850) {
positions = 3;
if (vpositions != 3)
{
gauche();}
else{}
}
vpositions = positions;
Serial.print("Lecture vpositions = "); //imprimer les données sous...
Serial.print(vpositions); //imprimer les données analogiques recues
Serial.print("\n");
}
void centre()
{
if (p==2){
for(int x=2400; x<=2400 && x>=1500; x-=25){
servo.write(x);//120
delay(200);
Serial.print(" x= "); //imprimer les données sous...
Serial.print(x);
positions = 2;
}
}
if (p==1){
for(int x=544; x<=1500 && x>=544; x+=25){
servo.write(x);//120
delay(200);
Serial.print(" x= "); //imprimer les données sous...
Serial.print(x);
positions = 2;
}
}
Serial.print(" Position = centre2 "); //imprimer les données sous...
Serial.print('\n');
positions = 2;
}
void gauche()
{
if(vpositions == 1)
{for(int x=544; x<=2400; x+=25){
servo.write(x);//120
delay(200);
Serial.print(" x= "); //imprimer les données sous...
Serial.print(x);
}}
else{
for(int x=1500; x<=2400; x+=25){
servo.write(x);//120
delay(200);
Serial.print(" x= "); //imprimer les données sous...
Serial.print(x);
}}
Serial.print(" Position = droite3 "); //imprimer les données sous...
p=2;
Serial.print('\n');
positions = 3 ;
}
void droite()
{ if (vpositions == 3)
{for(int x=2400; x>=544; x-=25){
servo.write(x);//120
delay(200);
Serial.print(" x= "); //imprimer les données sous...
Serial.print(x);
}}
else{
for(int x=1500; x>=544; x-=25){
servo.write(x);//120
delay(200);
Serial.print(" x= "); //imprimer les données sous...
Serial.print(x);
}}
Serial.print(" Position = gauche1 "); //imprimer les données sous...
p=1;
Serial.print('\n');
positions = 1;
}