- Composants requis pour construire une échelle de poids Arduino:
- Cellule de charge et module de capteur de poids HX711:
- Explication du circuit:
- Explication de travail:
- Code de la balance Arduino:
Aujourd'hui, nous allons construire une machine Arduino wight, en interfaçant la cellule de charge et le capteur de poids HX711 avec Arduino. Nous avons vu des machines de poids dans de nombreux magasins, où la machine affiche le poids simplement en plaçant un article sur la plate-forme de pesage. Nous construisons donc ici la même machine de pesage en utilisant Arduino et des cellules de charge, ayant une capacité de mesure jusqu'à 40 kg. Cette limite peut être encore augmentée en utilisant la cellule de charge de capacité supérieure.
Le composant principal requis pour construire cette balance Arduino est un capteur capable de convertir le poids en un signal électrique équivalent. Ce capteur est appelé cellule de charge, donc dans ce projet, nous utiliserons cette cellule de charge comme capteur de poids Arduino. Nous avons également utilisé la même cellule de charge dans quelques autres projets car, comme la peseuse portable Arduino, la balance Raspberry pi, etc., vous pouvez également les vérifier si vous êtes intéressé.
Composants requis pour construire une échelle de poids Arduino:
- Arduino Uno
- Cellule de charge (40 kg)
- Module d'amplification de cellule de charge HX711
- Écran LCD 16x2
- Fils de connexion
- cable USB
- Planche à pain
- Boulons d'écrou, cadre et base
Cellule de charge et module de capteur de poids HX711:
La cellule de charge est un transducteur qui transforme la force ou la pression en sortie électrique. L'amplitude de cette sortie électrique est directement proportionnelle à la force appliquée. Les cellules de charge ont une jauge de contrainte qui se déforme lorsqu'une pression y est appliquée. Et puis la jauge de contrainte génère un signal électrique lors de la déformation lorsque sa résistance effective change lors de la déformation. Une cellule de pesée se compose généralement de quatre jauges de contrainte dans une configuration de pont de Wheatstone. La cellule de charge est disponible dans différentes gammes telles que 5 kg, 10 kg, 100 kg et plus, ici nous avons utilisé la cellule de charge, qui peut peser jusqu'à 40 kg.
Maintenant, les signaux électriques générés par la cellule de charge sont en quelques millivolts, ils doivent donc être amplifiés davantage par un amplificateur et le capteur de pesage HX711 entre donc dans l'image. Le module de capteur de pesage HX711 a une puce HX711, qui est un convertisseur A / N 24 haute précision (convertisseur analogique-numérique). Le HX711 possède deux canaux d'entrée analogiques et nous pouvons obtenir un gain jusqu'à 128 en programmant ces canaux. Ainsi, le module HX711 amplifie la faible sortie électrique des cellules de charge, puis ce signal amplifié et converti numériquement est introduit dans l'Arduino pour en déduire le poids.
La cellule de pesée est connectée à l'amplificateur de cellule de pesée HX711 à l'aide de quatre fils. Ces quatre fils sont rouge, noir, blanc et vert / bleu. Il peut y avoir une légère variation dans les couleurs des fils d'un module à l'autre. Ci-dessous les détails de connexion et le schéma:
- Le fil ROUGE est connecté à E +
- Le fil NOIR est connecté à E-
- Le fil BLANC est connecté à A-
- Le fil VERT est connecté à A +
Fixation de la cellule de charge avec plate-forme et base:
Cette étape est facultative et vous pouvez placer directement les poids sur la cellule de charge sans plate-forme et pouvez simplement la serrer sans la fixer avec une base, mais il est préférable de fixer une plate-forme pour mettre les gros objets dessus et la fixer sur une base de sorte qu'il s'arrête. Donc, ici, nous devons créer un cadre ou une plate - forme pour mettre les choses pour la mesure du poids. Une base est également nécessaire pour fixer la cellule de pesée dessus en utilisant des écrous et des boulons. Ici, nous avons utilisé du carton dur pour le cadre pour placer des objets dessus et une planche de bois comme base. Maintenant, effectuez les connexions comme indiqué sur le schéma de circuit et vous êtes prêt à partir.
Explication du circuit:
Les connexions pour ce projet sont faciles et le schéma est donné ci-dessous. Les broches LCD 16x2 RS, EN, d4, d5, d6 et d7 sont respectivement connectées aux broches 8, 9, 10, 11, 12 et 13 d'Arduino. Les broches DT et SCK du module HX711 sont directement connectées aux broches A0 et A1 d'Arduino. Les connexions de la cellule de pesée avec le module HX711 sont déjà expliquées précédemment et également illustrées dans le schéma ci-dessous.
Explication de travail:
Le principe de fonctionnement de ce projet de mesure de poids Arduino est simple. Avant d'entrer dans les détails, nous devons d'abord calibrer ce système pour mesurer le poids correct. Lorsque l'utilisateur le mettra sous tension, le système commencera automatiquement l'étalonnage. Et si l'utilisateur souhaite le calibrer manuellement, appuyez sur le bouton poussoir. Nous avons créé une fonction void calibrate () à des fins de calibrage, vérifiez le code ci-dessous.
Pour l'étalonnage, attendez l'indication LCD pour mettre 100 grammes sur la cellule de pesée comme indiqué dans l'image ci-dessous. Lorsque l'écran LCD affichera «mettez 100g», placez le poids de 100g sur la cellule de pesée et attendez. Après quelques secondes, le processus d'étalonnage sera terminé. Après l'étalonnage, l'utilisateur peut mettre n'importe quel poids (max 40 kg) sur la cellule de charge et peut obtenir la valeur sur l'écran LCD en grammes.
Dans ce projet, nous avons utilisé Arduino pour contrôler l'ensemble du processus. La cellule de charge détecte le poids et fournit une tension électrique analogique au module d'amplification de charge HX711. Le HX711 est un ADC 24 bits, qui amplifie et convertit numériquement la sortie de la cellule de charge. Ensuite, cette valeur amplifiée est transmise à l'Arduino. Arduino calcule maintenant la sortie du HX711 et la convertit en valeurs de poids en grammes et l'affiche sur l'écran LCD. Un bouton poussoir est utilisé pour calibrer le système. Nous avons écrit un programme Arduino pour l'ensemble du processus, vérifiez le code et la vidéo de démonstration à la fin de ce tutoriel.
Code de la balance Arduino:
La partie programmation de ce projet est un peu complexe pour les débutants. Dans ce projet, nous n'avons utilisé aucune bibliothèque pour interfacer le capteur de charge HX711 avec Arduino. Nous venons de suivre la fiche technique du HX711 et les notes d'application. Bien que certaines bibliothèques soient présentes à cet effet, vous n'avez qu'à inclure cette bibliothèque et vous pouvez obtenir le poids en utilisant une seule ligne de code.
Tout d'abord, nous avons inclus un fichier d'en-tête pour LCD et défini les broches pour le même. Et pour bouton poussoir aussi. Puis déclaré quelques variables à des fins de calcul.
#comprendre
Ensuite, nous avons créé la fonction ci-dessous pour lire les données du module HX711 et renvoyer sa sortie.
unsigned long readCount (void) {unsigned long Count; non signé car i; pinMode (DT, OUTPUT); DigitalWrite (DT, HIGH); DigitalWrite (SCK, LOW); Count = 0; pinMode (DT, INPUT); tandis que (digitalRead (DT)); pour (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH); Count = Count << 1; DigitalWrite (SCK, LOW); if (digitalRead (DT)) Count ++; } DigitalWrite (SCK, HIGH); Count = Count ^ 0x800000; DigitalWrite (SCK, LOW); return (Count); }
Après cela, nous avons initialisé l'écran LCD et donnons des directions aux broches d'entrée et de sortie dans void setup ().
void setup () {Serial.begin (9600); pinMode (SCK, SORTIE); pinMode (sw, INPUT_PULLUP); lcd.begin (16, 2); lcd.print ("Poids"); lcd.setCursor (0,1); lcd.print ("Mesure"); retard (1000); lcd.clear (); étalonner(); }
Ensuite, dans la fonction void loop () , nous avons lu les données du module HX711 et converti ces données en poids (grammes) et les avons envoyées à l'écran LCD.
boucle void () {count = readCount (); int w = (((count-sample) / val) -2 * ((count-sample) / val)); Serial.print ("poids:"); Serial.print ((int) w); Serial.println ("g"); lcd.setCursor (0,0); lcd.print ("Poids"); lcd.setCursor (0,1); lcd.print (w); lcd.print ("g"); if (digitalRead (sw) == 0) {val = 0; échantillon = 0; w = 0; compte = 0; étalonner(); }}
Avant cela, nous avons créé une fonction d'étalonnage dans laquelle nous avons étalonné le système en plaçant le poids de 100 g sur la cellule de charge.
void calibrate () {lcd.clear (); lcd.print ("Calibrage…"); lcd.setCursor (0,1); lcd.print ("Veuillez patienter…"); pour (int i = 0; i <100; i ++) {count = readCount (); échantillon + = compte; Serial.println (nombre); }……………….
Nous avons donc appris ici l' interface de base de la cellule de charge et du capteur de poids HX11 avec Arduino pour mesurer les poids. Dans nos didacticiels texte, nous créerons des applications basées sur la mesure du poids comme le conteneur intelligent, la porte automatique, etc.