Capteur ultrason HC-SR04

Programme de base

Tension: 3.3 - 5V, attention, certains modèles sont en 5V

Fréquence ultrasons : 40 kHz

Étendue mesure : 2-400 cm

Angle de mesure : 15°

Une broche d'entrée : Trig (input)

Une broche de sortie : Echo (output)

Le module ultrason est constitué :

  • d'un émetteur d'ultrasons qui fonctionne à 40 KHz.

  • d'un récepteur d'ultrasons

La distance parcourue par les ultrasons est proportionnelle au temps du parcours. La vitesse du son est de 340 m/s.

1
from microbit import *
2
from time import sleep_us, sleep_ms
3
from machine import time_pulse_us
4
5
#brancher le capteur sur P2/P16
6
7
def distance(sig):
8
    sig.write_digital(1)
9
    sleep_us(10)
10
    sig.write_digital(0)
11
    sig.read_digital()
12
    t = time_pulse_us(sig, 1)
13
    d = 340 * t // 20000
14
    return d
15
    
16
while True:
17
    mesure=distance(pin2)
18
    print("distance = ",mesure,"cm")
19
    sleep(2000)

Distance = temps d'écho du signal * Vitesse du son / 2

Si la mesure du temps est en uS et la distance en cm, on peut utiliser la formule suivante

Distance = temps x 0, 0345/2

Pour déclencher une mesure, il faut générer une impulsion "high" (3,3 V) d'au moins 10 μs sur l'entrée "Trig input" avec la carte microbit.

Le module HC04SR émet alors une série de 8 impulsions ultra-soniques à 40 kHz, puis il attend le signal réfléchi.

Lorsque celui-ci est détecté, il envoie un signal "high" sur la sortie "Output" (ou Echo), dont la durée est proportionnelle à la distance mesurée. on utilisera la fonction time_pulse_us de la carte microbit pour connaitre la durée de la réponse.