• Arduino
  • Raspberry Pi
  • Raspberry Pi Pico
  • Micro:Bit

Ce module est parfaitement adapté à la mesure de distances dans une plage comprise entre 2 cm et 3 m. Avec une résolution d'environ 3 mm, les distances peuvent être mesurées avec précision par signal ultrasonique. Lorsqu'un signal (front descendant) est appliqué à l'entrée de déclenchement, le capteur démarre une mesure de distance. Le résultat est transmis à la sortie d'écho sous forme de signal PWM-TTL.

Le capteur de distance à ultrasons est particulièrement utile pour la détection d'obstacles, la mesure de distance, les indicateurs de niveau et diverses applications industrielles. Grâce à sa grande précision et à son temps de réaction rapide (le temps minimal entre les mesures est de 50 µs), le capteur peut fonctionner de manière fiable en temps réel.

Ce module est polyvalent et offre une solution simple et efficace pour les projets nécessitant des mesures de distance précises.

Données techniques
Distance mesurable 2cm-300cm
Résolution de mesure 3mm
min. Temps entre les mesures 50µs

Principe de fonctionnement

Ce module montre comment un haut-parleur à ultrasons et un microphone peuvent être utilisés pour mesurer la distance d'un objet sans contact. Le principe repose sur le fait que la vitesse du son dans l'air reste presque constante à température constante - à 20°C, elle est de 343,2m/s. Cela signifie que la distance peut être mesurée en un temps.

Ce fait peut être utilisé pour convertir la mesure de la distance en une mesure de temps, qui peut ensuite être facilement reprise par les microcontrôleurs.

Lorsqu'il est déclenché, le haut-parleur à ultrasons (transducteur) émet un bruit ultrasonique de 200µs maximum. Le haut-parleur à ultrasons émet un signal de 40 kHz. Cela signifie que 8 périodes (changements de front) sont émises dans les 200µs pendant lesquelles le transducteur émet son bruit ultrasonique. Pour arriver mathématiquement à ces 8 périodes du signal de 40 kHz, nous le calculons comme indiqué ci-dessous.

Nombre de périodes en une seconde = 40000. Temps = 1s
Durée d'une seule période :
1s / 40000 = 25µs**

Longueur maximale du son ultrasonique = 200us
Durée d'une période unique = 25us
Nombre de périodes dans un son ultrasonique:
200µs / 25µs = 8

Le principe est simple : un son ultrasonique est émis par le haut-parleur situé sur le circuit imprimé, qui est ensuite réfléchi par un objet et capté par le microphone situé sur le circuit imprimé. Les ultrasons sont utilisés parce qu'ils se situent en dehors du champ d'audition de l'oreille humaine (environ 20Hz-22kHz).

La transmission du signal ultrasonore est lancée par la réception d'un signal de démarrage long de 10µs (ActiveHigh) sur la "Trigger Input Pin". Après la transmission, le signal est activé sur la "broche de signal de sortie de l'écho" (ActiveHigh). Si le signal réfléchi est à nouveau capté par le microphone, le signal d'écho est à nouveau désactivé après détection. Le temps entre l'activation et la désactivation du signal d'écho peut être mesuré et converti en distance, car il correspond également au temps nécessaire au signal ultrasonique pour franchir la distance entre le haut-parleur->la paroi réfléchissante ->le microphone dans l'air. La conversion se fait alors par approximation d'une vitesse d'air constante - la distance est alors par conséquent la moitié de la distance parcourue.

Affectation des broches


Arduino Capteur
Pin 7 Echo
5V +V
GND GND
Pin 8 Déclencheur

Exemple de code

Le programme d'exemple active la mesure de distance selon le principe ci-dessus et mesure le temps pendant lequel le signal ultrasonique reste dans l'air à l'aide de la fonction Arduino pulseIn. Ce temps est ensuite pris comme base pour convertir la distance - le résultat est ensuite émis dans la sortie série. Si le signal est en dehors de la plage de mesure, un message d'erreur correspondant est émis.

Pour charger l'exemple de code suivant sur votre Arduino, nous vous recommandons d'utiliser l'IDE Arduino. Dans l'IDE, vous pouvez choisir le port et la carte qui conviennent à votre appareil.

Copiez le code ci-dessous dans votre IDE. Pour télécharger le code sur votre Arduino, il vous suffit de cliquer sur le bouton " Upload ".

#define echoPin 7 // Broche d'entrée d'écho
#define triggerPin 8 // Broche de sortie de déclenchement
 
// Les variables nécessaires sont définies
int maximumRange = 300; 
int minimumRange = 2; 
long distance;
long duration;
 
void setup() {
  pinMode(triggerPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
  Serial.println("KY-050 Mesure de la distance");
}
 
void loop() {
  // La mesure de la distance est lancée à l'aide du signal de déclenchement d'une longueur de 10us
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(10); 
  digitalWrite(triggerPin, LOW);

  // On attend maintenant à l'entrée Echo que le signal soit activé
  // puis on mesure le temps pendant lequel il reste activé 
  duration = pulseIn(echoPin, HIGH);

  // La distance est maintenant calculée à l'aide du temps enregistré
  distance = duration/58.2;

  // Vérification si la valeur mesurée se situe dans la distance autorisée
  if (distance >= maximumRange || distance <= minimumRange) {
    // Si ce n'est pas le cas, un message d'erreur est affiché.
    Serial.println("Distance hors de la plage de mesure");
    Serial.println("-----------------------------------");
  }  
  else {
    // La distance calculée est affichée dans la sortie sérielle
    Serial.print("La distance est de: ");
    Serial.print(distance);
    Serial.println(" cm");
    Serial.println("-----------------------------------");
  }
  // Pause entre les différentes mesures
  delay(500);
}

Ce module est parfaitement adapté à la mesure de distances dans une plage comprise entre 2 cm et 3 m. Avec une résolution d'environ 3 mm, les distances peuvent être mesurées avec précision par signal ultrasonique. Lorsqu'un signal (front descendant) est appliqué à l'entrée de déclenchement, le capteur démarre une mesure de distance. Le résultat est transmis à la sortie d'écho sous forme de signal PWM-TTL.

Le capteur de distance à ultrasons est particulièrement utile pour la détection d'obstacles, la mesure de distance, les indicateurs de niveau et diverses applications industrielles. Grâce à sa grande précision et à son temps de réaction rapide (le temps minimal entre les mesures est de 50 µs), le capteur peut fonctionner de manière fiable en temps réel.

Ce module est polyvalent et offre une solution simple et efficace pour les projets nécessitant des mesures de distance précises.

Données techniques
Distance mesurable 2cm-300cm
Résolution de mesure 3mm
min. Temps entre les mesures 50µs

Principe de fonctionnement

Ce module montre comment un haut-parleur à ultrasons et un microphone peuvent être utilisés pour mesurer la distance d'un objet sans contact. Le principe repose sur le fait que la vitesse du son dans l'air reste presque constante à température constante - à 20°C, elle est de 343,2m/s. Cela signifie que la distance peut être mesurée en un temps.

Ce fait peut être utilisé pour convertir la mesure de la distance en une mesure de temps, qui peut ensuite être facilement reprise par les microcontrôleurs.

Lorsqu'il est déclenché, le haut-parleur à ultrasons (transducteur) émet un bruit ultrasonique de 200µs maximum. Le haut-parleur à ultrasons émet un signal de 40 kHz. Cela signifie que 8 périodes (changements de front) sont émises dans les 200µs pendant lesquelles le transducteur émet son bruit ultrasonique. Pour arriver mathématiquement à ces 8 périodes du signal de 40 kHz, nous le calculons comme indiqué ci-dessous.

Nombre de périodes en une seconde = 40000. Temps = 1s
Durée d'une seule période :
1s / 40000 = 25µs**

Longueur maximale du son ultrasonique = 200us
Durée d'une période unique = 25us
Nombre de périodes dans un son ultrasonique:
200µs / 25µs = 8

Le principe est simple : un son ultrasonique est émis par le haut-parleur situé sur le circuit imprimé, qui est ensuite réfléchi par un objet et capté par le microphone situé sur le circuit imprimé. Les ultrasons sont utilisés parce qu'ils se situent en dehors du champ d'audition de l'oreille humaine (environ 20Hz-22kHz).

La transmission du signal ultrasonore est lancée par la réception d'un signal de démarrage long de 10µs (ActiveHigh) sur la "Trigger Input Pin". Après la transmission, le signal est activé sur la "broche de signal de sortie de l'écho" (ActiveHigh). Si le signal réfléchi est à nouveau capté par le microphone, le signal d'écho est à nouveau désactivé après détection. Le temps entre l'activation et la désactivation du signal d'écho peut être mesuré et converti en distance, car il correspond également au temps nécessaire au signal ultrasonique pour franchir la distance entre le haut-parleur->la paroi réfléchissante ->le microphone dans l'air. La conversion se fait alors par approximation d'une vitesse d'air constante - la distance est alors par conséquent la moitié de la distance parcourue.

Affectation des broches


Raspberry Pi Capteur
5 V [Pin 2] +V
Masse [Pin 6] GND
- Déclencheur
- Echo
Capteur KY-051
Déclencheur B1
Echo B2
+V -
GND -
Raspberry Pi KY-051
3,3 V [Pin 1] Vcca
5 V [Pin 4] Vccb
GND [Pin 14] GND
GPIO 17 [Pin 11] A1
GPIO 27 [Pin 13] A2

Exemple de programmation dans le langage de programmation Python

Niveau de tension de 5V, il faut donc respecter ce qui suit.

Le Raspberry Pi avec son processeur ARM, contrairement à l'Arduino basé sur Atmel Atmega, fonctionne à un niveau de tension de 3,3V au lieu de 5V - cependant, ce capteur ne fonctionne qu'au niveau de tension le plus élevé. Si vous deviez faire fonctionner le capteur sans restriction sur le Raspberry Pi sans précautions, cela pourrait causer des dommages permanents aux entrées du Raspberry Pi.

Pour de tels cas, ce kit de capteurs avec le KY-051 dispose d'un traducteur de tension qui ajuste les niveaux de tension et garantit ainsi un fonctionnement sûr. Celui-ci doit être connecté entre le Rasperry Pi et le capteur.

Pour plus d'informations, consultez la page d'information sur le KY-051.

Exemple de code

Le programme d'exemple active la mesure de distance selon le principe ci-dessus et mesure le temps pendant lequel le signal ultrasonique reste dans l'air à l'aide d'une sorte de chronomètre. Ce chronomètre est réalisé en lisant l'heure actuelle du système à partir de time.time() au moment de l'enclenchement du signal d'écho ; la différence entre l'heure d'enclenchement et l'heure de déclenchement est le temps recherché pendant lequel le signal est en route. Ce temps est ensuite pris comme base pour la conversion de la distance - le résultat est alors édité dans la cosnole. Si le signal est en dehors de la plage de mesure, un message d'erreur correspondant est émis.

from gpiozero import DistanceSensor
import time

# Définir les broches du capteur
trigger_pin = 17
echo_pin = 27

# La pause entre les différentes mesures peut être réglée ici en secondes
sleeptime = 0.8

# Initialiser le capteur ultrasonique
sensor = DistanceSensor(echo=echo_pin, trigger=trigger_pin)

# Boucle du programme principal
try:
    while True:
        # Mesure la distance et l'affiche
        distance = sensor.distance * 100  # Conversion de mètres en centimètres
        if distance < 2 or distance > 300:
            print("Distance en dehors de la plage de mesure")
            print("------------------------------")
        else:
            # L'espacement est formaté à deux décimales.
            print(f"La distance est de: {distance:.2f} cm")
            print("------------------------------")
        
        # Pause entre les différentes mesures
        time.sleep(sleeptime)

# Nettoyer les lieux après la fin du programme
except KeyboardInterrupt:
    print("Le programme a été interrompu par l'utilisateur”)

Ce module est parfaitement adapté à la mesure de distances dans une plage comprise entre 2 cm et 3 m. Avec une résolution d'environ 3 mm, les distances peuvent être mesurées avec précision par signal ultrasonique. Lorsqu'un signal (front descendant) est appliqué à l'entrée de déclenchement, le capteur démarre une mesure de distance. Le résultat est transmis à la sortie d'écho sous forme de signal PWM-TTL.

Le capteur de distance à ultrasons est particulièrement utile pour la détection d'obstacles, la mesure de distance, les indicateurs de niveau et diverses applications industrielles. Grâce à sa grande précision et à son temps de réaction rapide (le temps minimal entre les mesures est de 50 µs), le capteur peut fonctionner de manière fiable en temps réel.

Ce module est polyvalent et offre une solution simple et efficace pour les projets nécessitant des mesures de distance précises.

Données techniques
Distance mesurable 2cm-300cm
Résolution de mesure 3mm
min. Temps entre les mesures 50µs

Principe de fonctionnement

Ce module montre comment un haut-parleur à ultrasons et un microphone peuvent être utilisés pour mesurer la distance d'un objet sans contact. Le principe repose sur le fait que la vitesse du son dans l'air reste presque constante à température constante - à 20°C, elle est de 343,2m/s. Cela signifie que la distance peut être mesurée en un temps.

Ce fait peut être utilisé pour convertir la mesure de la distance en une mesure de temps, qui peut ensuite être facilement reprise par les microcontrôleurs.

Lorsqu'il est déclenché, le haut-parleur à ultrasons (transducteur) émet un bruit ultrasonique de 200µs maximum. Le haut-parleur à ultrasons émet un signal de 40 kHz. Cela signifie que 8 périodes (changements de front) sont émises dans les 200µs pendant lesquelles le transducteur émet son bruit ultrasonique. Pour arriver mathématiquement à ces 8 périodes du signal de 40 kHz, nous le calculons comme indiqué ci-dessous.

Nombre de périodes en une seconde = 40000. Temps = 1s
Durée d'une seule période :
1s / 40000 = 25µs**

Longueur maximale du son ultrasonique = 200us
Durée d'une période unique = 25us
Nombre de périodes dans un son ultrasonique:
200µs / 25µs = 8

Le principe est simple : un son ultrasonique est émis par le haut-parleur situé sur le circuit imprimé, qui est ensuite réfléchi par un objet et capté par le microphone situé sur le circuit imprimé. Les ultrasons sont utilisés parce qu'ils se situent en dehors du champ d'audition de l'oreille humaine (environ 20Hz-22kHz).

La transmission du signal ultrasonore est lancée par la réception d'un signal de démarrage long de 10µs (ActiveHigh) sur la "Trigger Input Pin". Après la transmission, le signal est activé sur la "broche de signal de sortie de l'écho" (ActiveHigh). Si le signal réfléchi est à nouveau capté par le microphone, le signal d'écho est à nouveau désactivé après détection. Le temps entre l'activation et la désactivation du signal d'écho peut être mesuré et converti en distance, car il correspond également au temps nécessaire au signal ultrasonique pour franchir la distance entre le haut-parleur->la paroi réfléchissante ->le microphone dans l'air. La conversion se fait alors par approximation d'une vitesse d'air constante - la distance est alors par conséquent la moitié de la distance parcourue.

Affectation des broches


Externe Capteur
5V Externe +V
Micro:Bit GND + GND Externe GND
- Déclencheur
- Echo
Capteur KY-051
Déclencheur B1
Echo B2
+V -
GND -
Micro:Bit KY-051
3,3 V Vcca
- Vccb
GND + GND Externe GND
Pin 2 A1
Pin 1 A2
Externe KY-051
5V Externe Vccb

Exemple de code

Ceci est un exemple MakeCode pour Micro:Bit qui fait essentiellement la même chose que les exemples des deux autres variantes. Cependant, cet exemple est plus proche de celui du Raspberry Pi que de celui de l'Arduino.

Une bibliothèque supplémentaire est nécessaire pour l'exemple de code suivant :

pxt-sonar de Microsoft | publié sous la licence MIT

Vous devez ajouter cette bibliothèque à votre IDE avant de pouvoir utiliser le code.

Pour ce faire, allez dans Extensions dans votre IDE et utilisez l'URL suivante https://github.com/microsoft/pxt-sonar.git pour rechercher la bibliothèque et l'ajouter.

	
		let p = 0
		basic.forever(function () {
		    p = sonar.ping(
		    DigitalPin.P1,
		    DigitalPin.P2,
		    PingUnit.Centimeters
		    )
		    led.plotBarGraph(
		    p,
		    0
		    )
		})
	

Téléchargement d'un exemple de programme

microbit-KY-050.zip

Ce module est parfaitement adapté à la mesure de distances dans une plage comprise entre 2 cm et 3 m. Avec une résolution d'environ 3 mm, les distances peuvent être mesurées avec précision par signal ultrasonique. Lorsqu'un signal (front descendant) est appliqué à l'entrée de déclenchement, le capteur démarre une mesure de distance. Le résultat est transmis à la sortie d'écho sous forme de signal PWM-TTL.

Le capteur de distance à ultrasons est particulièrement utile pour la détection d'obstacles, la mesure de distance, les indicateurs de niveau et diverses applications industrielles. Grâce à sa grande précision et à son temps de réaction rapide (le temps minimal entre les mesures est de 50 µs), le capteur peut fonctionner de manière fiable en temps réel.

Ce module est polyvalent et offre une solution simple et efficace pour les projets nécessitant des mesures de distance précises.

Données techniques
Distance mesurable 2cm-300cm
Résolution de mesure 3mm
min. Temps entre les mesures 50µs

Principe de fonctionnement

Ce module montre comment un haut-parleur à ultrasons et un microphone peuvent être utilisés pour mesurer la distance d'un objet sans contact. Le principe repose sur le fait que la vitesse du son dans l'air reste presque constante à température constante - à 20°C, elle est de 343,2m/s. Cela signifie que la distance peut être mesurée en un temps.

Ce fait peut être utilisé pour convertir la mesure de la distance en une mesure de temps, qui peut ensuite être facilement reprise par les microcontrôleurs.

Lorsqu'il est déclenché, le haut-parleur à ultrasons (transducteur) émet un bruit ultrasonique de 200µs maximum. Le haut-parleur à ultrasons émet un signal de 40 kHz. Cela signifie que 8 périodes (changements de front) sont émises dans les 200µs pendant lesquelles le transducteur émet son bruit ultrasonique. Pour arriver mathématiquement à ces 8 périodes du signal de 40 kHz, nous le calculons comme indiqué ci-dessous.

Nombre de périodes en une seconde = 40000. Temps = 1s
Durée d'une seule période :
1s / 40000 = 25µs**

Longueur maximale du son ultrasonique = 200us
Durée d'une période unique = 25us
Nombre de périodes dans un son ultrasonique:
200µs / 25µs = 8

Le principe est simple : un son ultrasonique est émis par le haut-parleur situé sur le circuit imprimé, qui est ensuite réfléchi par un objet et capté par le microphone situé sur le circuit imprimé. Les ultrasons sont utilisés parce qu'ils se situent en dehors du champ d'audition de l'oreille humaine (environ 20Hz-22kHz).

La transmission du signal ultrasonore est lancée par la réception d'un signal de démarrage long de 10µs (ActiveHigh) sur la "Trigger Input Pin". Après la transmission, le signal est activé sur la "broche de signal de sortie de l'écho" (ActiveHigh). Si le signal réfléchi est à nouveau capté par le microphone, le signal d'écho est à nouveau désactivé après détection. Le temps entre l'activation et la désactivation du signal d'écho peut être mesuré et converti en distance, car il correspond également au temps nécessaire au signal ultrasonique pour franchir la distance entre le haut-parleur->la paroi réfléchissante ->le microphone dans l'air. La conversion se fait alors par approximation d'une vitesse d'air constante - la distance est alors par conséquent la moitié de la distance parcourue.

Affectation des broches


Comme la KY-050 fonctionne avec 5V, un voltage translator et une alimentation externe sont nécessaires pour la faire fonctionner avec le Raspberry Pi Pico. Vous pouvez utiliser le KY-051 comme translateur de tension et une alimentation externe, par exemple un Arduino ou un Raspberry Pi.

Voltage Translator KY-050
Vccb +V
GND GND
B1 Echo
B2 Trig
Raspberry Pi Pico Externe
GND Externe GND
Voltage Translator Externe
Vccb Externe 5V
GND Externe GND
Voltage Translator Raspberry Pi Pico
Vcca 3,3V
GND GND
A1 GPIO16
A2 GPIO17

Exemple de code

Le programme d'exemple active la mesure de la distance selon le principe ci-dessus et calcule le temps jusqu'à ce que le signal ultrasonique soit capté par le microphone. Ce temps est ensuite pris comme base pour la conversion de la distance - le résultat est ensuite émis dans la sortie série. Si le signal est en dehors de la plage de mesure, un message d'erreur correspondant est émis.

Pour charger l'exemple de code suivant sur votre Pico, nous vous recommandons d'utiliser l'IDE Thonny. Il vous suffit de commencer par sélectionner Run > Configure interpreter ... > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico).

Copiez maintenant le code ci-dessous dans votre IDE et cliquez sur Run.

# Charger des bibliothèques
from machine import Pin
import time

# Initialisation de GPIO16 comme entrée et GPIO17 comme sortie
trigger_pin = Pin(17, Pin.OUT)
echo_pin = Pin(16, Pin.IN, Pin.PULL_DOWN)

print("KY-050 Mesure de la distance")

# Boucle infinie pour mesurer la distance
while True:
     # La mesure de la distance est lancée au moyen du signal de déclenchement de 10us
     trigger_pin.value(0)
     time.sleep(0.1)
     trigger_pin.value(1)

     # On attend maintenant à l'entrée Echo que le signal soit activé. 
     # Ensuite, on mesure le temps pendant lequel il reste activé
     time.sleep_us(2)
     trigger_pin.value(0)
     while echo_pin.value()==0:
          pulse_start = time.ticks_us()
     while echo_pin.value()==1:
          pulse_end = time.ticks_us()
     pulse_duration = pulse_end - pulse_start

     # Maintenant, la distance est calculée à l'aide du temps enregistré
     distance = pulse_duration * 17165 / 1000000
     distance = round(distance, 0)

     # Sortie en série
     print ('Distance:',"{:.0f}".format(distance),'cm')
     time.sleep(1)