7. À vous de jouer▲
7-1. Mesure de la vitesse du son▲
7-1-1. Le capteur ultrason▲
7-1-2. La réalisation▲
Les objectifs
Réaliser le traitement d'un flux de données provenant d'un capteur ultrason afin de déterminer la vitesse du son. Le contrôle de l'acquisition est effectué avec une carte Arduino UNO, le traitement et la modélisation sont réalisés avec le langage de programmation Python. Les étapes essentielles de ce projet sont :
- écrire le programme Arduino pour l'acquisition des données ;
- récupérer avec Python les mesures de temps pour des distances comprises entre 10 cm et 50 cm ;
- tracer avec Python le graphique de la distance en fonction du temps ;
- sauvegarder les données (temps, distance) dans un fichier CSV.
Document n° 1 : le code Arduino et Python
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
// Déclaration des variables globales : broches
// Broche TRIGGER
// Broche ECHO
void
setup() {
pinMode
(trigg, OUTPUT
); // Configuration des broches
digitalWrite
(trigg, LOW
); // La broche TRIGGER doit être à LOW au repos
pinMode
(echo, INPUT
); // La broche ECHO en entrée
// À compléter // Démarrage de la liaison série
}
void
loop() {
digitalWrite
(trigg, HIGH
); // Lance une mesure de distance en envoyant
delayMicroseconds
(10
); // une impulsion HIGH de 10 microsecondes
digitalWrite
(trigg, LOW
);
temps =
pulseIn
(echo, HIGH
); // Mesure le temps en microsecondes entre
// l'envoi de l'ultrason et sa réception
// À compléter // Les résultats sur le port série
// On fait une pause
}
Un petit bout de programme Python pour tester la fonction input et donner des idées sur la manière de gérer le flux de données envoyé par la carte Arduino.
Document n° 2 : la fonction
input(
)
Il est souvent utile que l'utilisateur puisse entrer des données au clavier. La méthode la plus simple consiste à employer la fonction native de Python : input(). Cette fonction provoque une interruption dans le programme courant. L'utilisateur est invité à entrer des caractères au clavier et à valider en appuyant sur <Enter>. Lorsque cette touche est enfoncée, l'exécution du programme se poursuit, et la fonction fournit en retour une chaîne de caractères correspondant à ce que l'utilisateur a entré. Cette chaîne peut alors être référencée par un nom de variable quelconque.
On peut invoquer la fonction input() en laissant les parenthèses vides. On peut aussi y placer en argument un message destiné à l'utilisateur.
Attention, le nom de cette fonction dépend de votre version de Python
- Python 2.7 : raw_input()
- Python 3.x : input()
Document n° 3 : caractéristiques techniques du module HC-SR04
Le capteur HC-SR04 utilise les ultrasons pour déterminer la distance d'un objet. Il offre une excellente plage de détection sans contact, avec des mesures de haute précision et stables. Son fonctionnement n'est pas influencé par la lumière du soleil ou des matériaux sombres, bien que des matériaux comme les vêtements puissent être difficiles à détecter.
Broches de connexion
|
Document n° 4 : caractéristiques techniques du module HC-SR04
Pour déclencher une mesure, il faut une impulsion « high » (5 V) d'au moins 10 µs sur l'entrée « Trig ». Le capteur émet alors une série de 8 impulsions ultrasoniques à 40 kHz, puis il attend le signal réfléchi. Lorsque celui-ci est détecté, il envoie un signal « high » sur la sortie « Echo », dont la durée est proportionnelle à la distance mesurée. |
7-2. Des idées pour la suite…▲
Afin de préparer la suite de la formation, je vous donne quelques idées de montage à réaliser avec la carte Arduino UNO en lien avec le programme de TS. Pour chaque montage je vous donne la représentation graphique des résultats que j'ai obtenus.
7-2-1. Chute libre d'un corps sans vitesse initiale▲
Avec le matériel dont vous disposez, essayez d'imaginer un montage et son programme permettant d'obtenir la courbe représentative de la loi horaire de la chute libre d'un corps.
On pourra également tracer les courbes d'énergie cinétique, potentielle et mécanique.
7-2-2. Période d'un pendule simple▲
Avec le matériel dont vous disposez, essayez d'imaginer un montage et son programme permettant de mettre en évidence la période d'un pendule simple.
7-2-3. Oscillateur : système solide-ressort vertical▲
Avec le matériel dont vous disposez, essayez d'imaginer un montage et son programme permettant d'obtenir l'évolution temporelle de l'allongement d'un ressort.