Raspberry Pi - Capteur Ultrasonique - Relais

Ce tutoriel vous explique comment utiliser un Raspberry Pi et un capteur ultrasonique pour contrôler un relais. En détail :

En connectant un relais à une ampoule, une bande LED, un moteur ou un actionneur..., nous pouvons utiliser le Raspberry Pi et un capteur ultrasonique pour contrôler l'ampoule, la bande LED, le moteur ou l'actionneur...

Préparation du matériel

1×Raspberry Pi 5
1×Capteur à ultrasons
1×Relais
1×Optionnel: Serrure à solénoïde
1×Adaptateur secteur 12V
1×Connecteur d'alimentation DC
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Raspberry Pi
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Raspberry Pi
1×Recommandé: Écran tactile HDMI pour Raspberry Pi

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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 de Relay et du capteur ultrasonique

Si vous n'êtes pas familier avec le relais et le capteur ultrasonique (brochage, fonctionnement, programmation ...), consultez les tutoriels suivants :

Diagramme de câblage

Schéma de câblage du relais du capteur ultrasonique Raspberry Pi

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Pour simplifier et organiser votre montage de câblage, nous recommandons l'utilisation d'un shield à bornier à vis pour Raspberry Pi. Ce shield assure des connexions plus sûres et mieux gérées, comme illustré ci-dessous :

Shield à bornier à vis pour Raspberry Pi

Code Raspberry Pi

É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é à l'internet si vous avez besoin d'installer des 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. Si ce n'est pas le cas, 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 ultrasonic_sensor_relay.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-ultrasonic-sensor-relay import RPi.GPIO as GPIO import time # Set the GPIO mode to BCM GPIO.setmode(GPIO.BCM) # Define the GPIO pins for the ultrasonic sensor TRIG_PIN = 23 ECHO_PIN = 24 # Define the GPIO pin for the relay RELAY_PIN = 18 # Set up the ultrasonic sensor pins GPIO.setup(TRIG_PIN, GPIO.OUT) GPIO.setup(ECHO_PIN, GPIO.IN) # Set up the relay pin as an output GPIO.setup(RELAY_PIN, GPIO.OUT) # Define the distance threshold in cm (adjust as needed) DISTANCE_THRESHOLD = 20 # 20 cm def get_distance(): # Send a trigger signal GPIO.output(TRIG_PIN, GPIO.HIGH) time.sleep(0.00001) GPIO.output(TRIG_PIN, GPIO.LOW) # Wait for the echo response pulse_start = time.time() pulse_end = time.time() while GPIO.input(ECHO_PIN) == GPIO.LOW: pulse_start = time.time() while GPIO.input(ECHO_PIN) == GPIO.HIGH: pulse_end = time.time() # Calculate the distance in centimeters pulse_duration = pulse_end - pulse_start speed_of_sound = 34300 # Speed of sound in cm/s distance = (pulse_duration * speed_of_sound) / 2 return distance try: while True: # Get the distance from the ultrasonic sensor distance = get_distance() print("Distance:", distance, "cm") # If the distance is below the threshold, turn on the relay if distance < DISTANCE_THRESHOLD: print("Distance below threshold. Turning on the relay.") GPIO.output(RELAY_PIN, GPIO.HIGH) else: print("Distance above threshold. Turning off the relay.") GPIO.output(RELAY_PIN, GPIO.LOW) # Add a small delay to avoid excessive readings time.sleep((0.1) except KeyboardInterrupt: # Clean up the GPIO on exiting the script GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 ultrasonic_sensor_relay.py
  • Déplacez votre main ou un objet lentement d'une distance éloignée vers le capteur ultrasonique.
  • Consultez la sortie du terminal, qui affichera la distance mesurée par le capteur ultrasonique.
  • Vérifiez l'état du relais :
    • Lorsque vous vous rapprochez du capteur et que la distance tombe en dessous du seuil défini, le relais doit s'allumer.
    • Lorsque vous vous éloignez du capteur et que la distance dépasse le seuil, le relais doit s'éteindre.

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

    Explication du code

    Consultez l'explication ligne par ligne contenue dans les commentaires du code source !

    ※ Note:

    Le code ci-dessus est destiné à des fins éducatives. Le capteur ultrasonique est très sensible au bruit. Si vous prévoyez d'utiliser le capteur ultrasonique dans une application réelle, il est nécessaire de filtrer le bruit pour le capteur ultrasonique. Pour plus d'informations sur la façon de filtrer le bruit des mesures de distance d'un capteur ultrasonique, veuillez consulter ce tutoriel.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !