Projet 11 : Réalisation de niveau de
remplissage
Table des matières
1. Introduction
2. Objectif du projet
3. Matériel requis
4. Principe de fonctionnement
5. Description détaillée du câblage
6. Programme Arduino commenté pour débutants
7. Résultats attendus
8. Conclusion
1. Introduction
Dans de nombreuses situations domestiques ou industrielles, il est utile de connaître le
niveau de remplissage d’un récipient, sans devoir l’ouvrir ou l’inspecter visuellement. Le
projet présenté ici consiste à créer un système électronique simple et économique qui
mesure le niveau de remplissage d’un bocal contenant des graines, grâce à un capteur à
ultrasons, et l’affiche via une série de LEDs.
**Problématique :**
Comment mesurer automatiquement et visualiser le niveau de remplissage d’un récipient
sans contact avec le contenu ?
2. Objectif du projet
- Utiliser un capteur à ultrasons pour mesurer la hauteur restante dans un récipient.
- Calculer le pourcentage de remplissage.
- Afficher ce pourcentage à l’aide de 10 LEDs (3 rouges, 3 oranges, 4 vertes) disposées en
bargraphe.
3. Matériel requis
- 1 carte Arduino Uno
- 1 capteur à ultrasons HC-SR04
- 3 LEDs rouges
- 3 LEDs oranges
- 4 LEDs vertes
- 10 résistances de 220 ohms
- Des fils de connexion
- 1 Breadboard (plaque de prototypage)
- 1 bocal ou récipient
- 1 câble USB pour alimentation de l’Arduino
4. Principe de fonctionnement
Le capteur à ultrasons envoie un signal sonore qui rebondit sur la surface des graines. Le
capteur mesure le temps que met l’onde à revenir. Ce temps permet de calculer la distance
entre le capteur et les graines. Plus la distance est courte, plus le récipient est rempli.
Ensuite, un nombre de LEDs proportionnel au niveau de remplissage s’allume.
5. Description du câblage
**Connexion du capteur HC-SR04 :**
- Le capteur possède 4 broches : VCC, GND, TRIG, ECHO
- VCC → connectée à la broche 5V de l’Arduino
- GND → connectée à GND sur l’Arduino (masse)
- TRIG → connectée à la broche numérique 9 de l’Arduino
- ECHO → connectée à la broche numérique 10 de l’Arduino
**Connexion des LEDs :**
- Chaque LED est branchée de la manière suivante :
1. L’anode (patte longue) connectée à une broche numérique de l’Arduino (2 à 11)
2. La cathode (patte courte) connectée à une résistance de 220 ohms
3. L’autre extrémité de la résistance est connectée à GND
- L’ordre des LEDs peut être :
• LEDs rouges sur les broches 2, 3, 4
• LEDs oranges sur les broches 5, 6, 7
• LEDs vertes sur les broches 8, 11, 12, 13
Cela garantit que les LEDs s’allument progressivement en fonction du niveau mesuré.
6. Programme Arduino
// Déclaration des broches du capteur
const int trigPin = 9; // Broche TRIG du capteur
const int echoPin = 10; // Broche ECHO du capteur
// Tableau contenant les numéros de broche des LEDs
const int leds[] = {2, 3, 4, 5, 6, 7, 8, 11, 12, 13};
long duration; // Durée de l’écho mesuré
int distance; // Distance calculée en centimètres
int level; // Niveau de remplissage (0 à 10)
void setup() {
[Link](9600); // Démarre la communication série
pinMode(trigPin, OUTPUT); // TRIG est une sortie
pinMode(echoPin, INPUT); // ECHO est une entrée
// Définir chaque LED comme une sortie
for (int i = 0; i < 10; i++) {
pinMode(leds[i], OUTPUT);
}
}
void loop() {
// Préparation à envoyer une impulsion
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // Envoie une impulsion de 10 microsecondes
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Lire le temps que prend l'écho à revenir
duration = pulseIn(echoPin, HIGH);
// Convertir ce temps en distance (en cm)
distance = duration * 0.034 / 2;
// Hauteur maximale supposée du bocal : 20 cm
int hauteur_bocal = 20;
int hauteur_graines = hauteur_bocal - distance;
// Convertir en niveau sur 10 (de 0 à 10 LEDs)
level = map(hauteur_graines, 0, hauteur_bocal, 0, 10);
// Allumer les LEDs selon le niveau
for (int i = 0; i < 10; i++) {
if (i < level) {
digitalWrite(leds[i], HIGH); // Allumer LED
} else {
digitalWrite(leds[i], LOW); // Éteindre LED
}
}
delay(500); // Pause entre chaque mesure
}
7. Résultats attendus
Au fur et à mesure que le niveau du contenu augmente, les LEDs s’allument
progressivement. Si le bocal est vide, aucune LED ne s’allume. Quand il est plein, toutes les
LEDs sont allumées. L’utilisateur peut ainsi savoir immédiatement le niveau sans ouvrir le
récipient.
8. Conclusion
Ce projet combine la détection de distance avec une visualisation claire via des LEDs. Il est
parfaitement adapté à ceux qui souhaitent apprendre à manipuler des capteurs, des LEDs et
écrire un code structuré sur Arduino. Il peut être amélioré avec un écran LCD, un buzzer ou
une connexion Bluetooth dans des versions plus avancées.