Ce tutoriel vous guidera à travers les étapes nécessaires pour calibrer une jauge de contrainte avec une carte Arduino, en utilisant un amplificateur HX711. Vous apprendrez à câbler correctement les composants, à installer les bibliothèques nécessaires et à écrire le code pour obtenir des mesures précises.
Une jauge de contrainte est un capteur électrique qui mesure la force ou la contrainte exercée sur un objet. La résistance de la jauge varie lorsqu'une force externe est appliquée, entraînant une déformation de l'objet. Les jauges de contrainte sont souvent utilisées dans les cellules de charge, qui convertissent une force en un signal électrique mesurable.
Étant donné que les changements de contrainte lors de la pesée d'objets sont faibles, un amplificateur est nécessaire. L'amplificateur HX711 est une carte de dérivation qui facilite la lecture des cellules de charge pour mesurer le poids. Il communique avec le microcontrôleur via une interface à deux fils.
La première étape consiste à câbler la cellule de charge à l'amplificateur HX711. Connectez les fils de la cellule de charge aux broches E+, E-, A- et A+ de l'amplificateur. Ensuite, connectez l'amplificateur à la carte Arduino en utilisant les broches suivantes :
Si vous utilisez un bouton-poussoir, connectez-le via une résistance pull-down de 10 kOhm à une broche numérique de l'Arduino. L'autre fil du bouton-poussoir doit être connecté à 5V.
Lire aussi: Pourquoi la calibration est essentielle
Pour faciliter la lecture des données de la cellule de charge, vous devez installer la bibliothèque HX711 par bodge. Vous pouvez l'installer via le gestionnaire de bibliothèques Arduino :
Si vous utilisez un écran OLED, installez également les bibliothèques Adafruit SSD1306 et Adafruit GFX.
Avant d'utiliser la cellule de charge pour peser des objets, vous devez la calibrer pour obtenir un facteur d'étalonnage précis. Suivez ces étapes :
#include "HX711.h"#define LOADCELL_DOUT_PIN 3#define LOADCELL_SCK_PIN 2HX711 scale;float calibration_factor = 1.0; // Ce facteur devra être calibrévoid setup() { Serial.begin(115200); 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(); // Obtenir une lecture de base Serial.print("Zero factor: "); Serial.println(zero_factor);}void loop() { scale.set_scale(calibration_factor); // Ajuster le facteur d'étalonnage Serial.print("Reading: "); Serial.print(scale.get_units(), 1); Serial.print(" g"); Serial.print(" calibration_factor: "); Serial.println(calibration_factor); if(Serial.available()) { char key = Serial.read(); if (key == '+' || key == 'a') { calibration_factor += 1; } if (key == '-' || key == 'z') { calibration_factor -= 1; } }}Maintenant que vous avez calibré la cellule de charge, vous pouvez l'utiliser pour peser des objets. Téléchargez le code suivant sur votre carte Arduino, en remplaçant YOUR_CALIBRATION_FACTOR par le facteur d'étalonnage que vous avez obtenu lors de la calibration :
#include "HX711.h"#define LOADCELL_DOUT_PIN 3#define LOADCELL_SCK_PIN 2HX711 scale;float calibration_factor = YOUR_CALIBRATION_FACTOR;void setup() { Serial.begin(115200); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(calibration_factor); scale.tare(); // Reset the scale to 0}void loop() { scale.set_scale(calibration_factor); Serial.print("Reading: "); Serial.print(scale.get_units(), 1); Serial.println(" g"); scale.power_down(); // Mettre l'ADC en veille delay(5000); scale.power_up();}Ouvrez le moniteur série pour voir les lectures de poids en grammes.
Lire aussi: Sonde de calibration : location
Pour une interface utilisateur plus conviviale, vous pouvez connecter un écran OLED à votre Arduino et afficher les lectures de poids. Voici un exemple de code :
#include#include #include #include #include #include "HX711.h"#define SCREEN_WIDTH 128#define SCREEN_HEIGHT 64#define OLED_RESET -1Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);#define BUTTON_PIN 4Button button(BUTTON_PIN, PULLUP);#define LOADCELL_DOUT_PIN 3#define LOADCELL_SCK_PIN 2HX711 scale;float calibration_factor = YOUR_CALIBRATION_FACTOR;int currentWeight = 0;int lastWeight = 0;void setup() { Serial.begin(115200); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Weight (g)"); display.display(); button.begin(); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(calibration_factor); scale.tare(); // Reset the scale to 0}void loop() { scale.set_scale(calibration_factor); currentWeight = scale.get_units(); if (currentWeight != lastWeight) { display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Weight (g)"); display.setTextSize(3); display.setCursor(0,20); display.print(currentWeight); display.display(); lastWeight = currentWeight; } if (button.wasPressed()) { scale.tare(); }}
Ce code affiche le poids sur l'écran OLED et permet de tarer la balance en appuyant sur le bouton-poussoir.
En plus de mesurer le poids d'objets, une jauge de contrainte calibrée avec Arduino peut être utilisée dans de nombreuses applications, telles que :
| Composant | Broche | Arduino |
|---|---|---|
| HX711 | GND | GND |
| HX711 | DT | Broche numérique (ex: 3) |
| HX711 | SCK | Broche numérique (ex: 2) |
| HX711 | VCC | 5V |
| Bouton-poussoir | Fil 1 | Broche numérique (ex: 4) via résistance pull-down |
| Bouton-poussoir | Fil 2 | 5V |
Ce tutoriel vous a fourni les bases nécessaires pour calibrer et utiliser une jauge de contrainte avec Arduino. N'hésitez pas à expérimenter et à adapter ces informations à vos propres projets.
Lire aussi: Guide Complet sur l'Analyseur d'Humidité
tags: #calibration #jauge #de #contrainte #arduino #tutoriel