Différences entre versions de « Arduino SR501 »
Aller à la navigation
Aller à la recherche
Ligne 22 : | Ligne 22 : | ||
pinMode(pirPin, INPUT); | pinMode(pirPin, INPUT); | ||
// Utilisation d'une résistance de pull-up sur le PIN 2 | // Utilisation d'une résistance de pull-up sur le PIN 2 | ||
− | digitalWrite( | + | digitalWrite(pirPin, HIGH); |
// Active le port série | // Active le port série | ||
Serial.begin(9600); | Serial.begin(9600); |
Version du 17 octobre 2016 à 14:48
Partie électronique
Le composant
Le SR501 est généralement monté sur une platine.
Ce composant possède une sortie numérique qui est à 5v en l'absence de mouvement et 0v sinon. D'autres réglages sont possibles comme la sensibilité ou encore le délais :
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 :