Célérité des ultrasons dans l'air (1)
Un exemple d'utilisation de Web Sciences en mode point
Cet exemple de mesures point par point
à l'aide de la bibliothèque web_sciences
utilise directement les données mesurées par le capteur à ultrasons Grove.
Le mode point permet de tracer une ou plusieurs grandeurs mesurées par Arduino
en fonction d'une grandeur variable saisie par l'utilisateur.
I. Montage
Matériel nécessaire
- Une carte Arduino équipée d'un shield Grove.
- Un capteur à ultrasons Grove.
- Un valet élévateur.
- Un écran sur support.
- Un réglet.
II. Code nécessaire
Script Arduino
Le script doit:
- attendre l'arrivée de la commande
mesure
sur la liaison série.
- réagir en conséquence, c'est à dire effectuer une mesure de la durée aller retour de l'onde ultrasonore
émise par le capteur.
- envoyer cette durée sur la liaison série.
Voir à cet effet les commentaires dans le code source du script
capteur_us.ino
Code Javascript
Le code javascript:
- fonctionne en mode
point
:
mode = "point";
- envoie la commande
mesure
lorsque l'utilisateur clique sur le bouton mesure
:
commandes = [{texte_bouton:"Mesure", arduino:"mesure"}];
- attend une mesure de la durée aller retour du signal ultrasonore:
series = [{grandeur: "Δt", unite: "µs"}];
- place sur le graphique le point de coordonnées (d, Δt) où d est la distance capteur-écran
saisie par l'utilisateur
axes = [{grandeur: "d", unite: "cm"}, {grandeur: "Δt", unite: "µs"}];
Le code Javascript complet est le suivant :
mode = "point";
commandes = [{texte_bouton:"Mesure", arduino:"mesure"}];
series = [{grandeur: "Δt", unite: "µs"}];
titre_graphe = "Célérité des ultrasons dans l'air";
axes = [{grandeur: "d", unite: "cm"}, {grandeur: "Δt", unite: "µs"}];
Le code complet à insérer dans une cellule Jupyter
from web_sciences import WebSciences
my_init = '''
mode = "point";
commandes = [{texte_bouton:"Mesure", arduino:"mesure"}];
series = [{grandeur: "Δt", unite: "µs"}];
titre_graphe = "Célérité des ultrasons dans l'air";
axes = [{grandeur: "d", unite: "cm"}, {grandeur: "Δt", unite: "µs"}];
'''
interface = WebSciences(my_init)
interface.affiche()
Exemple d'éxécution

Démo en ligne
- Télécharger le script capteur_us.ino en cliquant sur le lien.
- Téléverser ce script dans la carte à l'aide de l'IDE Arduino.
- Relier le capteur US Grove au pin 4 de la carte.
- Cliquer sur le bouton Connexion ci-dessous et sélectionner le port correspondant à la carte.
- Placer le capteur à une distance d = 10 cm de l'écran (voir image ci-dessus).
- Cliquer sur le bouton mesure. La carte effectue une mesure de la durée aller retour de l'onde ultrasonore
émise par le capteur. Cette valeur est transmises par la liaison série.
- Le script affiche le point de coordonnées (d, Δt) sur le graphe Δt = f(d).
- Renouveler l'opération pour d variant de 20 cm à 90 cm par pas de 10 cm.
- Cliquer sur le bouton Copie presse papier pour récupérer les données dans le presse papier.
Dans cet exemple, les données sont formatées sous forme de tableaux python. Il est cependant possible
d'obtenir un formatage compatible avec un tableur comme Régressi ou Excel en
cochant la case ci-dessous.
Le traitement des données permet de tracer le graphe Δt = f(d), de le modéliser
et de déterminer la célérité des ultrasons dans l'air (voir le notebook ci-dessous).

Liens