Arduino SR501
Aller à la navigation
Aller à la recherche
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Partie électronique
Le composant
Le SR501 est généralement monté sur une platine.
Ce composant possède une sortie numérique qui est à 0v en l'absence de mouvement et 5v sinon.
D'autres réglages sont possibles comme:
- la sensibilité
- le délais
- le type de déclenchement (impulsion simple ou répétée)
Le montage
Le montage suivant prévoit un fil data qui nous permettra de lire le retour du SR501 sur le PIN 2 de l'Arduino.
Partie logicielle
Récupérer la présence de mouvement
Un exemple de code qui permet de récupérer la présence de mouvement. Notez l'utilisation d'une résistance de pull-up sur le PIN 2 !
int pirPin = 2;
int pirState = LOW;
void setup() {
// Met la broche 2 en entrée
pinMode(pirPin, INPUT);
// Utilisation d'une résistance de pull-up sur le PIN 2
digitalWrite(pirPin, HIGH);
// Active le port série
Serial.begin(9600);
}
void loop(){
// Vérification de l'état du capteur
if (digitalRead(pirPin ) == HIGH) {
if (pirState == LOW) {
// Mouvement !
Serial.println("Motion !");
pirState = HIGH;
}
} else {
if (pirState == HIGH){
// Pas de mouvement...
Serial.println("No motion...");
pirState = LOW;
}
}
}
Résultat
Voila le résultat :