Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

Arduino SR501

De The Linux Craftsman

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 :