int calibrationTime = 10; // temps que l'on accorde au capteur de présence pour s'initialiser ( entre 10 et 60 secondes ) int ledPin = 13; // broche de la LED int inputPin = 2; // Entrée de la valeur du capteur int pirState = LOW; // on commence avec aucun mouvement détecté int val = 0; // valeur de la lecture du capteur void setup() { pinMode(ledPin, OUTPUT); // la broche de la LED est une sortie pinMode(inputPin, INPUT); // la broche du capteur est une entrée Serial.begin(9600); Serial.print("calibration du capteur "); for(int i = 0; i < calibrationTime; i++){ Serial.print("."); // mettre des petits points, un point par seconde jusqu'à la fin de la calibration delay(1000); } } void loop(){ val = digitalRead(inputPin); // lire la valeur du capteur et la stocker dans val Serial.println(val); // écrire la valeur val if (val == HIGH) { // Si la valeur = 1 ( high ) alors il y a un mouvement digitalWrite(ledPin, HIGH); // allumer la LED delay(150); if (pirState == LOW) { Serial.println("mouvement detecte!"); pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // éteindre la LED delay(300); if (pirState == HIGH){ Serial.println("aucun mouvement"); pirState = LOW; } } }