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;
    }
  }
}