Capacité de poids maximale 5 kg
Température de fonctionnement Min -10 °C
Température de fonctionnement maximale 40 °C
L'amplificateur HX711 communique via une interface à deux fils. Vous pouvez le connecter à n'importe quel pin numérique de votre carte Arduino. Nous connectons la broche de données (DT) à la broche 2 et la broche d'horloge (CLK) à la broche 3.
Suivez le tableau ou le schéma suivant pour brancher la cellule de charge à la carte Arduino.
Cellule de charge | RHX711 | RHX711 | Arduino |
Rouge (E+) | E+ | Le GND | Le GND |
Noir (E-) | - Je ne sais pas. | DT | Pinceau 2 |
Blanc (A-) | Je ne sais pas. | SCK | Pinceau 3 |
Vert (A+) | A+ | Le CCR | 5V |
À ce stade, nous supposons que vous avez câblé la cellule de charge à l'amplificateur HX711 et l'amplificateur à la carte Arduino.
Avant d'obtenir le poids des objets, vous devez calibrer votre cellule de charge d'abord en obtenant lefacteur d'étalonnageVotre facteur d'étalonnage sera différent du mien, alors ne sautez pas cette section.
1) LePréparez un objet d'un poids connu. J'ai utilisé ma balance de cuisine et pesé un verre avec de l'eau (107g).
2) LeNous avons écrit le code suivant en tenant compte des instructions pour calibrer la cellule de charge fournies par la documentation de la bibliothèque.
/*
Je suis Rui Santos.
Les détails complets du projet se trouvent à l'adresse suivante: https://RandomNerdTutorials.com/arduino-load-cell-hx711/
*/
// Calibration de la cellule de charge
#incluer "HX711.h"
// Le câblage du circuit HX711
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
échelle HX711;
Le système est vide.
Série.début ((57600);
Le code de démarrage est le code de démarrage de l'appareil.
}
Le circuit est vide.
si (scale.is_ready()) {
la taille de l'échantillon (scale.set_scale();
Serial.println (("Tare... retirez les poids de la balance. ");
délai ((5000);
l'échelle est la suivante:
Serial.println (("Tare fait...");
Serial.print (("Placez un poids connu sur la balance"...);
délai ((5000);
long reading = scale.get_units ((10);
Serial.print (("Résultat: ");
Série.impression (lecture);
}
{ autre
Serial.println (("HX711 n'a pas été trouvé. ");
}
délai ((1000);
}
// le facteur d'étalonnage sera la (lecture) / (poids connu)
Après le téléchargement, ouvrez leMoniteur en série à une vitesse de signalement de 57600puis appuyez sur le bouton de réinitialisation de l'Arduino.
4) Les produitsSuivez les instructions sur le moniteur série: enlevez les poids de la balance (elle se charge automatiquement). Ensuite, placez un objet avec un poids connu sur la balance et attendez d'obtenir une valeur.
5) Les produitsCalculez votre facteur d'étalonnage à l'aide de la formule:
Facteur d'étalonnage = (lecture) / (poids connu)
Dans notre cas, la lecture est -49171. le poids connu est de 107g, donc notre facteur d'étalonnage sera: -49171/107 = -459.542.
le facteur d'étalonnage = -49171/107 = -459.542
Gardez votre facteur d'étalonnage car vous en aurez besoin plus tard.
Maintenant que vous connaissez votre facteur d'étalonnage, vous pouvez utiliser votre cellule de charge pour peser des objets.Commencez par peser les objets avec un poids connu et répétez le processus d'étalonnage si les valeurs ne sont pas exactes.
Copiez le code suivant sur votre IDE Arduino. Avant de le télécharger sur votre carte, n'oubliez pas d'insérer votre facteur d'étalonnage dans la ligne 43/44 du code.
Je suis désolé.
* Les détails complets du projet se trouvent à l'adresse https://RandomNerdTutorials.com/arduino-load-cell-hx711/
**/
#incluer
#incluer "HX711.h"
// Le câblage du circuit HX711
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
échelle HX711;
Le système est vide.
Série.début ((57600);
"Demo HX711" est une série.
Serial.println (("Initialement de l'échelle");
Le code de démarrage est le code de démarrage de l'appareil.
Serial.println (("Avant de mettre en place la balance:");
Le numéro de série.impression (("lire: tt");
Serial.println ((scale.read()); // Imprimez une lecture brute à partir de l'ADC
Série.impression (("moyenne de lecture: tt");
Serial.println ((scale.read_average(20)); // imprimer la moyenne des 20 lectures du ADC
Serial.print (("obtenir une valeur: tt");
Serial.println ((scale.get_value(5)); // imprimer la moyenne des 5 lectures du ADC moins le poids de la tare (pas encore réglé)
Série.impression (("obtenir unités: tt");
Serial.println ((scale.get_units ((5), 1); // imprimer la moyenne des 5 lectures du CDI moins le poids de la tare (non réglé) divisé
// par le paramètre SCALE (pas encore défini)
la valeur de l'échantillon est la valeur de l'échantillon;
//scale.set_scale ((-471.497); // cette valeur est obtenue en calibrant la balance avec des poids connus; voir le README pour plus de détails
échelle.tare(); // réinitialiser l' échelle à 0
Serial.println (("Après la mise en place de l'échelle:");
Le numéro de série.impression (("lire: tt");
Serial.println ((scale.read()); // Imprimez une lecture brute à partir de l'ADC
Série.impression (("moyenne de lecture: tt");
Serial.println ((scale.read_average(20)); // imprimer la moyenne des 20 lectures du ADC
Serial.print (("obtenir une valeur: tt");
Serial.println ((scale.get_value(5)); // imprimer la moyenne de 5 lectures du CDI moins le poids de la tare, définie avec la tare()
Série.impression (("obtenir unités: tt");
Serial.println ((scale.get_units ((5), 1); // imprimer la moyenne des 5 lectures du CDI moins le poids de la tare, divisé
// par le paramètre SCALE défini avec set_scale
"Légendes:");
}
Le circuit est vide.
Série.impression (("une seule lecture: t");
Série.impression ((échelle.obtenir_unités ((), 1);
Série d'impression.
Serial.println ((scale.get_units ((10) 5);
délai ((5000);
}