Tarte aux framboises

Comment mesurer la distance avec Raspberry Pi

Comment mesurer la distance avec Raspberry Pi
Vous pouvez mesurer la distance à l'aide du capteur à ultrasons HC-SR04 avec Raspberry Pi. Le capteur HC-SR04 peut mesurer la distance à partir de 2 mm (.02m) à 400cm (4m). Il envoie 8 rafales de signaux de 40 KHz, puis attend qu'il frappe un objet et soit réfléchi en retour. Le temps qu'il faut à l'onde sonore ultrasonore de 40 KHz pour aller et venir est utilisé pour calculer la distance entre le capteur et l'objet sur son chemin. Voilà en gros comment fonctionne le capteur HC-SR04.

Dans cet article, je vais vous montrer comment utiliser un capteur à ultrasons HC-SR04 pour mesurer la distance entre votre capteur et un objet sur son passage à l'aide de Raspberry Pi. Commençons.

Composants dont vous avez besoin :

Pour mesurer avec succès la distance avec le Raspberry Pi et le capteur HC-SR04, vous avez besoin,

J'ai écrit un article dédié sur l'installation de Raspbian sur Raspberry Pi, que vous pouvez consulter sur https://linuxhint.com/install_raspbian_raspberry_pi/ si vous avez besoin.

Brochages HC-SR04 :

Le HC-SR04 a 4 broches. VCC, DÉCLENCHEUR, ÉCHO, TERRE.

Fig1: Brochages HC-SR04 (https://www.souris.com/ds/2/813/HCSR04-1022824.pdf)

La broche VCC doit être connectée à la broche +5V du Raspberry Pi, qui est la broche 2. La broche GROUND doit être connectée à la broche GND du Raspberry Pi, qui est la broche 4.

Les broches TRIGGER et ECHO doivent être connectées aux broches GPIO du Raspberry Pi. Alors que la broche TRIGGER peut être directement connectée à l'une des broches GPIO du Raspberry Pi, la broche ECHO a besoin d'un circuit diviseur de tension.

Schéma:

Connectez le capteur à ultrasons HC-SR04 à votre Raspberry Pi comme suit :

Fig2 : Capteur à ultrasons HC-SR04 connecté au Raspberry Pi.

Une fois que tout est connecté, voici à quoi cela ressemble :

Fig3 : Capteur à ultrasons HC-SR04 connecté au Raspberry Pi sur la maquette.

Fig4: Capteur à ultrasons HC-SR04 connecté au Raspberry Pi sur la maquette.

Écrire un programme Python pour mesurer la distance avec HC-SR04 :

Tout d'abord, connectez-vous à votre Raspberry Pi en utilisant VNC ou SSH. Ensuite, ouvrez un nouveau fichier (disons distance.py) et tapez les lignes de codes suivantes :

Ici, la ligne 1 importe la bibliothèque Raspberry Pi GPIO.

La ligne 2 importe la bibliothèque de temps.

À l'intérieur de essayer bloc, le code réel pour mesurer la distance à l'aide de HC-SR04 est écrit.

le finalement bloc est utilisé pour nettoyer les broches GPIO avec GPIO.nettoyer() méthode lorsque le programme se termine.

À l'intérieur de essayer bloc, à la ligne 5, GPIO.setmode(GPIO.CONSEIL) est utilisé pour faciliter la définition des broches. Maintenant, vous pouvez référencer les broches par des numéros physiques comme c'est le cas sur la carte Raspberry Pi.

Sur les lignes 7 et 8, pinTrigger est réglé sur 7 et pinEcho est réglé sur 11. le DÉCLENCHEUR la broche de HC-SR04 est connectée à la broche 7, et ÉCHO la broche du HC-SR04 est connectée à la broche 11 du Rapsberry Pi. Les deux sont des broches GPIO.

En ligne 10, pinTrigger est configuré pour OUTPUT en utilisant GPIO.mettre en place() méthode.

En ligne 11, pinEcho est configuré pour INPUT en utilisant GPIO.mettre en place() méthode.

Les lignes 13-17 sont utilisées pour la réinitialisation pinTrigger (en le réglant sur la logique 0) et en définissant le pinTrigger au 1 logique pendant 10ms puis au 0 logique. En 10ms, le capteur HC-SR04 envoie 8 impulsions de 40KHz.

Les lignes 19-24 sont utilisées pour mesurer le temps nécessaire pour que les impulsions de 40 KHz soient réfléchies vers un objet et renvoyées vers le capteur HC-SR04.

Sur la ligne 25, la distance est mesurée à l'aide de la formule,

Distance = delta temps * vitesse (340M/S) / 2

=> Distance = temps delta * (170M/S)

J'ai calculé la distance en centimètres au lieu de mètres, juste pour être précis. J'ai calculé la distance est également arrondie à 2 décimales.

Enfin, à la ligne 27, le résultat est imprimé. C'est tout simple.

Maintenant, exécutez le script Python avec la commande suivante :

$ python3 distance.py

Comme vous pouvez le voir, la distance mesurée est de 8.40cm.

Fig5 : objet placé à environ 8.40 cm du capteur.

Je me suis déplacé vers l'objet un peu plus loin, la distance mesurée est de 21.81cm. Donc ça marche comme prévu.

Fig6 : objet placé à environ 21.81 cm du capteur.

C'est ainsi que vous mesurez la distance avec Raspberry Pi à l'aide du capteur à ultrasons HC-SR04.  Voir le code pour la distance.py ci-dessous :

importer RPi.GPIO comme GPIO
heure d'importation
essayer:
GPIO.setmode(GPIO.CONSEIL)
pinTrigger = 7
pinEcho = 11
 
GPIO.configuration (pinTrigger, GPIO.EN DEHORS)
GPIO.configuration (pinEcho, GPIO.DANS)
 
GPIO.sortie (pinTrigger, GPIO.FAIBLE)
GPIO.sortie (pinTrigger, GPIO.HAUTE)
 
temps.dormir(0.00001)
GPIO.sortie (pinTrigger, GPIO.FAIBLE)
 
tandis que GPIO.entrée(pinEcho)==0 :
pulseStartTime = heure.temps()
tandis que GPIO.entrée(pinEcho)==1 :
pulseEndTime = heure.temps()
 
pulseDuration = pulseEndTime - pulseStartTime
distance = round(pulseDuration * 17150, 2)
 
print("Distance : %.2f cm" % (distance))
finalement:
GPIO.nettoyer()
Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...
Meilleurs jeux de laboratoire d'applications Oculus
Si vous êtes propriétaire d'un casque Oculus, vous devez être au courant du chargement latéral. Le chargement latéral est le processus d'installation ...
Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...