les télémètres à ultrasons sont de petits capteurs amusants qui peuvent mesurer la distance. Vous pouvez les utiliser pour trouver la distance à un objet, ou pour détecter quand quelque chose est près du capteur comme un détecteur de mouvement. Ils sont idéaux pour les projets impliquant la navigation, l’évitement d’objets et la sécurité de la maison. Parce qu’ils utilisent le son pour mesurer la distance, ils fonctionnent aussi bien dans l’obscurité que dans la lumière., Le télémètre à ultrasons que j’utiliserai dans ce tutoriel est le HC-SR04, qui peut mesurer des distances de 2 cm à 400 cm avec une précision de ±3 mm.
dans cet article, je vais vous montrer comment faire trois circuits de télémètre différents pour L’Arduino. Le premier circuit de télémètre est facile à configurer et a une assez bonne précision. Les deux autres sont un peu plus compliqués, mais sont plus précis car ils tiennent compte de la température et de l’humidité. Mais avant d’entrer dans cela, parlons de la façon dont le télémètre mesure la distance.,
la vitesse du son
les télémètres à ultrasons mesurent la distance en émettant une impulsion de son ultrasonique qui se déplace dans l’air jusqu’à ce qu’il frappe un objet. Lorsque cette impulsion sonore frappe un objet, elle est réfléchie par l’objet et retourne au télémètre à ultrasons., Le télémètre à ultrasons mesure combien de temps il faut à l’impulsion sonore pour voyager dans son voyage aller-retour depuis le capteur et à l’arrière. Il envoie ensuite un signal à L’Arduino avec des informations sur le temps qu’il a fallu à l’impulsion sonique pour voyager.
connaissant le temps qu’il faut à l’impulsion ultrasonique pour voyager d’avant en arrière vers l’objet, et connaissant également la vitesse du son, L’Arduino peut calculer la distance à l’objet., La formule concernant la vitesse du son, la distance et le temps de parcours est le suivant:
en Réarrangeant cette formule, nous obtenons la formule utilisée pour calculer la distance:
La variable de temps est le temps qu’il faut pour l’impulsion ultrasonore de quitter le capteur, de rebondir sur l’objet, et retour vers le capteur., Nous divisons en fait ce temps en deux puisque nous avons seulement besoin de mesurer la distance à l’objet, pas la distance à l’objet et au capteur. La variable de vitesse est la vitesse à laquelle le son se déplace dans l’air.
la vitesse du son dans l’air change avec la température et l’humidité. Par conséquent, afin de calculer avec précision la distance, nous devrons tenir compte de la température ambiante et de l’humidité., La formule pour la vitesse du son dans l’air avec la température et l’humidité prises en compte est:
Par exemple, à 20°C et 50% d’humidité, le son se déplace à une vitesse de:
dans l’équation ci-dessus, il est clair que la température a le plus grand effet sur la vitesse du son. L’humidité a une certaine influence, mais c’est beaucoup moins que l’effet de la température.,
comment le télémètre à ultrasons mesure la Distance
à l’avant du télémètre à ultrasons se trouvent deux cylindres métalliques. Ce sont des transducteurs. Les transducteurs convertissent les forces mécaniques en signaux électriques. Dans le télémètre à ultrasons, il y a un transducteur de transmission et un transducteur de réception. Le transducteur de transmission convertit un signal électrique en impulsion ultrasonique, et le transducteur de réception convertit l’impulsion ultrasonique réfléchie en un signal électrique., Si vous regardez à l’arrière du télémètre, vous verrez un CI derrière le transducteur émetteur étiqueté MAX3232. C’est le circuit intégré qui contrôle le transducteur de transmission. Derrière le transducteur récepteur se trouve un IC étiqueté LM324. Il s’agit d’un ampli Op quad qui amplifie le signal généré par le transducteur de réception en un signal suffisamment puissant pour être transmis à L’Arduino.,
le télémètre à ultrasons HC-SR04 a quatre broches:
- Vcc – fournit l’alimentation pour générer les impulsions ultrasoniques
- GND – connecté à la terre
- Trig – où l’Arduino envoie le signal pour démarrer l’impulsion ultrasonique
- Echo – où le télémètre ultrasonique envoie les informations sur la durée du voyage effectué par l’impulsion ultrasonique à l’Arduino
pour lancer une mesure de distance, nous devons envoyer un signal élevé de 5V à la broche TRIG pendant au moins 10 µs., Lorsque le module reçoit ce signal, il émet 8 impulsions de son ultrasonique à une fréquence de 40 KHz à partir du transducteur émetteur. Ensuite, il attend et écoute au transducteur de réception pour le signal réfléchi. Si un objet est à portée, les 8 impulsions seront réfléchies vers le capteur. Lorsque l’impulsion frappe le transducteur de réception, La Broche Echo émet un signal haute tension.
La longueur de ce signal haute tension est égale au temps total que les 8 impulsions prennent pour se déplacer du transducteur émetteur et revenir au transducteur récepteur., Cependant, nous voulons seulement mesurer la distance à l’objet, et non la distance du chemin pris par l’impulsion sonore. Par conséquent, nous divisons ce temps en deux pour obtenir la variable de temps dans l’équation d = s x t ci-dessus. Puisque nous connaissons déjà la vitesse du Son (s), nous pouvons résoudre l’équation de la distance.
configuration du télémètre à ultrasons pour la sortie du moniteur série
commençons par créer un télémètre à ultrasons simple qui émettra des mesures de distance sur votre moniteur série. Si vous souhaitez afficher les lectures sur un écran LCD à la place, consultez la section suivante., Connecter tout est facile, il suffit de le câbler comme ceci:
Une fois que vous avez tout connecté, téléchargez ce programme sur L’Arduino:
explication du code
- ligne 11: déclare les variables
duration
etdistance
. - lignes 12 et 13: envoie un signal faible de 2 µs au
trigPin
pour s’assurer qu’il est désactivé au début de la boucle du programme., - lignes 15-17: envoie un signal élevé de 10 µs au
trigPin
pour lancer la séquence de huit impulsions ultrasonores de 40 KHz envoyées par le transducteur émetteur. - ligne 19: définit la variable
duration
comme la longueur (en µs) de tout signal D’entrée élevé détecté àechoPin
. La sortie de broche D’écho est égale au temps qu’il faut à l’impulsion ultrasonique émise pour se rendre à l’objet et revenir au capteur., - ligne 20: définit la variable
distance
comme la durée (temps en d = s x t) multipliée par la vitesse du son converti de mètres par seconde en centimètres par µs (0,0344 cm/µs). - lignes 22-24: si la distance est supérieure ou égale à 400 cm, ou inférieure ou égale à 2 cm, affichez « Distance = Out of range” sur le moniteur série.
- lignes 26-30: si la mesure de distance n’est pas hors de portée, affichez la distance calculée en ligne 20 sur le moniteur série pendant 500 ms.,
télémètre à ultrasons avec sortie LCD
Si vous souhaitez afficher les mesures de distance sur un écran LCD 16X2, suivez ce schéma pour connecter le télémètre et L’écran LCD à votre Arduino:
Si vous avez besoin de plus d’aide pour connecter l’écran LCD, essayez notre autre tutoriel sur la configuration D’un écran LCD sur l’Arduino., Lorsque tout est connecté, téléchargez ce code sur L’Arduino:
un télémètre ultrasonique de plus grande précision
puisque la température est une variable dans la vitesse de l’équation sonore ci-dessus (c = 331.4 + (0.606 x T) + (0.0124 x h)), la température de l’air autour du capteur affecte nos mesures de distance. Pour compenser cela, tout ce que nous devons faire est d’ajouter une thermistance à notre circuit et d’entrer ses lectures dans l’équation. Cela devrait donner à nos mesures de distance une plus grande précision., Une thermistance est une résistance variable qui change de résistance avec la température. Pour en savoir plus sur les thermistances, consultez notre article, Arduino Thermistor Temperature Sensor Tutorial. Voici un schéma pour vous aider à ajouter une thermistance à votre télémètre circuit:
- R1 = 10K Ohm résistance
- Th = 10K Ohm thermistance
Note: la valeur de R1 doit être égale à la résistance de votre thermistance.,
Une fois que tout est connecté, téléchargez ce code sur L’Arduino:
explication du Code
dans le programme de télémètre de base au début de cet article, nous avons utilisé la formule d = s x t pour calculer la distance. Dans ce programme, nous utilisons la formule qui tient compte de la température et de l’humidité (c = 331,4 + (0,606 X T) + (0,0124 x H)).
dans les lignes 5 à 10, L’équation de Steinhart-Hart est utilisée pour convertir les valeurs de résistance de la thermistance en température, qui sont stockées dans une variable appeléetemp
., À la ligne 35, nous ajoutons une nouvelle variable (spdSnd
) qui contient l’équation de vitesse du son. La sortie de la variablespdSnd
est utilisée comme vitesse dans la fonctiondistance
sur la ligne 36.
le télémètre ultrasonique de précision très élevée (presque trop élevée)
le circuit de télémètre ultrasonique à compensation de température est assez précis pour ce pour quoi la plupart des gens l’utiliseront. Cependant, il y a un autre facteur affectant la vitesse du son dans l’air (et donc le calcul de la distance), et c’est l’humidité., Vous pouvez dire de la vitesse de l’équation du son que l’humidité n’a qu’un petit effet sur la vitesse du son, mais permet de vérifier quand même.
Il existe plusieurs types de capteurs d’humidité que vous pouvez utiliser sur L’Arduino, mais j’utiliserai le capteur d’humidité et de température DHT11. Ce module a en fait une thermistance en plus du capteur d’humidité, donc la configuration est vraiment simple:
Une fois que tout est connecté, nous devrons installer une bibliothèque spéciale pour exécuter le code., La Bibliothèque est la bibliothèque dhtlib écrite par Rob Tillaart. La bibliothèque est facile à installer. Tout d’abord, téléchargez le .le fichier zip ci-dessous. Ensuite, dans L’Arduino Arduino, allez dans Sketch>Include Library>ajouter une bibliothèque ZIP, puis sélectionnez le DHTLib.fichier zip.,
DHTLib
Une fois la bibliothèque installée, téléchargez ce code sur votre Arduino:
explication du Code
Les lectures de température et d’humidité sorties par le DHT11 sont numériques, nous n’avons donc pas besoin d’utiliser L’équation de Steinhart-Hart pour convertir La bibliothèque dhtlib contient toutes les fonctions nécessaires pour obtenir la température et l’humidité dans les unités que nous pouvons utiliser directement dans l’équation de la vitesse du son. Les variables de température et d’humidité sont nommés DHT.temperature
et DHT.humidity
., Ensuite, la vitesse est utilisée comme variable dans l’équation de distance sur la ligne 28.
pour afficher les mesures de distance sur un écran LCD, connectez d’abord votre écran LCD en suivant notre tutoriel sur la configuration D’un écran LCD sur un Arduino, puis téléchargez ce code:
utoriel vidéo pour voir les circuits de télémètre à ultrasons en action:
Merci d’avoir lu! Laissez un commentaire si vous avez des questions sur la façon de les définir., Si vous aimez nos articles ici à circuit Basics, abonnez-vous et nous vous informerons lorsque nous publierons de nouveaux articles. Aussi, si vous connaissez quelqu « un d » autre qui trouverait cet article utile, s » il vous plaît partager!