Salut à tous,

Après avoir faits le tutoriel sur le voice Recorder et en utilisant un module capteur de proximité infrarouge, je me suis rendu compte que je n’avais pas fait de tutoriel sur celui-ci et que je ne l’avais pas détaillé par la même occasion.

Et bien voilà, comme son nom l’indique il s’agit d’un capteur de proximité, muni de deux leds infrarouges. Une transparente et une plus foncée. L’une correspondant à la LED émettrice et la LED réceptrice.

J’ai cru comprendre que lorsqu’un corps quelconque passe devant le faisceau il le renvoi alors a la diode réceptrice. Et détecte ainsi le corps à proximité.

ir_proximity_sensor

On reçoit alors un signal de la pin OUT vers l’Arduino (pin 2 dans notre cas).

Détail concernant l’achat

  • Objet: IR Infrared Obstacle Avoidance Sensor Module….
  • Prix: 1,00 EUR
  • Site d’achat: Ebay
  • Provenance: Chine.
  • Destination: Belgique
  • Livraison: 10 jours!
  • Vendeur: findyours 

ir_module

Branchements

Module -> Arduino

  • VCC -> 5V de l’Arduino
  • GND -> GND de l’Arduino
  • OUT -> PIN 2 de l’Arduino

ir_proximity_sensor_arduino

Code Arduino

Il s’agit ici du même code que pour le détecteur de mouvement PIR -> ICI

ils font la même chose c’est surtout la portée de détection qui sera plus courte dans ce cas ci.

Si le capteur détecte un mouvement il s’affichera: « Motion detected! », Ce message restera tant qu’il y aura un mouvement.
Une fois qu’il n’y a plus de mouvement, il s’affiche: « Motion ended! »

    int inputPin = 2;               // choose the input pin (for PIR sensor)
              int pirState = LOW;             // we start, assuming no motion detected
              int val = 0;                    // variable for reading the pin status
               
              void setup() {
                pinMode(inputPin, INPUT);     // declare sensor as input
               
                Serial.begin(9600);
              }
               
              void loop(){
                val = digitalRead(inputPin);  // read input value
                if (val == HIGH) {            // check if the input is HIGH
                  if (pirState == LOW) {
                    // we have just turned on
                    Serial.println("Motion detected!");
                    // We only want to print on the output change, not state
                    pirState = HIGH;
                  }
                } else {  
                  if (pirState == HIGH){
                    // we have just turned of
                    Serial.println("Motion ended!");
                    // We only want to print on the output change, not state
                    pirState = LOW;
                  }
                }
              }