Modifications

Sauter à la navigation Sauter à la recherche
2 203 octets ajoutés ,  2 novembre 2017 à 16:03
Ligne 1 : Ligne 1 :  
== Introduction ==
 
== 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.
 +
 +
{{ADFImage|PIRSensor.jpg}}
 +
 +
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 ==
 
== Montage ==
[[Fichier:PirSensorArduino.jpg]]
+
 
 +
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.
 +
 
 +
{{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 25 : 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 47 : 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}}
29 836

modifications

Menu de navigation