The HC-SR505 is the little brother of the HC-SR501 which means it sure lacks some of the HC-SR501 functionality such as:
1- Single/Repeated triggering is not adjustable. The HC-SR505 triggering is repeatedly by default
2- The HC-SR501 range is around 7 meters while the HC-SR505 is around 3 - 4 meters
3- The delay between repeated triggering is not adjustable
Still, the HC-SR505 enjoy some features where it outbeats the older brother such as:
1- Size
2- Very low current consumption which is around 60 uAmps
3- As reliable as the older brother
//temps de calibration du capteur (10-60 secs selon la doc technique) int calibrationTime = 15; int ledPin = 13; // pin pour la led int pinCapteur = 7; // pin pour la sortie du capteur int pirState = LOW; // nous considérons le début sans mouvement int val = 0; // variable de lecture de pin void setup() { pinMode(ledPin, OUTPUT); pinMode(pinCapteur, INPUT); Serial.begin(9600); Serial.print("Calibration du capteur "); for(int i = 0; i < calibrationTime; i++){ Serial.print("."); delay(1000); } } void loop(){ val = digitalRead(pinCapteur); // lit la valeur du capteur Serial.println(val); if (val == HIGH) { // vérifie si il y a un mouvement digitalWrite(ledPin, HIGH); // allumage de la led delay(150); if (pirState == LOW) { // we have just turned on Serial.println("Mouvement détecté!"); //changement de l'état pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // extinction de la led delay(300); if (pirState == HIGH){ Serial.println("Fin du mouvement!"); //changement de l'état pirState = LOW; } } }