Senseur PIR : Différence entre versions

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(12 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
== Introduction ==
 
== Introduction ==
Les senseurs PIR sont utilisés par les robots/animaux humanoides pour effectuer la détection de mouvement. La distance de détection peut aller jusqu'à 6 à 7 mètres.
+
Les senseurs PIR sont utilisés par les robots/animaux humanoïdes pour effectuer la détection de mouvement. La distance de détection peut aller jusqu'à 6 à 7 mètres.
 
Le senseur PIR est typiquement le type de technologie utilisée pour la détection de mouvement mis en oeuvre dans les systèmes d'alarme.
 
Le senseur PIR est typiquement le type de technologie utilisée pour la détection de mouvement mis en oeuvre dans les systèmes d'alarme.
 +
 +
{{ADFImage|PIRSensor.jpg}}
  
 
Les applications d'un senseur PIR sont multiples:
 
Les applications d'un senseur PIR sont multiples:
Ligne 11 : Ligne 13 :
 
== Montage ==
 
== Montage ==
  
Connecting PIR sensors to a microcontroller is really simple. The PIR acts as a digital output so all you need to do is listen for the pin to flip high (detected) or low (not detected).
+
Il est vraiment facile de connecter un senseur PIR sur un microcontrôleur. Le PIR dispose d'une sortie digitale (ON/OFF HIGH/LOW), il suffit donc d'écouter la sortie digitale à l'aide d'une entrée du microcontrôleur. Il suffit détecter la montée du potentiel vers HIGH (détection du PIR) ou descente du potentiel vers LOW (non détection du PIR).
  
Its likely that you'll want reriggering, so be sure to put the jumper in the H position!
+
Il est fort probable que vous désiriez des re-déclenchement. Dans ce cas, assurez vous que le cavalier est en position H!
  
Power the PIR with 5V and connect ground to ground. Then connect the output to a digital pin. In this example we'll use pin 2.
+
Alimentez le PIR à l'aide de 5 Volts et connectez "Ground" à la masse (0v). Ensuite, connectez la sortie sur une entrée digitale de votre microcontrôleur.
  
[[Fichier:PirSensorArduino.jpg]]
+
Dans cet exemple, nous employons la pin 2 comme entrée digitale pour la sortie du détecteur PIR.
 +
 
 +
{{ADFImage|PirSensorArduino.jpg}}
  
 
== Code ==
 
== Code ==
The code is very simple, and is basically just keeps track of whether the input to pin 2 is high or low. It also tracks the state of the pin, so that it prints out a message when motion has started and stopped.
+
Le code est assez simple, il ne fait que surveiller l'état Haut/Bas (HIGH/LOW) de la Pin 2.  
 +
 
 +
Il surveille également '''le changement d'état''' de la Pin 2, ce qui permet d'afficher un message quand un déplacement est détecter (lorsqu'il commence) et lorsque le mouvement à cessé.
  
 
  <nowiki>
 
  <nowiki>
 
/*
 
/*
  * PIR sensor tester
+
  * Test du senseur PIR
 
  */
 
  */
 
   
 
   
int ledPin = 13;                // choose the pin for the LED
+
int ledPin = 13;                // Pin choisie à cause de sa LED (visible sur la carte)
int inputPin = 2;              // choose the input pin (for PIR sensor)
+
int inputPin = 2;              // Pin d'entrée choisie pour surveillé le senseur PIR
int pirState = LOW;             // we start, assuming no motion detected
+
int pirMotionState = LOW;       // Pour commencer, nous considérons qu'il n'y a pas de nouvement.
int val = 0;                    // variable for reading the pin status
+
int val = 0;                    // Variable utilisée pour lire l'entrée Pin 2 (valeur du PIR)
 
   
 
   
 
void setup() {
 
void setup() {
   pinMode(ledPin, OUTPUT);      // declare LED as output
+
   pinMode(ledPin, OUTPUT);      // déclarer LED comme sortie
   pinMode(inputPin, INPUT);    // declare sensor as input
+
   pinMode(inputPin, INPUT);    // déclarer le Senseur comme entrée
 
   
 
   
 
   Serial.begin(9600);
 
   Serial.begin(9600);
Ligne 40 : Ligne 46 :
 
   
 
   
 
void loop(){
 
void loop(){
   val = digitalRead(inputPin);  // read input value
+
   val = digitalRead(inputPin);  // Lire la valeur d'entrée
   if (val == HIGH) {            // check if the input is HIGH
+
   if (val == HIGH) {            // Vérifier si l'entrée est HIGH
     digitalWrite(ledPin, HIGH); // turn LED ON
+
     digitalWrite(ledPin, HIGH); // Allumer la LED (activité PIR)
     if (pirState == LOW) {
+
     if (pirMotionState == LOW) {
       // we have just turned on
+
       // Si l'état du PIR est LOW, comme nous venons de détecter un mouvement
       Serial.println("Motion detected!");
+
      // nous changeons l'état pirMotionState à HIGH (mouvement détecté)
       // We only want to print on the output change, not state
+
       Serial.println("Mouvement détecté!");
       pirState = HIGH;
+
       // Nous affichons le message seulement quand la sortie change
 +
       pirMotionState = HIGH;
 
     }
 
     }
 
   } else {
 
   } else {
     digitalWrite(ledPin, LOW); // turn LED OFF
+
     digitalWrite(ledPin, LOW); // Eteindre la LED (plus d'activité PIR)
     if (pirState == HIGH){
+
     if (pirMotionState == HIGH){
       // we have just turned of
+
       // Si l'état PIR est HIGH (mouvement détecté) et que la sortie du PIR
       Serial.println("Motion ended!");
+
      // passe à LOW, c'est que le mouvement à cessé!
       // We only want to print on the output change, not state
+
       Serial.println("Mouvement terminé!");
       pirState = LOW;
+
       // Nous affichons le message que pour le changement d'état (détection mouvement)
 +
       pirMotionState = LOW;
 
     }
 
     }
 
   }
 
   }
Ligne 62 : Ligne 70 :
  
 
== Notes ==
 
== Notes ==
Don't forget that there are some times when you don't need a microcontroller. A PIR sensor can be connected to a relay (perhaps with a transistor buffer) without a micro!
+
Il y a des montages ou l'utilisation d'un microcontroleur n'est pas forcement nécessaire. Vous pouvez connecter un relais (par l'intermédiaire d'un transistor) pour commander directement un montage sans l'intervention d'élément programmable.
  
 
== Où Acheter ==
 
== Où Acheter ==
 +
Vous pouvez vous procurer {{pl|61|le Senseur PIR sur le WebShop de MCHobby}}.
 +
 +
<hr />
 +
<small>Source: [http://learn.adafruit.com PIR Sensor], Crédit: [http://www.adafruit.com AdaFruit Industries].
 +
 +
Traduit par Meurisse D pour [http://www.mchobby.be MCHobby].
  
 
{{ADF-Accord}}
 
{{ADF-Accord}}
  
{MCH-Accord}}
+
{{MCH-Accord}}

Version actuelle datée du 2 novembre 2017 à 16:03

Introduction

Les senseurs PIR sont utilisés par les robots/animaux humanoïdes pour effectuer la détection de mouvement. La distance de détection peut aller jusqu'à 6 à 7 mètres. Le senseur PIR est typiquement le type de technologie utilisée pour la détection de mouvement mis en oeuvre dans les systèmes d'alarme.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Les applications d'un senseur PIR sont multiples:

  • Détection de mouvement et activation d'une oeuvre interactive.
  • Détection de passage/intrusion.
  • Commande d'une chatière automatisée.
  • Détecteur pour commande d'installation domotique.

Montage

Il est vraiment facile de connecter un senseur PIR sur un microcontrôleur. Le PIR dispose d'une sortie digitale (ON/OFF HIGH/LOW), il suffit donc d'écouter la sortie digitale à l'aide d'une entrée du microcontrôleur. Il suffit détecter la montée du potentiel vers HIGH (détection du PIR) ou descente du potentiel vers LOW (non détection du PIR).

Il est fort probable que vous désiriez des re-déclenchement. Dans ce cas, assurez vous que le cavalier est en position H!

Alimentez le PIR à l'aide de 5 Volts et connectez "Ground" à la masse (0v). Ensuite, connectez la sortie sur une entrée digitale de votre microcontrôleur.

Dans cet exemple, nous employons la pin 2 comme entrée digitale pour la sortie du détecteur PIR.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Code

Le code est assez simple, il ne fait que surveiller l'état Haut/Bas (HIGH/LOW) de la Pin 2.

Il surveille également le changement d'état de la Pin 2, ce qui permet d'afficher un message quand un déplacement est détecter (lorsqu'il commence) et lorsque le mouvement à cessé.

/*
 * Test du senseur PIR
 */
 
int ledPin = 13;                // Pin choisie à cause de sa LED (visible sur la carte)
int inputPin = 2;               // Pin d'entrée choisie pour surveillé le senseur PIR
int pirMotionState = LOW;       // Pour commencer, nous considérons qu'il n'y a pas de nouvement.
int val = 0;                    // Variable utilisée pour lire l'entrée Pin 2 (valeur du PIR)
 
void setup() {
  pinMode(ledPin, OUTPUT);      // déclarer LED comme sortie
  pinMode(inputPin, INPUT);     // déclarer le Senseur comme entrée
 
  Serial.begin(9600);
}
 
void loop(){
  val = digitalRead(inputPin);  // Lire la valeur d'entrée
  if (val == HIGH) {            // Vérifier si l'entrée est HIGH
    digitalWrite(ledPin, HIGH); // Allumer la LED (activité PIR)
    if (pirMotionState == LOW) {
      // Si l'état du PIR est LOW, comme nous venons de détecter un mouvement
      // nous changeons l'état pirMotionState à HIGH (mouvement détecté)
      Serial.println("Mouvement détecté!");
      // Nous affichons le message seulement quand la sortie change
      pirMotionState = HIGH;
    }
  } else {
    digitalWrite(ledPin, LOW); // Eteindre la LED (plus d'activité PIR)
    if (pirMotionState == HIGH){
      // Si l'état PIR est HIGH (mouvement détecté) et que la sortie du PIR
      // passe à LOW, c'est que le mouvement à cessé! 
      Serial.println("Mouvement terminé!");
      // Nous affichons le message que pour le changement d'état (détection mouvement)
      pirMotionState = LOW;
    }
  }
}

Notes

Il y a des montages ou l'utilisation d'un microcontroleur n'est pas forcement nécessaire. Vous pouvez connecter un relais (par l'intermédiaire d'un transistor) pour commander directement un montage sans l'intervention d'élément programmable.

Où Acheter

Vous pouvez vous procurer le Senseur PIR sur le WebShop de MCHobby.


Source: PIR Sensor, Crédit: AdaFruit Industries.

Traduit par Meurisse D pour MCHobby.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.