Et en simplifiant le programme comme ça, ça marche?Code:// relais pont inverseur sens horaire - 1 et 3 sens antihoraire int relayPin1= 3; int relayPin3= 2; int inputPin= 6; // pin connecté à la sortie digital du capteur int ledPin1 = 8; // pin connecté à la LED verte + resistance int ledPin2 = 10; // pin connecté à la LED rouge + resistance int val = 0; int calibrationTime = 15; void setup() { Serial.begin(9600); //Assign les relais, LED et capteur pinMode(relayPin1, OUTPUT); digitalWrite(relayPin1,HIGH); pinMode(relayPin3, OUTPUT); digitalWrite(relayPin3,HIGH); pinMode(inputPin, INPUT); pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); Serial.print("calibration capteur"); for (int i=0;i <calibrationTime;i++){ Serial.print ("."); //delay(1000); } Serial.println("capteur actif"); delay(50); } void loop() { val= digitalRead(inputPin); if (val==LOW) { digitalWrite(ledPin1,HIGH);//led verte digitalWrite(ledPin2,LOW);//led rouge digitalWrite(relayPin1,HIGH); digitalWrite(relayPin3,LOW); Serial.println("eau detectée!"); } if (val==HIGH) { digitalWrite(ledPin1,LOW); digitalWrite(ledPin2,HIGH); digitalWrite(relayPin1,LOW); digitalWrite(relayPin3,HIGH); Serial.println("eau non detectée!"); } delay(5000); }
Je saisis mal la raison d'être de la boucle for dans le setup. En quoi le fait d'envoyer 15 fois de suite un point dans la liaison série calibre-t-il le capteur?
-----