Mesurer la vitesse du son avec un microcontrôleur


L’expérience

Cet article présente l’utilisation d’un microcontrôleur et d’un capteur de distance (émetteur/récepteur d’ultrasons) dans le but de déterminer la vitesse du son dans l’air.
La détermination de la vitesse v du son repose sur la mesure de la durée t que met un écho de salve d’ultrasons à revenir vers sa source d’émission en se réfléchissant sur un obstacle placé à une distance d connue de la source.
Un calcul basique v = 2d / t donne finalement la vitesse (attention : ne pas oublier l’aller-retour et le facteur 2 dans la formule...)

Le matériel

Le microcontrôleur utilisé est la carte BBC micro:bit, couplée à un shield d’expansion pour faciliter le branchement du capteur. (référence : EF03405 ElecFreaks)
Le capteur est un émetteur/récepteur d’ultrasons qui se branche avec un câble SGV (3 fils : deux pour l’alimentation et un pour le signal) directement sur le shield (pin2 par exemple). (référence du capteur : ElecFreaks micro:bit Octopus sonar:bit)

Ce capteur émet une salve d’ultrasons lorsqu’il reçoit une impulsion de tension sur sa broche de signal (en Input) et renvoie sur la même broche (en Output) un pulse de tension de durée égale au temps nécessaire pour que la salve d’ultrasons revienne au récepteur.

Le montage

La photo ci-dessous présente le microcontrôleur connecté à l’ordinateur pour le transfert du programme et l’alimentation de la carte. Lorsque le programme est transféré, il est possible d’alimenter de façon indépendante le microcontrôleur (avec des piles).
La règle permet de connaître la distance du capteur à l’écran qui réfléchit l’écho ultrasonore.

Montage (vue d’ensemble)

Détail du branchement du capteur (cable SGV) :

Câblage du capteur sur le shield

Le code

À chaque appui sur le bouton A de la carte, on appelle la fonction mesure_vitesse qui renvoie la valeur de la vitesse du son. Un affichage de la vitesse sur la carte est alors activé (+ un rappel en console).
La fonction time_pulse_us doit être importée pour permettre de mesurer la durée du pulse délivré par le capteur.
Rappel : seule la pin2 de la carte est nécessaire pour déclencher la mesure du capteur, et lire son signal de retour.

Bilan

Les résultats obtenus pour la vitesse du son sont tout à fait convaincants. Évidemment en augmentant la distance, on gagne en précision (penser à adapter le code...). Le capteur reste toutefois limité à une distance de 4 m.
Et bien entendu, il est facile d’adapter le code pour transformer ce montage en télémètre. Le paramètre n’est plus la distance mais la vitesse du son que l’on pourra fixer à 340 m/s (varie légèrement avec la température).
Amusez-vous bien !