Note
Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l’univers des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.
Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.
Promotions festives et cadeaux : Participez à des cadeaux et des promotions de vacances.
👉 Prêt à explorer et à créer avec nous ? Cliquez [Ici] et rejoignez-nous aujourd’hui !
2.2.8 Module de capteur ultrasonique
Introduction
Le capteur ultrasonique utilise des ultrasons pour détecter avec précision des objets et mesurer des distances. Il émet des ondes ultrasonores et les convertit en signaux électroniques.
Composants nécessaires
Dans ce projet, nous avons besoin des composants suivants.
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
ARTICLES DANS CE KIT |
LIEN |
|---|---|---|
Kit Raphael |
337 |
Vous pouvez également les acheter séparément via les liens ci-dessous.
INTRODUCTION DU COMPOSANT |
LIEN D’ACHAT |
|---|---|
Schéma
Procédures expérimentales
Étape 1 : Construisez le circuit.
Étape 2 : Allez dans le dossier du code.
cd ~/raphael-kit/python-pi5
Étape 3 : Exécutez le fichier exécutable.
sudo python3 2.2.8_Ultrasonic_zero.py
Lorsque le code est exécuté, le module de capteur ultrasonique détecte la distance entre l’obstacle devant et le module lui-même, puis la valeur de la distance sera imprimée à l’écran.
Avertissement
Si vous recevez le message d’erreur RuntimeError: Cannot determine SOC peripheral base address, veuillez consulter Si « gpiozero » ne fonctionne pas.
Code
Note
Vous pouvez Modifier/Réinitialiser/Copier/Exécuter/Arrêter le code ci-dessous. Mais avant cela, vous devez vous rendre au chemin du code source comme raphael-kit/python-pi5. Après avoir modifié le code, vous pouvez l’exécuter directement pour voir l’effet.
#!/usr/bin/env python3
from gpiozero import DistanceSensor
from time import sleep
# Initialize the DistanceSensor using GPIO Zero library
# Trigger pin is connected to GPIO 23, Echo pin to GPIO 24
sensor = DistanceSensor(echo=24, trigger=23)
try:
# Main loop to continuously measure and report distance
while True:
dis = sensor.distance * 100 # Measure distance and convert from meters to centimeters
print('Distance: {:.2f} cm'.format(dis)) # Print the distance with two decimal precision
sleep(0.3) # Wait for 0.3 seconds before the next measurement
except KeyboardInterrupt:
# Handle KeyboardInterrupt (Ctrl+C) to gracefully exit the loop
pass
Explication du code
Importe la classe
DistanceSensorde la bibliothèquegpiozeropour la mesure de distance, et la fonctionsleepdu moduletimepour les délais.#!/usr/bin/env python3 from gpiozero import DistanceSensor from time import sleep
Initialise le capteur de distance ultrasonique avec la broche Echo connectée à GPIO 24 et la broche Trigger à GPIO 23.
# Initialize the DistanceSensor using GPIO Zero library # Trigger pin is connected to GPIO 23, Echo pin to GPIO 24 sensor = DistanceSensor(echo=24, trigger=23)
La boucle principale mesure continuellement la distance, la convertit de mètres en centimètres et l’imprime avec une précision de deux décimales. Puis attend 0,3 secondes avant de refaire une mesure. Gère un KeyboardInterrupt (comme Ctrl+C) pour permettre une sortie propre du script.
try: # Main loop to continuously measure and report distance while True: dis = sensor.distance * 100 # Measure distance and convert from meters to centimeters print('Distance: {:.2f} cm'.format(dis)) # Print the distance with two decimal precision sleep(0.3) # Wait for 0.3 seconds before the next measurement except KeyboardInterrupt: # Handle KeyboardInterrupt (Ctrl+C) to gracefully exit the loop pass