Raspberry Pi - Capteur Ultrasonique
Ce didacticiel vous apprend à utiliser Raspberry Pi et un capteur ultrasonique pour mesurer la distance aux obstacles ou objets. En détail, nous allons apprendre :
- Fonctionnement du capteur ultrasonique
- Comment connecter le capteur ultrasonique au Raspberry Pi
- Comment programmer le Raspberry Pi pour mesurer la distance avec le capteur ultrasonique
- Comment filtrer le bruit des mesures de distance du capteur ultrasonique dans le code Raspberry Pi
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du capteur ultrasonique
Le capteur ultrasonique HC-SR04 est utilisé pour calculer la distance à un objet en utilisant des ondes ultrasoniques.
Le brochage du capteur à ultrasons
Le capteur ultrasonique HC-SR04 a quatre broches :
- Broche VCC : doit être connectée à VCC (5V)
- Broche GND : doit être connectée à GND (0V)
- Broche TRIG : cette broche reçoit un signal de contrôle (impulsion) du Raspberry Pi
- Broche ECHO : cette broche envoie un signal (impulsion) au Raspberry Pi. Le Raspberry Pi mesure la durée de l'impulsion pour calculer la distance.
Comment ça marche
- Le microcontrôleur génère une impulsion de 10 microsecondes sur la broche TRIG, ce qui amène le capteur ultrasonique à émettre automatiquement des ondes ultrasoniques.
- Lorsque les ondes frappent un obstacle, elles sont réfléchies vers le capteur.
- Le capteur ultrasonique détecte alors l'onde réfléchie et mesure son temps de parcours.
- En conséquence, le capteur ultrasonique génère une impulsion vers la broche ECHO, avec une durée égale au temps de parcours de l'onde ultrasonique.
- Le microcontrôleur mesure la durée de l'impulsion sur la broche ECHO et calcule la distance entre le capteur et l'obstacle.
Comment obtenir la distance à partir d'un capteur ultrasonique
i. Pour calculer la distance à partir du capteur ultrasonique, deux étapes doivent être effectuées comme indiqué dans la section "Comment ça marche" (étapes 1 et 6) :
i. Générer une impulsion de 10 microsecondes sur la broche TRIG.
i. Mesurer la durée de l'impulsion sur la broche ECHO.
i. Utiliser la durée de l'impulsion mesurée pour calculer la distance entre le capteur et l'obstacle.
Calcul de la distance
Nous avons :
- Le temps de trajet de l'onde ultrasonore (µs) : temps_de_trajet = durée_de_l'impulsion
- La vitesse de l'onde ultrasonore : vitesse = VITESSE_DU_SON = 340 m/s = 0,034 cm/µs
Donc :
- La distance de parcours de l'onde ultrasonique (cm) : distance_parcours = vitesse × temps_parcours = 0,034 × durée_impulsion
- La distance entre le capteur et l'obstacle (cm) : distance = distance_parcours / 2 = 0,034 × durée_impulsion / 2 = 0,017 × durée_impulsion
Raspberry Pi - Capteur Ultrasonique
Les broches d'un Raspberry Pi peuvent créer une impulsion de 10 microsecondes et mesurer la longueur de l'impulsion. Cela nous permet de calculer la distance à partir du capteur ultrasonique en utilisant deux broches de Raspberry Pi. Donc, nous avons juste besoin d'utiliser deux broches du Raspberry Pi :
- Une broche est connectée à la broche TRIG du capteur ultrasonique pour générer une impulsion de 10 µs.
- L'autre broche est connectée à la broche ECHO du capteur ultrasonique pour mesurer l'impulsion du capteur.
Diagramme de câblage
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 :
Comment programmer un capteur ultrasonique
- Créez une impulsion de 10 microsecondes sur la broche 9 du Raspberry Pi en utilisant les fonctions GPIO.output() et time.sleep().
- Par exemple :
- Réglez la broche 9 sur HIGH avec digitalWrite() puis attendez 10 microsecondes avec delayMicroseconds().
- Déterminez la durée de l'impulsion (µs) sur la broche 8 du Raspberry Pi en utilisant la fonction pulseIn(). Par exemple :
- Déterminer la distance (cm) :
Code Raspberry Pi
Étapes rapides
- Assurez-vous d'avoir Raspbian ou un autre système d'exploitation compatible 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 à l'aide de la commande suivante :
- Créez un fichier de script Python ultrasonic_sensor.py et ajoutez le code suivant :
- Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
- Placez votre main devant le capteur ultrasonique
- Vérifiez la distance entre le capteur et votre main affichée sur le Terminal
Le script s'exécute en boucle infinie continuellement 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 !
Comment filtrer le bruit des mesures de distance d'un capteur ultrasonique
Le résultat de mesure d'un capteur ultrasonique peut contenir du bruit, ce qui peut entraîner un fonctionnement indésirable dans certaines applications. Pour éliminer ce bruit, l'algorithme suivant peut être utilisé :
- Prenez plusieurs mesures et stockez-les dans un tableau
- Triez le tableau par ordre croissant
- Filtrez le bruit en :
- Les plus petits échantillons sont considérés comme du bruit et doivent être ignorés
- Les plus grands échantillons sont considérés comme du bruit et doivent être ignorés
- La moyenne des échantillons du milieu doit être prise comme valeur mesurée
- Ignorez les cinq plus petits échantillons, qui sont considérés comme du bruit.
- Ignorez les cinq plus grands échantillons, qui sont également considérés comme du bruit.
- Calculez la moyenne des 10 échantillons du milieu (du 5e au 14e).
Le code d'exemple suivant prend 20 mesures :
Vidéo
Dépassez-vous
Utilisez un capteur à ultrasons pour réaliser l'un des projets suivants :
- Construire un système d'évitement de collision pour une voiture télécommandée.
- Mesurer la quantité de matériau dans une poubelle.
- Surveiller le niveau de la poubelle.
- Ouvrir et fermer automatiquement la poubelle. Conseil : Se référer à Raspberry Pi - Moteur Servo..
Applications des capteurs ultrasoniques
- Éviter les collisions
- Détecter le plein
- Mesurer le niveau
- Détecter la proximité