Arduino Nano - Capteur d'obstacles

Ce tutoriel vous explique comment utiliser l'Arduino Nano avec le capteur d'évitement d'obstacles infrarouge. En détail, nous allons apprendre :

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×IR Obstacle Avoidance Sensor
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

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 est utilisé pour détecter la présence de tout obstacle devant le module au moyen du signal infrarouge. Sa portée de détection se situe entre 2 cm et 30 cm, et peut être ajustée avec un potentiomètre intégré.

Brochage du capteur d'évitement d'obstacles infrarouge

Le capteur de détection d'obstacles IR possède 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 - elle sera en LOW lorsqu'un obstacle est détecté et en HIGH lorsqu'il n'y a pas d'obstacle. Cette broche doit être connectée à une broche d'entrée de l'Arduino Nano.
Capteur infrarouge de détection d'obstacles

Comment ça fonctionne

Le module de capteur d'obstacles infrarouge contient un émetteur IR et un récepteur IR. L'émetteur émet le signal IR. Le récepteur recherche le signal IR réfléchi pour détecter la présence ou non d'un objet. La broche OUT du capteur indiquera la présence d'un obstacle :

  • Si un obstacle est devant le capteur, la broche OUT sera à l'état BAS
  • Si aucun obstacle n'est devant le capteur, la broche OUT sera à l'état HAUT

※ NOTE THAT:

Le capteur peut se déformer pendant le transport, ce qui peut entraîner un dysfonctionnement. Si le capteur ne fonctionne pas correctement, ajustez l'émetteur et le récepteur IR pour vous assurer qu'ils sont parallèles l'un à l'autre.

Diagramme de câblage

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

This image is created using Fritzing. Click to enlarge image

Comment programmer pour un capteur d'évitement d'obstacles IR

  • Initialise la broche de l'Arduino Nano en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, D2 :
pinMode(2, INPUT_PULLUP);
  • Utilise la fonction digitalRead() pour lire l'état du pin de l'Arduino Nano.
int state = digitalRead(2);

Code Arduino Nano

Deux méthodes existent pour programmer une application d'évitement d'obstacles :

  • Prendre des mesures ou non lorsque un obstacle est présent ou absent
  • Prendre des mesures ou non lorsque un obstacle est détecté ou éliminé

Code Arduino Nano pour vérifier si un obstacle est présent

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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-nano/arduino-nano-obstacle-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin connected to the out pin of obstacle avoidance sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input 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 et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code au Arduino Nano.
  • Placez un obstacle devant le capteur pendant un certain temps, puis retirez-le.
  • Consultez 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 Nano pour détecter un obstacle

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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-nano/arduino-nano-obstacle-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin connected to the out pin of obstacle avoidance sensor int prev_state = HIGH; // The previous state from the input pin int obstacle_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: obstacle_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && obstacle_state == LOW) Serial.println("The obstacle is detected"); else if (prev_state == LOW && obstacle_state == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state prev_state = obstacle_state; }

Étapes rapides

  • Copiez le code et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code sur l'Arduino Nano.
  • Placez un obstacle devant le capteur pendant un moment, puis retirez-le.
  • Consultez 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!