Utilisation capteur de Poids avec HX711 et Arduino pour Contrôler pesage à Distance via Bluetooth
Introduction au projet d’utiliser capteur de Poids avec HX711 et Arduino
Les balances de pesée numériques sont devenues un outil essentiel dans de nombreux domaines, tels que la cuisine, la pharmacie, les laboratoires, et les commerces. Cependant, pour certains projets spécifiques, il est pratique d’avoir la possibilité de surveiller le poids à distance, sans avoir à rester près de la balance physique. C’est là qu’intervient notre projet innovant de “Contrôle de Poids à Distance avec Arduino et Capteur HX711 via Bluetooth”.
Composants nécessaires
Pour réaliser ce projet, nous aurons besoin des composants suivants:
- Carte Arduino UNO: Une carte de développement électronique polyvalente et facile à utiliser.
- Module HX711: est un convertisseur analogique-numérique (CAN) utilisé pour mesurer la force de traction ou de compression sur un capteur de charge. Il est souvent utilisé dans les projets de capteurs de poids ou de force, tels que les balances, les pèses-personnes et les instruments de mesure de force. Il est doté d’un microcontrôleur intégré et d’un amplificateur différentiel qui permet de convertir les signaux analogiques de force en données numériques. Le module peut être connecté à un microcontrôleur ou à un autre dispositif de traitement de données en utilisant une interface de communication telle que l’interface de données série (SDA) ou l’interface de données parallèle (PD).
- Capteur de poids: Un dispositif utilisé pour mesurer la force de gravité exercée sur un objet.
- Module Bluetooth HC-06: Un module de communication sans fil permettant la connexion Bluetooth entre l’Arduino et un appareil externe, comme un smartphone.
- Fils de connexions.
-
Produit en promotionCapteur de poids / force 1 à 20 KG avec HX711Le prix initial était : 100,00 DH.85,00 DHLe prix actuel est : 85,00 DH.
-
HC-06 Module Bluetooth compatible Arduino70,00 DH
-
Produit en promotionCâble de connexion M/F JumperLe prix initial était : 7,00 DH.6,00 DHLe prix actuel est : 6,00 DH.
Montage
Le montage de notre balance de pesée à distance est assez simple. Nous connectons le module HX711 au capteur de poids et à l’Arduino, puis le module Bluetooth HC-06 à l’Arduino. Voici le tableau résumant les connexions entre les modules et l’Arduino :
Module | Connexion | Composant |
---|---|---|
Module HX711 | VCC -> 3.3V | Arduino |
GND -> GND | Arduino | |
DT -> Broche 3 | Arduino | |
SCK -> Broche 2 | Arduino | |
E+ -> Fil rouge | capteur | |
E- -> Fil noir | capteur | |
A+ -> Fil blanc | capteur | |
A- -> Fil vert | capteur | |
Module Bluetooth HC-06 | VCC -> Broche 5V | Arduino |
GND -> GND | Arduino | |
TXD -> Broche 4 | Arduino | |
RXD -> Broche 5 | Arduino |
Fonctionnement de la balance
Programme Arduino
Le cœur de notre projet réside dans le programme Arduino qui permet de mesurer le poids avec le module HX711 et d’envoyer les données via Bluetooth. Voici le code source:
#include <SoftwareSerial.h> #include "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 scale; SoftwareSerial hc06(4,5); float calibration_factor = 235; void setup() { hc06.begin(9600); Serial.begin(9600); Serial.println("HX711 calibration sketch"); Serial.println("Remove all weight from scale"); Serial.println("After readings begin, place known weight on scale"); Serial.println("Press + or a to increase calibration factor"); Serial.println("Press - or z to decrease calibration factor"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(); scale.tare(); //Reset the scale to 0 long zero_factor = scale.read_average(); //Get a baseline reading Serial.print("Zero factor: "); //This can be used to remove the need to tare the scale. Useful in permanent scale projects. Serial.println(zero_factor); } void loop() { scale.set_scale(calibration_factor); //Adjust to this calibration factor Serial.print("Reading: "); Serial.print(scale.get_units(), 1); hc06.print(scale.get_units(),1); // Envoi de la valeur du poids vers le smartphone Serial.print(" lbs"); //Change this to kg and re-adjust the calibration factor if you follow SI units like a sane person Serial.print(" calibration_factor: "); Serial.print(calibration_factor); Serial.println(); if(Serial.available()) { char temp = Serial.read(); if(temp == '+' || temp == 'a') calibration_factor += 10; else if(temp == '-' || temp == 'z') calibration_factor -= 10; } delay(1000); }
Création de l’application avec App Inventor
Nous utilisons App Inventor pour créer une application mobile conviviale qui permet de recevoir les données de poids envoyées par l’Arduino. Voici comment le programme est conçu dans l’espace Blocs de l’App Inventor:
Programmation avec App Inventor
Pour programmer l’application, App Inventor nous propose d’utiliser L’espace Blocs qui permet de créer un programme sous forme de schéma bloc. Très simple d’utilisation mais nécessitant un peu de logique de programmation.
Voici le programme de l’application réalisée dans l’espace Blocs de l’App Inventor:
Conclusion
Notre projet offre une solution pratique et innovante pour surveiller le poids à distance. Grâce à la communication sans fil via Bluetooth, les utilisateurs peuvent recevoir les données de poids sur leur smartphone, ce qui facilite la surveillance et l’analyse des mesures de poids. Ce projet peut trouver des applications utiles dans divers domaines tels que la logistique, la santé, et bien d’autres. En continuant à explorer et à améliorer cette technologie, il est possible de développer des solutions encore plus avancées pour répondre aux besoins spécifiques de différents secteurs industriels. La combinaison de l’électronique, de la programmation et de la communication sans fil ouvre la voie à des innovations passionnantes pour l’avenir.
Lien outilles
- Téléchargement de l’Arduino IDE : https://www.arduino.cc/en/software
- Pour plus d’articles : https://www.moussasoft.com/tutoriels-electroniques
- Twitter: Moussa Lhoussaine (@Moussasoft_com) / Twitter