Raspberry Pi - Capteur d'obstacles

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

Préparation du matériel

1×Raspberry Pi 4 Model B
1×IR Obstacle Avoidance Sensor
1×Jumper Wires
1×(Optional) Screw Terminal Block Shield for Raspberry Pi
1×(Optional) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B
1×(Optional) Plastic Case and Cooling Fan for Raspberry Pi 4B
1×(Optional) HDMI Touch Screen Monitor for Raspberry Pi

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 infrarouge

Le capteur d'obstacles infrarouge est capable de détecter la présence d'un objet devant lui en utilisant des signaux infrarouges. La portée de détection est de 2 cm à 30 cm et peut être ajustée à l'aide d'un potentiomètre intégré.

Le brochage du capteur d'évitement d'obstacles infrarouge

Le capteur d'évitement d'obstacles IR a trois broches :

  • Broche GND : doit être connectée à la masse (0V)
  • Broche VCC : doit être connectée à VCC (5V ou 3.3V)
  • Broche OUT : est une broche de sortie, LOW lorsqu'un obstacle est présent, HIGH lorsqu'il n'y a pas d'obstacle. Cette broche doit être connectée à une broche d'entrée d'un Raspberry Pi.
Broche du capteur d'évitement d'obstacles IR

Comment ça marche

Le module capteur d'obstacles infrarouge dispose d'un émetteur IR intégré et d'un récepteur IR. L'émetteur IR envoie le signal IR. Le récepteur IR recherche le signal IR réfléchi pour détecter la présence d'un objet ou non. La broche OUT du capteur reflète la présence d'un obstacle :

  • Si un obstacle se trouve devant le capteur, la broche OUT du capteur sera LOW.
  • S'il n'y a pas d'obstacle devant le capteur, la broche OUT du capteur sera HIGH.

※ Note:

Pendant le transport, le capteur peut être déformé, ce qui peut entraîner des dysfonctionnements. Si le capteur ne fonctionne pas correctement, ajustez l'émetteur et le récepteur IR pour s'assurer qu'ils sont parallèles l'un à l'autre.

Diagramme de câblage

Schéma de câblage du capteur d'évitement d'obstacles à infrarouge pour Raspberry Pi

This image is created using Fritzing. Click to enlarge image

Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :

Raspberry Pi Screw Terminal Block Shield

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

  • Initialise la broche Raspberry Pi en mode entrée numérique à l'aide de la fonction GPIO.setup().
GPIO.setup(SENSOR_PIN, GPIO.IN) # Configurer le PIN du capteur en entrée
  • Utilisez la fonction GPIO.input() pour examiner l'état de la broche du Raspberry Pi.
obstacle_state = GPIO.input(SENSOR_PIN) # état de l'obstacle

Code pour Raspberry Pi

Deux approches peuvent être adoptées lors de la programmation d'une application d'évitement d'obstacles :

  • Prendre des mesures selon que l'obstacle est présent ou non
  • Prendre des mesures en fonction de l'obstacle détecté ou supprimé

Code Raspberry Pi pour vérifier si l'obstacle est présent

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous devez installer certaines bibliothèques.
  • Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Créez un fichier de script Python obstacle_sensor.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-obstacle-sensor import RPi.GPIO as GPIO # Set the GPIO mode to BCM (Broadcom SOC channel numbering) GPIO.setmode(GPIO.BCM) # Set the pin number connected to the ir obstacle avoidance sensor SENSOR_PIN = 12 # Set the GPIO pin as an input GPIO.setup(SENSOR_PIN, GPIO.IN) try: while True: # Read the state from the ir obstacle avoidance sensor obstacle_state = GPIO.input(SENSOR_PIN) # The ir obstacle avoidance sensor outputs LOW (0) when obstacle is present, otherwise HIGH (1) if obstacle_state == GPIO.LOW: print("The obstacle is present") else: print("The obstacle is NOT present") except KeyboardInterrupt: # Clean up the GPIO settings on program exit GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 obstacle_sensor.py
  • Placez un obstacle devant le capteur pendant un certain temps, puis retirez-le.
  • Vérifiez le résultat dans le Terminal.
PuTTY - Raspberry Pi
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

Le script s'exécute dans une boucle infinie en continu jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

Code Raspberry Pi pour détecter un obstacle

Étapes rapides

  • Créez un fichier script Python obstacle_sensor_events.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-obstacle-sensor import RPi.GPIO as GPIO import time # Set the GPIO mode to BCM (Broadcom SOC channel numbering) GPIO.setmode(GPIO.BCM) # Set the pin number connected to the ir obstacle avoidance sensor SENSOR_PIN = 12 # Set the GPIO pin as an input GPIO.setup(SENSOR_PIN, GPIO.IN) # Variable to track the ir obstacle avoidance sensor state prev_obstacle_state = GPIO.HIGH # Assuming no obstacle initially try: while True: obstacle_state = GPIO.input(SENSOR_PIN) if obstacle_state != prev_obstacle_state: if obstacle_state == GPIO.LOW: # obstacle is detected print("An obstacle is detected") else: # An obstacle is removed print("An obstacle is removed") prev_obstacle_state = obstacle_state time.sleep(0.1) # A small delay to debounce the input except KeyboardInterrupt: # Clean up the GPIO settings on program exit GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 obstacle_sensor_events.py
  • Placez un obstacle devant le capteur pendant un moment, puis retirez-le.
  • Vérifiez les résultats sur le terminal.
PuTTY - Raspberry Pi
An obstacle is detected An obstacle is removed

Vidéo

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!