Cellule de pesée YZC-131 avec schéma de raccordement du capteur et code d'exemple pour Arduino.

Matériaux nécessaires

Pour ce capteur, vous avez besoin de deux types de code, le premier est pour l'étalonnage du capteur et le deuxième est pour faire des mesures avec le capteur. Nous commençons par connecter tous les composants comme indiqué ci-dessous:

Code 1.

Nous commençons par le code 1, ce code est pour l'étalonnage du capteur. Vous n'avez à le faire qu'une seule fois.

Téléchargez le code ci-dessous et ouvrez le moniteur série. Suivez les étapes que le moniteur vous donne et notez le résultat. Dès que vous voyez le résultat dans le moniteur, écrivez-le quelque part et utilisez la formule suivante :

Résultat : poids connu (résultat divisé par le poids connu)

Une fois que vous avez calculé cela, écrivez-le quelque part et vous pouvez continuer avec le code deux.

 


#include "HX711.h"

const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;

HX711 scale;

void setup() {
Serial.begin(57600);
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
}

void loop() {

if (scale.is_ready()) {
scale.set_scale();
Serial.println("Mettre... enlever tous les poids du capteur");
delay(5000);
scale.tare();
Serial.println("Mesure terminée");
Serial.println("Placez un poids connu sur la balance...");
delay(5000);
long reading = scale.get_units(10);
Serial.print("résultat: ");
Serial.println(reading);
}
else {
Serial.println("HX711 introuvable. Mal branché.");
}
delay(1000);
}

Code 2

Lorsque vous ouvrez le code ci-dessous, vous verrez à la ligne numéro 7 : *int calibration = 0000;* cela signifie qu'une variable est créée que nous avons appelée "calibration". À la place de 0000, vous entrez maintenant votre valeur calculée, puis vous téléchargez le


#include 

// Câblage du circuit HX711
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 1;
int kalibratie = 0000; // remplissez ici votre valeur mesurée divisée par le poids connu
HX711 balance;

void setup() {
  Serial.begin(57600);
  Serial.println("HX711 Demo");
  Serial.println("Initialisation de la balance");

  balance.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);

  Serial.println("Avant de régler la balance :");
  Serial.print("lecture : tt");
  Serial.println(balance.read()); // imprime une lecture brute de l'ADC

  Serial.print("lecture moyenne : tt");
  Serial.println(balance.read_average(20)); // imprime la moyenne de 20 lectures de l'ADC

  Serial.print("valeur récupérée : tt");
  Serial.println(balance.get_value(5)); // imprime la moyenne de 5 lectures de l'ADC moins le poids de tare (pas encore réglé)

  Serial.print("unités récupérées : tt");
  Serial.println(balance.get_units(5), 1); // imprime la moyenne de 5 lectures de l'ADC moins le poids de tare (pas encore réglé) divisé
  // par le paramètre SCALE (pas encore réglé)

  balance.set_scale(kalibratie);
  //balance.set_scale(-471.497); // cette valeur est obtenue en étalonnant la balance avec des poids connus ; voir le README pour plus de détails
  balance.tare(); // réinitialise la balance à 0

  Serial.println("Après avoir réglé la balance :");

  Serial.print("lecture : tt");
  Serial.println(balance.read()); // imprime une lecture brute de l'ADC

  Serial.print("lecture moyenne : tt");
  Serial.println(balance.read_average(20)); // imprime la moyenne de 20 lectures de l'ADC

  Serial.print("valeur récupérée : tt");
  Serial.println(balance.get_value(5)); // imprime la moyenne de 5 lectures de l'ADC moins le poids de tare, réglé avec tare()

  Serial.print("unités récupérées : tt");
  Serial.println(balance.get_units(5), 1); // imprime la moyenne de 5 lectures de l'ADC moins le poids de tare, divisé
  // par le paramètre SCALE réglé avec set_scale

  Serial.println("Lectures :");
}

void loop() {
  Serial.print("une lecture :t");
  Serial.print(balance.get_units(), 1);
  Serial.print("t| moyenne :t");
  Serial.println(balance.get_units(10), 5);

  delay(5000);
}