TP de préparation SIN : surveillance du niveau d’eau
Arduino Uno · Tinkercad Circuits · Capteur ultrason HC-SR04 · LED · Buzzer
Produit : indicateur de niveau d’eau
L’objectif de cette activité est d’améliorer le fonctionnement d’une cuve de récupération d’eau de pluie en intégrant une signalisation du niveau d’eau par LED et par buzzer.
Le système utilise un capteur à ultrasons placé en haut de la cuve. Il mesure la distance entre le capteur et la surface de l’eau. Le programme transforme ensuite cette distance en niveau d’eau.
La démarche est composée de quatre parties :
- découvrir le produit et la problématique technique ;
- concevoir l’amélioration du système ;
- valider la solution par simulation sous Tinkercad Circuits ;
- mettre en œuvre et tester le montage réel.
1. Découverte du produit et de la problématique technique
À l’aide de l’onglet Ressources, découvrir le fonctionnement du capteur ultrason, du montage Arduino et du système de signalisation.
- Expliquer le principe physique utilisé par le capteur ultrason HC-SR04 pour mesurer une distance.
- Expliquer pourquoi une grande distance mesurée correspond ici à un faible niveau d’eau.
- Expliquer ce que la signalisation par LED et buzzer peut apporter à l’utilisateur.
2. Conception
Le système actuel doit être amélioré avec une signalisation visuelle et sonore. La cuve a une hauteur utile de 30 cm. Le capteur mesure la distance entre le haut de la cuve et la surface de l’eau.
La relation à utiliser est :
niveau_eau_cm = 30 - distance_cm
Affectation des broches
| Composant | Broche composant | Broche Arduino |
|---|---|---|
| HC-SR04 | Trig | D7 |
| HC-SR04 | Echo | D6 |
| Buzzer piézoélectrique | + fil rouge | D3 |
| LED rouge | Anode | D9 |
| LED orange | Anode | D10 |
| LED verte | Anode | D11 |
- En respectant l’affectation des broches, réaliser le montage dans Tinkercad Circuits.
- Ajouter les trois LED avec leurs résistances de protection de 220 Ω.
- Raccorder le capteur HC-SR04, le buzzer et les LED.
3. Programmation
Le fichier Arduino candidat est fourni en pièce jointe de la séance. Il doit être modifié pour activer les LED et le buzzer en fonction du niveau d’eau calculé.
- Proposer la partie de l’algorithme permettant d’activer les LED et le buzzer selon le niveau d’eau.
- Sur l’interface de développement, modifier le fichier programme fourni en pièce jointe.
- Valider la syntaxe du programme en lançant la simulation.
Algorithme attendu
Début boucle
mesurer la durée de l'impulsion Echo
calculer la distance :
distance = durée × 0,034 / 2
calculer le niveau :
niveau = 30 - distance
éteindre les trois LED
arrêter le buzzer
si niveau < 5 alors
LED rouge clignotante
buzzer rapide
sinon si niveau < 15 alors
LED orange fixe
buzzer lent
sinon si niveau < 25 alors
LED verte fixe
sinon
LED rouge + LED orange + LED verte fixes
Fin boucle
4. Simulation sous Tinkercad Circuits
L’objectif de cette partie est de valider le schéma et le programme proposé avec l’ajout de la fonctionnalité d’indication visuelle et sonore du niveau d’eau.
Protocole de simulation
À vérifier
Dans la simulation, il faut tester plusieurs valeurs de distance afin de vérifier tous les états du système. Tester une seule valeur qui marche, ce n’est pas une validation, c’est une superstition avec un câble USB.
- Proposer un protocole de simulation permettant de faire varier la distance mesurée.
- Mettre en œuvre ce protocole.
- Conclure en vérifiant que la simulation correspond au cahier des charges.
Tableau d’essais à compléter
| Distance simulée | Niveau calculé | État attendu | Résultat observé |
|---|---|---|---|
| 28 cm | |||
| 20 cm | |||
| 10 cm | |||
| 3 cm |
5. Expérimentation
L’objectif de cette partie est de valider expérimentalement la solution technologique retenue. Le montage de base peut être fourni ou préparé dans Tinkercad Circuits. La partie signalisation par LED et buzzer doit être complétée en respectant le tableau d’affectation des broches.
- En respectant le tableau d’affectation des broches, réaliser le câblage ou vérifier le montage fourni.
- Proposer un protocole d’essai permettant de vérifier que le système répond au cahier des charges.
- Mettre en œuvre ce protocole.
- Conclure sur la capacité de la solution à répondre à la problématique.
Consigne de sécurité : ne pas raccorder le câble USB au montage réel avant validation par l’enseignant. Les composants électroniques ont une espérance de vie réduite quand on les branche au hasard. Étonnant, mais vrai.
6. Conclusion attendue
Rédiger une conclusion courte indiquant si le système permet bien d’informer l’utilisateur sur l’état de remplissage de la cuve. La conclusion doit s’appuyer sur les résultats de simulation et sur les essais réalisés.
Ressources techniques
1. Matériel à disposition
2. Mesure par ultrasons : signaux Trig et Echo
Formule de calcul de la distance
Le capteur envoie une impulsion ultrasonore, puis mesure le temps nécessaire au retour de l’écho. Comme le son effectue un aller-retour, la distance se calcule avec la relation :
distance_cm = (durée_impulsion_µs × 0,034) / 2
Dans ce TP, le niveau d’eau est ensuite obtenu avec :
niveau_eau_cm = 30 - distance_cm
3. Brochage et rôle des composants
| Élément | Rôle | Broche utilisée |
|---|---|---|
| HC-SR04 Trig | Déclencher la mesure ultrason | D7 |
| HC-SR04 Echo | Recevoir la durée de retour | D6 |
| Buzzer | Produire une alerte sonore | D3 |
| LED rouge | Signaler une cuve presque vide | D9 |
| LED orange | Signaler un niveau faible | D10 |
| LED verte | Signaler un niveau correct | D11 |
4. Fonctions Arduino utiles
| Fonction | Rôle |
|---|---|
pinMode(broche, OUTPUT) | Configure une broche en sortie. |
pinMode(broche, INPUT) | Configure une broche en entrée. |
digitalWrite(broche, HIGH) | Met une broche à l’état haut. |
digitalWrite(broche, LOW) | Met une broche à l’état bas. |
delay(ms) | Attend un nombre de millisecondes. |
delayMicroseconds(µs) | Attend un nombre de microsecondes. |
pulseIn(broche, HIGH) | Mesure la durée d’une impulsion à l’état haut. |
tone(broche, fréquence) | Produit un son sur une broche. |
noTone(broche) | Arrête le son produit sur une broche. |
5. Aide Tinkercad Circuits
Créer la simulation
Fichier fourni en pièce jointe
Le fichier Arduino à compléter est fourni en pièce jointe de la séance.
- arduino_niveau_eau_candidat.ino : programme à compléter.
Ne recopiez pas tout à la main si le fichier est disponible. L’informatique sert parfois à éviter de perdre du temps, concept audacieux mais prometteur.