Différences entre versions de « Arduino SR501 »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
(Page créée avec « = Partie électronique = == Le composant == Le ''HC-SR501'' est généralement monté sur une platine. centré|150px Ce composant possède une so... »)
 
Ligne 1 : Ligne 1 :
 
= Partie électronique =
 
= Partie électronique =
 
== Le composant ==
 
== Le composant ==
Le ''HC-SR501'' est généralement monté sur une platine.
+
Le ''SR501'' est généralement monté sur une platine.
[[Fichier:HC-SR501.jpg|centré|150px]]
+
[[Fichier:SR501.jpg|centré|150px]]
  
 
Ce composant possède une sortie numérique qui est à ''5v'' en l'absence de mouvement et ''0v'' sinon.  
 
Ce composant possède une sortie numérique qui est à ''5v'' en l'absence de mouvement et ''0v'' sinon.  
  
 
== Le montage ==
 
== Le montage ==
Le montage suivant prévoit un fil ''data'' qui nous permettra de lire le retour du ''HC-SR501'' sur le PIN 2 de ''l'Arduino''.
+
Le montage suivant prévoit un fil ''data'' qui nous permettra de lire le retour du ''SR501'' sur le PIN 2 de ''l'Arduino''.
[[Fichier:a3144_diagram.png|centré|400px]]
+
[[Fichier:SR501_diagram.png|centré|400px]]
  
 
= Partie logicielle =
 
= Partie logicielle =

Version du 13 octobre 2016 à 13:08

Partie électronique

Le composant

Le SR501 est généralement monté sur une platine.

SR501.jpg

Ce composant possède une sortie numérique qui est à 5v en l'absence de mouvement et 0v sinon.

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.

SR501 diagram.png

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.

int pirPin = 2;
int pirState = LOW;
 
void setup() {
  pinMode(pirPin, INPUT);  // Met la broche 2 en entrée
  Serial.begin(9600);        // Active le port série
}
 
void loop(){
  if (digitalRead(pirPin ) == HIGH) {  // Vérification de l'état du capteur
    if (pirState == LOW) {
      // Mouvement !
      Serial.println("Motion !");
      pirState = HIGH;
    }
  } else {
    if (pirState == HIGH){
      // Pas de mouvement...
      Serial.println("No motion...");
      pirState = LOW;
    }
  }
}