Grove : Télémètre à ultrasons Grove 101020010

.

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

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

Schéma de principe pour plusieurs capteurs - RedOhm

Schéma de principe pour plusieurs capteurs – RedOhm

Programme de mesure de distance avec affichage sur l’écran de l’IDE arduino

/*
 * 
 *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
Mesure d’une distance et signalisation de limite  

 

 

Tutoriel vidéo sur le télémètre :

Programme pour l’application du tuto

//
//
//
//****************************************************************************
//* 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

Vue de derrière : face : Support pour Télémètre à ultrasons Grove 101020010

Vue de derrière : face : Support pour Télémètre à ultrasons Grove 101020010 – RedOhm

 

 

 

 

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