Mesure en temps réel du niveau d’eau avec Arduino et HC-SR04

Arduino 08-05-26
1341 1

Plan de tutoriel

1- Présentation du projet

2- Matériel nécessaire

3- Schéma de câblage du système

4- Programmation de la carte Arduino UNO

 

 

Présentation du projet

Ce projet a pour objectif de mesurer le niveau d’eau en temps réel à l’aide d’une carte Arduino, d’un capteur ultrasonique HC-SR04, d’un verre contenant de l’eau et d’un afficheur LCD I2C.

Le système permet de surveiller la hauteur de l’eau sans contact direct avec le liquide, puis d’afficher instantanément les informations mesurées sur l’écran LCD.

Ce projet peut être utilisé pour comprendre le fonctionnement des capteurs à ultrasons dans les systèmes de surveillance et d’automatisation.

Fonctionnement du projet

Le capteur ultrasonique HC-SR04 est placé au-dessus du verre afin d’envoyer des ondes ultrasonores vers la surface de l’eau. Lorsque les ultrasons rencontrent l’eau, ils sont réfléchis vers le capteur.

La carte Arduino calcule ensuite la distance entre le capteur et la surface de l’eau à partir du temps de retour des ondes ultrasonores.

Après le calcul de cette distance, l’Arduino détermine le niveau d’eau présent dans le verre.

Ensuite, l’afficheur LCD I2C affiche des barres représentant visuellement le niveau d’eau : plus le verre est rempli, plus le nombre de barres affichées augmente.

Lorsque le niveau d’eau diminue, le nombre de barres affichées diminue également. Ainsi, le système permet une surveillance simple et rapide du niveau d’eau en temps réel.

 

Matériel nécessaire

1- Arduino UNO

Arduino Uno

La carte Arduino UNO est une carte électronique programmable basée sur le microcontrôleur ATmega328P. Elle permet de contrôler et de gérer tous les composants du projet. Dans ce système, elle lit les données envoyées par le capteur HC-SR04, calcule le niveau d’eau et affiche les résultats sur l’écran LCD I2C.

2. Capteur ultrasonique HC-SR04

HC-SR04

Le HC-SR04 est un capteur à ultrasons utilisé pour mesurer des distances sans contact physique. Il fonctionne en envoyant des ondes ultrasonores puis en recevant leur écho après réflexion sur un objet ou une surface. Dans ce projet, il mesure la distance entre le capteur et la surface de l’eau afin de déterminer le niveau d’eau dans le verre.

3. Afficheur LCD I2C

L’afficheur LCD I2C permet d’afficher les informations du projet de manière claire et instantanée. Dans ce système, il affiche le niveau d’eau détecté par le capteur HC-SR04 sous forme de barres graphiques qui augmentent ou diminuent selon la quantité d’eau présente dans le verre.

 

4. Câbles de Connexion (Jumper Wires)

Fils de connexion

Les fils de connexion permettent de relier les différents composants entre eux.

 

Schéma de câblage du système du système

 

1- Connexion du capteur HC-SR04 à la carte Arduino UNO

Capteur HC-SR04 Arduino UNO
VCC 5V
GND GND
Trig D2
Echo D3

 

2- Connexion de l’afficheur LCD I2C à la carte Arduino UNO

Afficheur LCD I2C Arduino UNO
VCC 5V
GND GND
SDA A4
SCL A5

 

Programmation de la carte Arduino

Ce programme Arduino permet de mesurer le niveau d’eau dans un verre ou un réservoir à l’aide du capteur ultrasonique HC-SR04 et d’afficher le résultat en temps réel sur un afficheur LCD I2C. La carte Arduino envoie des impulsions ultrasonores grâce au capteur HC-SR04 afin de mesurer la distance entre le capteur et la surface de l’eau. Ensuite, le programme calcule le niveau d’eau en fonction de la hauteur maximale du récipient.

Le pourcentage du niveau d’eau est affiché sur l’écran LCD, accompagné d’une barre de progression graphique composée de caractères personnalisés. Plus le niveau d’eau augmente, plus les barres affichées sur l’écran se remplissent. Ce système permet donc de surveiller visuellement et facilement la quantité d’eau présente dans le récipient en temps réel.

On commence par l’importation de cette bibliothèque:

LiquidCrystal_I2C → pour afficher les informations sur l’écran LCD I2C

Voici le code en C++ qui implémente le fonctionnement du système :

 

Au démarrage, le programme initialise les composants. Il configure la broche du capteur comme entrée et celle du buzzer comme sortie. Ensuite, il initialise l’écran LCD I2C, active son rétroéclairage et affiche un message de bienvenue indiquant que le système est prêt à fonctionner. Après une courte pause de deux secondes, l’écran est effacé pour laisser place à l’affichage principal.

Dans la boucle principale, le programme lit en permanence l’état du capteur FC-51. Si le capteur détecte un objet (généralement lorsque le signal est à l’état LOW), l’Arduino active le buzzer pour produire un son et affiche sur l’écran le message « Object Detected » ainsi que l’état du buzzer. En revanche, si aucun objet n’est détecté, le buzzer est désactivé et l’écran affiche « No Object » accompagné de l’état « Buzzer OFF ».

Ainsi, ce programme met en œuvre un système simple d’interaction entre un capteur, une unité de traitement (Arduino) et des dispositifs de sortie (écran et buzzer). Il illustre le fonctionnement de base d’un système embarqué capable de détecter un événement et de réagir en conséquence.

1 commentaire

Image
Fabrice 14-05-2626

Magnifique projet, j'aimerais en apprendre plus d'avantage. Merci

laisser un commentaire

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Passion de robotique

Atelier robotique

Construction des robots

Bras robotique

Maison intelligente

But de ce site web

La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.

Coordonnées

Zaouiet Kontech-Jemmel-Monastir-Tunisie

Photos des articles

Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info