Un objectif de mesure d'eau consiste à surveiller et contrôler la quantité d'eau utilisée, consommée ou disponible dans un contexte spécifique (comme l'agriculture, l'industrie, ou les ménages) dans le but de mieux gérer cette ressource. Voici quelques objectifs principaux pour mesurer l'eau :
Suivi de la consommation : Connaître la quantité d'eau consommée pour mieux gérer les ressources et réduire les gaspillages.
Gestion de l'irrigation : En agriculture, mesurer l'eau permet d'ajuster l'irrigation en fonction des besoins réels des cultures, ce qui peut améliorer les rendements tout en économisant l'eau.
Prévention des pénuries : Surveiller les réserves d'eau, comme celles des barrages ou des nappes phréatiques, pour anticiper les périodes de sécheresse et mieux les gérer.
Surveillance de la qualité : Dans certaines applications, il est aussi utile de mesurer des paramètres de qualité (comme la présence de contaminants) pour s'assurer que l'eau est potable ou adaptée à son usage prévu.
Optimisation des coûts : En contrôlant l'utilisation de l'eau, il est possible de réduire les coûts associés à l'approvisionnement et au traitement de l'eau.
Ces objectifs de mesure sont souvent réalisés grâce à des compteurs, des capteurs, ou des systèmes connectés, qui transmettent les données en temps réel pour permettre une gestion réactive et efficiente.
Pour mesurer le niveau d’eau et afficher les données sur un smartphone en utilisant une carte Arduino, un module Bluetooth HC-06, des fils de connexion, une bouteille d’eau, et l’outil MIT App Inventor, voici une description complète :
1- Détection du niveau d’eau :
L’Arduino utilise des fils de connexion insérés dans la bouteille pour détecter le niveau d’eau à différentes hauteurs.
2- Transmission Bluetooth :
Les informations sur le niveau d’eau sont envoyées sans fil depuis l’Arduino vers le smartphone via le module HC-06.
3- Affichage sur smartphone :
Une application créée avec MIT App Inventor reçoit les données et les affiche sous forme de texte ou graphiquement.
1- Connexion des fils dans la bouteille :
Les fils sont insérés à différents niveaux dans la bouteille. Chaque fil correspond à un niveau précis (ex. 25%, 50%, 75%, 100%).
2- Lecture des niveaux :
Les fils sont connectés aux broches numériques/analogiques de l’Arduino. Lorsque l’eau atteint un fil, l’Arduino détecte un signal, car l’eau agit comme un conducteur.
3- Traitement des données :
L’Arduino analyse les données pour calculer le pourcentage du niveau d’eau.
1- Configuration du module Bluetooth HC-06 :
Le module Bluetooth est relié à l’Arduino et configuré pour transmettre les données. La communication est établie via la liaison série (TX, RX).
2- Envoi des données :
L’Arduino envoie les niveaux d’eau détectés au module HC-06, qui les transmet au smartphone.
1- Création de l’application :
Une application est développée dans MIT App Inventor pour recevoir et afficher les données envoyées par l’Arduino.
2- Affichage des données :
Les données sont affichées sous forme de texte (ex. "Niveau d'eau : 75%") ou de graphiques (barres ou jauges).
Carte Arduino Uno :
pour contrôler et traiter les données.
Module Bluetooth HC-06 :
pour communiquer sans fil avec un smartphone.
Fils conducteurs :
placés dans la bouteille à différentes hauteurs pour mesurer le niveau d'eau.
Bouteille (ou un récipient similaire) :
pour contenir l'eau.
Résistances :
pour limiter le courant et protéger les entrées analogiques.
Smartphone :
pour afficher les résultats.
Source d'alimentation :
pour alimenter l'Arduino.
Plaque de prototypage (breadboard)
Une plaque de prototypage permet d’organiser les connexions et de tester le montage sans avoir besoin de soudures.
1- Tout d’abord On perce 5 trous dans la bouteille. Puis on fixe un fil de connexion dans chaque trous.
2- Ensuite on connecte:
- le plus bas fil de connexion à la broche 5V de l’Arduino
- le 2ème fil de connexion à la broche A0 de l’Arduino
- le 3ème fil de connexion à la broche A1 de l’Arduino
- le 4ème fil de connexion à la broche A2 de l’Arduino
- le 5ème fil de connexion à la broche A3 de l’Arduino
3- Pour le module bluetooth on connecte :
- la broche VCC à la borne (+) de la batterie
- la broche GND à la broche GND de l’Arduino
- la broche TXD à la broche 2 de l’Arduino
- la broche RXD à la broche 3 de l’Arduino
Voici un exemple de code Arduino pour détecter le niveau d'eau et envoyer les données via Bluetooth :
1 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
#include <SoftwareSerial.h> int analogA0 = A0; int analogA1 = A1; int analogA2 = A2; int analogA3 = A3; int level_1,level_2,level_3,level_4; //analog readings int niveau=60; SoftwareSerial hc06(2,3); int send_0; int send_1; int send_2; int send_3; int send_4; void setup() { send_0=0; send_1=0; send_2=0; send_3=0; send_4=0; Serial.begin(9600); hc06.begin(9600); pinMode(analogA0,INPUT); pinMode(analogA1,INPUT); pinMode(analogA2,INPUT); pinMode(analogA3,INPUT); } void loop() { // Read the analog interface level_1 = analogRead(analogA0); level_2 = analogRead(analogA1); level_3 = analogRead(analogA2); level_4 = analogRead(analogA3); Serial.print("niveau 1 "); Serial.println(level_1); Serial.print("niveau 2 "); Serial.println(level_2); Serial.print("niveau 3 "); Serial.println(level_3); Serial.print("niveau 4 "); Serial.println(level_4); if ((level_1<niveau)&&(level_2<niveau)&&(level_3<niveau)&&(level_4<niveau)&&(send_0==0))// Niveau 0 de l'eau { hc06.print('0'); // envoyer le Niveau 0 au Smartphone send_0=1;send_1=0;send_2=0;send_3=0;send_4=0; } if ((level_1>niveau)&&(level_2<niveau)&&(level_3<niveau)&&(level_4<niveau)&&(send_1==0)) // Niveau 1 de l'eau{ hc06.print("25");// envoyer le Niveau 1 au Smartphone send_0=0;send_1=1;send_2=0;send_3=0;send_4=0; } if ((level_1>niveau)&&(level_2>niveau)&&(level_3<niveau)&&(level_4<niveau)&&(send_2==0)) // Niveau 2 de l'eau{ hc06.print("50");// envoyer le Niveau 2 au Smartphone send_0=0;send_1=0;send_2=1;send_3=0;send_4=0; } if ((level_1>niveau)&&(level_2>niveau)&&(level_3>niveau)&&(level_4<niveau)&&(send_3==0)) // Niveau 3 de l'eau{ hc06.print("75");// envoyer le Niveau 3 au Smartphone send_0=0;send_1=0;send_2=0;send_3=1;send_4=0; } if ((level_1>niveau)&&(level_2>niveau)&&(level_3>niveau)&&(level_4>niveau)&&(send_4==0)) // Niveau 4 de l'eau { hc06.print("100");// envoyer le Niveau 4 au Smartphone send_0=0;send_1=0;send_2=0;send_3=0;send_4=1; } delay(100); } |
Allez sur MIT App Inventor.
Créez un projet et ajoutez les éléments suivants :
Label pour afficher le niveau d’eau.
BluetoothClient (dans la section "Connectivité").
Bouton pour connecter le Bluetooth.
- Ajoutez un composant "BluetoothClient" à l'écran. Dans les propriétés du composant, spécifiez l'adresse Bluetooth de votre module (peut être trouvée via les paramètres Bluetooth de votre smartphone).
- L'extension "BluetoothClient1" dans MIT App Inventor vous permet de créer des applications mobiles qui peuvent se connecter à des dispositifs Bluetooth, comme des modules Bluetooth série (par exemple, HC-06) connectés à des microcontrôleurs, des appareils Bluetooth audio, etc. Cette extension facilite la communication avec ces dispositifs en utilisant des connexions Bluetooth série.
- À partir d'Android 12, les autorisations Bluetooth ont été renforcées pour améliorer la sécurité et la protection des données des utilisateurs. C'est pour cela on doit déclarer les autorisations dont votre application a besoin dans le fichier AndroidManifest.xml. Pour Bluetooth, vous devrez inclure les autorisations ACCESS_FINE_LOCATION, BLUETOOTH_SCAN, et éventuellement BLUETOOTH_CONNECT, en fonction des fonctionnalités que vous utilisez.
Réception des données :
Ajoutez un événement pour lire les données Bluetooth.
Affichez les données reçues dans le label ou utilisez un graphique.
Télécharger le projet aia Télécharger le fichier apk
Avec cette solution, vous pouvez créer un système simple et efficace pour mesurer le niveau d’eau et l’afficher sur un smartphone. MIT App Inventor offre une interface intuitive pour concevoir des applications personnalisées adaptées à ce projet.
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.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info