Code produit: | KY050 |
Ce capteur est utilisé pour la mesure de la distance par ultrasons. Si un signal (front descendant) est entré à l'entrée de déclenchement, une mesure de distance est effectuée et émise comme un signal PWM-TTL à la sortie d'écho.
Distance mesurable | 2cm-300cm |
Résolution de mesure | 3mm |
min. Temps entre les mesures | 50µs |
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 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.
Arduino | Capteur |
---|---|
Pin 7 | Echo |
5V | +V |
Masse | GND |
Pin 8 | Déclencheur |
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.
#define Echo_EingangsPin 7
#define Trigger_AusgangsPin 8
int maximumRange = 300;
int minimumRange = 2;
long Abstand;
long Dauer;
void setup() {
pinMode(Trigger_AusgangsPin, OUTPUT);
pinMode(Echo_EingangsPin, INPUT);
Serial.begin (9600);
}
void loop() {
digitalWrite(Trigger_AusgangsPin, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger_AusgangsPin, LOW);
Dauer = pulseIn(Echo_EingangsPin, HIGH);
Abstand = Dauer/58.2;
if (Abstand >= maximumRange || Abstand <= minimumRange)
{
Serial.println("Abstand außerhalb des Messbereichs");
Serial.println("-----------------------------------");
}
else
{
Serial.print("Der Abstand betraegt:");
Serial.print(Abstand);