Arduino - Capteur infrarouge de détection d'obstacles

Dans ce tutoriel, nous allons apprendre à utiliser Arduino et le capteur d'évitement d'obstacles infrarouge pour détecter la présence de l'obstacle.

Capteur de détection d'obstacles Arduino

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×IR Obstacle Avoidance Sensor
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur d'évitement d'obstacles IR

Le capteur d'obstacles infrarouge (IR) est utilisé pour détecter la présence de tout obstacle devant le module de capteur en utilisant le signal infrarouge. La plage de détection est de 2 cm à 30 cm. La plage de détection peut être ajustée par un potentiomètre intégré.

Brochage

Le capteur de détection d'obstacles IR comprend trois broches :

  • Broche GND : doit être connectée à GND (0V)
  • Broche VCC : doit être connectée à VCC (5V ou 3,3V)
  • Broche OUT : est une broche de sortie : BASSE lorsqu'il y a un obstacle, HAUTE lorsqu'il n'y a pas d'obstacle. Cette broche doit être connectée à la broche d'entrée de l'Arduino.
Détecteur d'évitement d'obstacles IR : schéma de brochage
image source: diyables.io

Comment ça marche

Un module de capteur d'obstacle infrarouge dispose d'un émetteur IR et d'un récepteur IR intégrés. L'émetteur IR émet le signal IR. Le récepteur IR cherche le signal IR réfléchi pour déterminer si un objet est présent ou non. La présence d'un obstacle se reflète dans la broche OUT :

  • Si l'obstacle est présent devant le capteur, la broche OUT du capteur est en position BASSE
  • Si l'obstacle n'est pas présent devant le capteur, la broche OUT du capteur est en position HAUTE

※ NOTE THAT:

Pendant l'expédition, le capteur peut se déformer, ce qui peut entraîner un dysfonctionnement. Si le capteur ne fonctionne pas correctement, ajustez l'émetteur et le récepteur IR pour les rendre parallèles.

Diagramme de câblage

Schéma de câblage du capteur de détection d'obstacles IR Arduino

This image is created using Fritzing. Click to enlarge image

Comment programmer un capteur de détection d'obstacles IR

  • Initialise la broche Arduino en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, la broche GIOP18
pinMode(18, INPUT_PULLUP);
  • Lit l'état de la broche Arduino en utilisant la fonction digitalRead().
int state = digitalRead(18);

Code Arduino

Il existe deux manières de programmer une application d'évitement d'obstacles :

  • Faites ou ne faites pas quelque chose tant que l'obstacle est présent ou absent.
  • Faites ou ne faites pas quelque chose lorsque l'obstacle est détecté ou écarté.

Code Arduino pour vérifier la présence d'un obstacle

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino/arduino-infrared-obstacle-avoidance-sensor */ // Arduino's pin connected to OUT pin of IR obstacle avoidance sensor const int SENSOR_PIN = 8; void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); if (state == LOW) Serial.println("The obstacle is present"); else Serial.println("The obstacle is NOT present"); delay(100); }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour charger le code sur Arduino
  • Placez un obstacle devant le capteur pendant un moment, puis retirez-le.
  • Vérifiez le résultat sur le moniteur série.
COM6
Send
The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is present The obstacle is present The obstacle is present The obstacle is present The obstacle is NOT present The obstacle is NOT present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code Arduino pour détecter un obstacle

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino/arduino-infrared-obstacle-avoidance-sensor */ // Arduino's pin connected to OUT pin of IR obstacle avoidance sensor const int SENSOR_PIN = 8; int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The obstacle is detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state lastState = currentState; }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers Arduino
  • Placez un obstacle devant le capteur pendant un moment, puis retirez-le.
  • Vérifiez le résultat sur le moniteur série.
COM6
Send
The obstacle is detected The obstacle is cleared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Références de fonction

Tutoriels connexes

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!