Mise à jour le 15/11/2020: Ce télémètre compatible Grove permet de mesurer la distance de 3cm à 4m avec une resolution de 1cm , sans contact à l’aide de transducteurs à ultrasons.
Sommaire :
- Présentation du télémètre à ultrasons
- Exemple de schéma de câblage de plusieurs capteurs sur une carte Arduino
- Programme de mesure de distance avec affichage sur l’écran de l’IDE arduino
- Application du télémètre mesure d’une distance et signalisation de limite
- Tutoriel vidéo sur le télémètre
- Programme pour l’application du tuto
- Présentation sous forme de photo des supports pour le capteur
- Fichier STL des supports pour le télémètre
- Retour au menu principal
![]()
Présentation |
Ce télémètre compatible Grove permet de mesurer la distance sans contact à l’aide de transducteurs à ultrasons fonctionnant à 40 KHz. Ce module se raccorde sur une entrée analogique du Grove Base Shield ou du Mega Shield via un câble 4 conducteurs .
Principe de fonctionnement du télémètre
Lorsque nous fournissons un signal de déclenchement d’impulsion avec plus de 10 µS via une broche simple, le Grove_Ultrasonic_Ranger émet 8 cycles de niveau de cycle de 40 kHz et détecte l’écho. La largeur d’impulsion du signal d’écho est proportionnelle à la distance mesurée. Voici la formule: Distance = temps haut du signal d’écho * Vitesse du son (340M / S) / 2. Grove_Ultrasonic_Ranger’s trig et echo singal partagent 1 broche SIG.

Télémètre à ultrasons Grove 101020010 . Version 1.00
Description du télémètre à ultrasons Grove :
- Interface: compatible Grove
- Alimentation: 3,3 à 5 Vcc
- Consommation: 15 mA
- Fréquence: 42 kHz
- Portée de détection: 3 cm à 4 m
- Résolution: 1 cm
- Dimensions: 43 x 25 x 15 mm
- Référence Seeedstudio: 101020010 (remplace SEN10737P)
Information complementaire :
Par rapport aux modules à ultrasons traditionnels HC-SR04 , le capteur de distance à ultrasons Grove intègre un micro-ordinateur monopuce, et le signal de transmission et le signal de réception partagent une broche par multiplexage par répartition dans le temps, de sorte qu’une seule broche d’E / S est occupée. Une autre différence est que HC-SR04 ne prend en charge que la tension 5v, tandis que le capteur de distance à ultrasons Grove prend en charge le 5v et le 3,3v. Comme nous le savons, les E / S Raspberry pi ne prennent en charge que la tension de 3.3v. Par conséquent, Grove – Le capteur de distance à ultrasons peut être directement connecté aux E / S du Raspberry Pi, mais HC-SR04 doit utiliser un circuit de conversion de tension.
![]()
Exemple de schéma de câblage de plusieurs capteurs sur une carte Arduino
![]()
Programme de mesure de distance avec affichage sur l’écran de l’IDE arduino |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
/* * *BUT: Utilisation d'un capteur ultrasons Grove *pour mesurer une distance avec affichage sur *le moniteur Arduino * * le 06/03/2017 * Herve Mazelin * Olivier Guillaume * * Nom du programme : Mesure_ultrason_001 */ // je charge la librairie Ultrasonic // Cette bibliothèque permet à une carte Arduino de gerer // le capteur ultrason // A savoir : // Télécharger la Bibliothèque UltrasonicRanger de Github. // à installer dans la bibliothèque d'origine des fichiers // de l'IDE Arduino voir le lien sur le site redohm // Attention sur l'exemple fourni par Github il y a // une possibilité d 'erreur #include "Ultrasonic.h" // Declaration du nom du capteur et de la broche de raccordement // sur la carte Arduino Ultrasonic ultrasonic(4); // Un programme Arduino doit impérativement contenir la fonction "setup" // Elle ne sera exécuter une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties void setup() { //ouvre le port série et fixe le debit de communication à 9600 bauds Serial.begin(9600); } /* *Le programme principal s’exécute par une boucle infinie appelée Loop () * */ void loop() { // variable du type long // Declare la variable mesure_de_la_valeur_en_centimeters // Rappel sur la fonction d'une variable :On peut définir une variable comme // une boite ou l’on stock des balles .Une variable est une boite ou // l’on stock un nombre ,et comme il existe une multitude de nombres: // Exemple entiers ,décimaux etc …Il faut donc assigner un type à cette // variable . long mesure_de_la_valeur_en_centimeters; // Affichage d'un texte pour l'operateur sur l'ecran Serial.print("mesure du capteur -> "); // Lecture de la valeur de notre capteur mesure_de_la_valeur_en_centimeters = ultrasonic.MeasureInCentimeters(); // Affichage de la mesure Serial.print(mesure_de_la_valeur_en_centimeters ); Serial.println(" cm"); // Temporisation de lecture delay(250); // Creation d'un espace vide pour la lisibilité des lectures Serial.println(" "); } |
.
Retour au sommaire![]()
Application du télémètre
|
Tutoriel vidéo sur le télémètre :
–
![]()
Programme pour l’application du tuto
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
// // // //**************************************************************************** //* Tutoriel sur le telemetre * //* * //* Mesure d'une distance * //* et signalisation de limite * //* si la valeur est inferieure à 15 cm signalisation rouge * //* si la valeur est superieure à 16 cm et inferieure à 30 cm couleur orange * //* superieure à 30 cm couleur bleue * //* * //* * //* RedOhm * //* Mazelin-h le 05/11/2017 * //**************************************************************************** // je charge la librairie Ultrasonic // Cette bibliothèque permet à une carte Arduino de gerer // le capteur ultrason // A savoir : // Télécharger la Bibliothèque UltrasonicRanger de Github. // à installer dans la bibliothèque d'origine des fichiers // de l'IDE Arduino voir le lien sur le site redohm // Attention sur l'exemple fourni par Github il y a // une possibilité d 'erreur #include "Ultrasonic.h" //Cette bibliothèque vous permet de communiquer avec les led RGB de chez Grove #include <ChainableLED.h> // Declaration du nom du capteur et de la broche de raccordement // sur la carte Arduino Ultrasonic ultrasonic(6); // Definit le nombre de LED utilisées #define NUM_LEDS 1 // Definition des broches derriere la commande // ChainableLED leds ( e ,f , g ) // choisir de preference 2 pin qui se suivent // e = pin 6 // f = pin 7 // g = le nombre de led ChainableLED leds(8, 9, NUM_LEDS); // Un programme Arduino doit impérativement contenir la fonction "setup" // Elle ne sera exécuter une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties void setup() { // ouvre le port série et fixe le debit de communication à 9600 bauds Serial.begin(9600); } // ---------------------------------------------------------------------- // Le programme principal s’exécute par une boucle infinie appelée Loop () // ---------------------------------------------------------------------- void loop() { // declaration de la variable valeur_en_cm en type long long valeur_en_cm ; // transfert de la valeur contenue dans la fonction ultrasonic // dans la variable valeur_en_cm valeur_en_cm = ultrasonic.MeasureInCentimeters(); // Affichage a l'ecran de la valeur de la valeur_en_cm Serial.print(valeur_en_cm ); // Affichage de l'unite de longueur a l'ecran Serial.println(" cm"); // Arrete le programme durant le nombre de millisecondes entre parenthese soit // dans notre cas 150 millisecondes // temps de transfert delay(150); // L’instruction if permet d'exécuter une suite d’instructions en fonction // des conditions décrites dans les parenthèses if ( valeur_en_cm <= 15 ) { // bloc d'instruction exécuté si valeur_en_cm est strictement inferieure // à 15 cm // // Envoie des informations suivantes apres la commande // leds.setColorRGB ( a , b , c ,d ) // a = le numero de la led on commence toujours à l'adresse 0 // b = la valeur de la couleur rouge " 190 " // c = la valeur de la couleur verte " 22 " // d = la valeur de la couleur bleu " 3 " leds.setColorRGB(0, 190, 22,3); } // L’instruction else if permet d'exécuter une suite d’instructions en fonction // des conditions décrites dans les parenthèses else if (( valeur_en_cm >= 16 )&& ( valeur_en_cm <= 30)) { // bloc d'instruction exécuté si variable valeur_en_cm est strictement superieure // à 16 cm et inferieure 30 cm // // Envoie des informations suivantes apres la commande // leds.setColorRGB ( a , b , c ,d ) // a = le numero de la led on commence toujours à l'adresse 0 // b = la valeur de la couleur rouge " 255 " // c = la valeur de la couleur verte " 128 " // d = la valeur de la couleur bleu " 0 " leds.setColorRGB(0, 255, 128,0); } // Instruction realisée par defaut else { // Envoie des informations suivantes apres la commande // leds.setColorRGB ( a , b , c ,d ) // a = le numero de la led on commence toujours à l'adresse 0 // b = la valeur de la couleur rouge " 29 " // c = la valeur de la couleur verte " 211 " // d = la valeur de la couleur bleu " 226 " leds.setColorRGB(0, 29,211,226); } } |
–
Présentation sous forme de photo et de diaporama les différents supports pour le capteur ultrason
–
![]()
Fichier STL des supports pour le télémètre
Impression 3D des supports du Télémètre
–
| Retour au menu système Grove |


