ARDUINO HX711 Weegsensoren ADC-module Gebruikershandleiding
Toepassing Example met Arduino Uno:
De meeste loadcellen hebben vier draden: rood, zwart, groen en wit. Op het HX711-bord vindt u E+/E-, A+/A- en B+/B-aansluitingen. Sluit de loadcel aan op de HX711-sensorkaart volgens de volgende tabel:
HX711 Belastingsensorkaart | Laad celdraad |
E+ | Rood |
E- | Zwart |
A+ | Groente |
A- | Wit |
B- | Ongebruikt |
B+ | Ongebruikt |
HX711-sensor | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
HX711-module werkt op 5V en communicatie vindt plaats met behulp van seriële SDA- en SCK-pinnen.
Waar gewicht op load cell aanbrengen?
U kunt zien dat er een pijl wordt weergegeven op Load Cell. Deze pijl geeft de richting van de kracht op de loadcel aan. U kunt een opstelling maken die in de afbeelding wordt weergegeven met behulp van metalen strips. Bevestig metalen strip op de Load cell met behulp van bouten.
Arduino UNO programmeren om gewicht in KG te meten:
Sluit het schema aan zoals weergegeven in figuur 1 hierboven.
Om ervoor te zorgen dat deze sensormodule met Arduino-kaarten werkt, hebben we de HX711-bibliotheek nodig waarvan kan worden gedownload https://github.com/bogde/HX711.
Voordat de HX711 kan worden gebruikt om een object nauwkeurig te wegen, moet deze eerst worden gekalibreerd. De onderstaande stap laat u zien hoe u de kalibratie uitvoert.
1 stap: kalibratieschets
Upload de onderstaande sketch naar Arduino Uno Board
/* Handson-technologie www.handsontec.com
* 29 december 2017
* Load Cell HX711-module-interface met Arduino om het gewicht in kg te meten
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
Aardgas -> Aardgas
Vrijwel elke pin op de Arduino Uno is compatibel met DOUT/CLK.
Het HX711-bord kan worden gevoed van 2.7V tot 5V, dus de voeding van de Arduino 5V zou in orde moeten zijn.
*/
#include "HX711.h" // Je moet deze bibliotheek in je arduino-bibliotheekmap hebben
#definieer DOUT 3
#define CLK 2
HX711 schaal (DOUT, CLK);
// Wijzig deze kalibratiefactor volgens uw loadcel zodra blijkt dat u dit vaak nodig heeft
varieer het in duizenden
float kalibratie_factor = -96650; //-106600 werkte voor mijn opstelling van een maximale weegschaal van 40 kg
//============================================= =====================================
// OPGERICHT
//============================================= =====================================
lege installatie() {
Serieel.begin(9600);
Serial.println ("HX711 Kalibratie");
Serial.println ("Verwijder al het gewicht van de weegschaal");
Serial.println ("Nadat de metingen beginnen, plaatst u het bekende gewicht op de schaal");
Serial.println ("Druk op a, s, d, f om de kalibratiefactor te verhogen met 10,100,1000,10000
respectievelijk");
Serial.println(“Druk op z,x,c,v om de kalibratiefactor te verlagen met 10,100,1000,10000
respectievelijk");
Serial.println ("Druk op t voor tarra");
schaal.set_schaal();
schaal.tarra(); // Stel de schaal opnieuw in op 0
lange nul_factor = schaal.lees_gemiddelde(); // Krijg een basislijnmeting
Serial.print ("Nulfactor:"); //Dit kan worden gebruikt om de noodzaak om de weegschaal te tarreren weg te nemen.
Handig bij projecten op permanente schaal.
Serieel.println(zero_factor);
}
//============================================= =====================================
// LUS
//============================================= =====================================
lege lus() {
schaal.set_schaal(kalibratiefactor); // Pas deze kalibratiefactor aan
Serial.print ("Lezen: ");
Serial.print(schaal.get_units(), 3);
Serial.print ("kg"); //Wijzig dit in kg en pas de kalibratiefactor opnieuw aan als u
volg SI-eenheden als een gezond persoon
Serial.print(” kalibratie_factor: “);
Serieel.print(kalibratiefactor);
Serial.println ();
if(Seriële.beschikbare())
{
char temp = Serieel.lezen();
als(uitzendkracht == '+' || uitzendkracht == 'a')
kalibratiefactor += 10;
anders als(temp == '-' || temp == 'z')
kalibratiefactor -= 10;
anders als(temp == 's')
kalibratiefactor += 100;
anders als(temp == 'x')
kalibratiefactor -= 100;
anders als(temp == 'd')
kalibratiefactor += 1000;
anders als(temp == 'c')
kalibratiefactor -= 1000;
anders als(temp == 'f')
kalibratiefactor += 10000;
anders als(temp == 'v')
kalibratiefactor -= 10000;
anders als(temp == 't')
schaal.tarra(); // Stel de schaal opnieuw in op nul
}
}
//============================================= ====================================
Verwijder eventuele last van de lastsensor. Open de seriële monitor. Het onderstaande venster zou moeten openen en laten zien dat de module met succes is verbonden met Arduino Uno.
Plaats een voorwerp met een bekend gewicht op de loadcel. In dit geval gebruikte de auteur een bekend gewicht van 191 gram met 10KG Load Cell. De seriële monitor zal een aantal weegcijfers weergeven, zoals hieronder weergegeven:
We moeten hier kalibratie uitvoeren:
- Toets de letter "a, s, d, f" in de opdrachtruimte van de seriële monitor in en druk op de knop "Verzenden" om de kalibratiefactor met respectievelijk 10, 100, 1000, 10000 te verhogen
- Voer de letter "z, x, c, v" in de opdrachtruimte van de seriële monitor in en druk op de knop "Verzenden" om de kalibratiefactor met respectievelijk 10, 100, 1000, 10000 te verlagen.
Blijf aanpassen totdat de aflezing het daadwerkelijke gewicht op de loadcel weergeeft. Noteer de "calibration_factor" waarde, in dit geval "-239250" in het gewicht van de auteur van 191g referentie met 10KG Load Cell. We hebben deze waarde nodig om aan te sluiten op onze tweede schets voor echte metingen.
2e stap: definitieve code voor echte gewichtsmeting
Voordat we de schets uploaden, moeten we de "kalibratiefactor" invoeren die we in de eerste stap hebben verkregen:
Upload de onderstaande sketch naar Arduino Uno Board, na het aanpassen van de schaalfactor:
/* Handson-technologie www.handsontec.com
* 29 december 2017
* Load Cell HX711-module-interface met Arduino om het gewicht in kg te meten
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
Aardgas -> Aardgas
Vrijwel elke pin op de Arduino Uno is compatibel met DOUT/CLK.
Het HX711-bord kan worden gevoed van 2.7V tot 5V, dus de voeding van de Arduino 5V zou in orde moeten zijn.
*/
#include "HX711.h" // Je moet deze bibliotheek in je arduino-bibliotheekmap hebben
#definieer DOUT 3
#define CLK 2
HX711 schaal (DOUT, CLK);
// Wijzig deze kalibratiefactor volgens uw loadcel zodra blijkt dat u deze in duizenden moet variëren
float kalibratie_factor = -96650; //-106600 werkte voor mijn opstelling van een maximale weegschaal van 40 kg
//============================================= ===========================================
// OPGERICHT
//============================================= ===========================================
lege installatie() {
Serieel.begin(9600);
Serial.println ("Druk op T om te tarreren");
schaal.set_scale(-239250); // Kalibratiefactor verkregen uit eerste schets
schaal.tarra(); // Stel de schaal opnieuw in op 0
}
//============================================= ===========================================
// LUS
//============================================= ===========================================
lege lus() {
Serial.print ("Gewicht:");
Serial.print(schaal.get_units(), 3); //Tot 3 decimalen
Serial.println ("kg"); //Wijzig dit in kg en pas de kalibratiefactor opnieuw aan als u lbs volgt
if(Seriële.beschikbare())
{
char temp = Serieel.lezen();
als(temp == 't' || temp == 'T')
schaal.tarra(); // Stel de schaal opnieuw in op nul
}
}
//============================================= ===========================================
Nadat u de schets met succes hebt geüpload, opent u Serial Monitor. Het onderstaande venster zou moeten verschijnen met de werkelijke meetwaarde:
U kunt de meting resetten naar 0.000 kg (zonder belasting") door "t" of "T" in te voeren in de opdrachtruimte en op de knop "Verzenden" te drukken. Onderstaande display met de gemeten waarde wordt 0.000 kg.
Plaats een object op de loadcel, het werkelijke gewicht zou moeten worden weergegeven. Hieronder ziet u de gewichtsweergave wanneer u het object van 191 gram plaatst (gebruikt in de eerste stap voor kalibratie).
Hoera! je hebt een weegschaal gebouwd met een nauwkeurigheid van drie decimalen!
Documenten / Bronnen
![]() |
ARDUINO HX711 Weegsensoren ADC-module [pdf] Gebruikershandleiding HX711 Weegsensoren ADC-module, HX711, Weegsensoren ADC-module, sensoren ADC-module, ADC-module, module |