ARDUINO HX711 Weegsensors ADC Module Gebruikershandleiding
Toepassing Bvample met Arduino Uno:
Die meeste laaisel het vier drade: rooi, swart, groen en wit. Op HX711-bord sal jy E+/E-, A+/A- en B+/B-verbindings vind. Koppel laadsel aan HX711-sensorbord volgens die volgende tabel:
HX711-laaisensorbord | Laai Seldraad |
E+ | Rooi |
E- | Swart |
A+ | Groen |
A- | Wit |
B- | Ongebruik |
B+ | Ongebruik |
HX711 sensor | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
HX711-module werk teen 5V en kommunikasie word gedoen met behulp van seriële SDA- en SCK-penne.
Waar om gewig op laaisel toe te pas?
Jy kan sien dat 'n pyl op laaisel gewys word. Hierdie pyl wys die rigting van krag op die laaisel. Jy kan die rangskikking wat in figuur getoon word met metaalstroke maak. Heg metaalstrook op die Loadsel vas met boute.
Programmering van Arduino UNO om gewig in KG te meet:
Verbind die skema soos getoon in Figuur 1 hierbo.
Om hierdie sensormodule met Arduino-borde te laat werk, benodig ons HX711-biblioteek wat kan aflaai vanaf https://github.com/bogde/HX711.
Voordat HX711 gebruik kan word om 'n voorwerp se gewig akkuraat te meet, moet dit eers gekalibreer word. Die volgende stap sal jou wys hoe om die kalibrasie te doen.
1 Stap: Kalibrasie Skets
Laai die onderstaande skets op na Arduino Uno Board
/* Handson Tegnologie www.handsontec.com
* 29 Desember 2017
* Load Cell HX711 Module Interface met Arduino om gewig in kg te meet
Arduino
pen
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Byna enige pen op die Arduino Uno sal versoenbaar wees met DOUT/CLK.
Die HX711-bord kan van 2.7V tot 5V aangedryf word, so die Arduino 5V-krag behoort goed te wees.
*/
#include “HX711.h” //Jy moet hierdie biblioteek in jou arduino-biblioteeklêergids hê
#definieer DOUT 3
#definieer CLK 2
HX711 skaal (DOUT, CLK);
//Verander hierdie kalibrasiefaktor volgens jou laaisel sodra gevind word dat jy baie moet
wissel dit in duisende
float calibration_factor = -96650; //-106600 het gewerk vir my 40Kg maksimum skaalopstelling
//================================================ =======================================
// STEL OP
//================================================ =======================================
nietige opstelling() {
Serial.begin(9600);
Serial.println(“HX711 Kalibrasie”);
Serial.println(“Verwyder alle gewig van skaal”);
Serial.println(“Nadat lesings begin het, plaas bekende gewig op skaal”);
Serial.println(“Druk a,s,d,f om kalibrasiefaktor met 10,100,1000,10000 te verhoog
onderskeidelik”);
Serial.println(“Druk z,x,c,v om kalibrasiefaktor met 10,100,1000,10000 te verlaag
onderskeidelik”);
Serial.println(“Druk t vir tara”);
scale.set_scale();
skaal.tare(); //Stel die skaal terug na 0
lang nulfaktor = skaal.lees_gemiddeld(); //Kry 'n basislynlesing
Serial.print(“Nul faktor: “); //Dit kan gebruik word om die behoefte om die skaal te tareer te verwyder.
Nuttig in permanente skaalprojekte.
Serial.println(nul_faktor);
}
//================================================ =======================================
// LUS
//================================================ =======================================
void lus() {
skaal.stel_skaal(kalibrasiefaktor); //Pas aan by hierdie kalibrasiefaktor
Serial.print(“Lees: “);
Serial.print(scale.get_units(), 3);
Serial.print(" kg"); //Verander dit na kg en pas die kalibrasiefaktor weer aan as jy
volg SI-eenhede soos 'n gesonde persoon
Serial.print(" calibration_factor: ");
Serial.print(kalibrasiefaktor);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
kalibrasiefaktor += 10;
anders as (temp == '-' || temp == 'z')
kalibrasiefaktor -= 10;
anders as (temp == 's')
kalibrasiefaktor += 100;
anders as (temp == 'x')
kalibrasiefaktor -= 100;
anders as (temp == 'd')
kalibrasiefaktor += 1000;
anders as (temp == 'c')
kalibrasiefaktor -= 1000;
anders as (temp == 'f')
kalibrasiefaktor += 10000;
anders as (temp == 'v')
kalibrasiefaktor -= 10000;
anders as (temp == 't')
skaal.tare(); //Stel die skaal terug na nul
}
}
//================================================ ======================================
Verwyder enige vrag van die lassensor. Maak die Serial Monitor oop. Die onderstaande venster moet oopmaak wat wys dat die module suksesvol aan Arduino Uno gekoppel is.
Plaas 'n bekende gewig voorwerp op die laaisel. In hierdie geval het die skrywer 'n bekende gewig van 191gram met 10KG Load Cell gebruik. Die reeksmonitor sal 'n weegsyfer vertoon soos hieronder getoon:
Ons moet hier kalibrasie doen:
- Sleutel letter "a, s, d, f" in die reeksmonitor-opdragspasie in en druk "Stuur"-knoppie om die kalibrasiefaktor met onderskeidelik 10, 100, 1000, 10000 te verhoog
- Sleutel letter "z, x, c, v" in die reeksmonitor-opdragspasie in en druk "Stuur"-knoppie om die kalibrasiefaktor met onderskeidelik 10, 100, 1000, 10000 te verlaag.
Hou aan om aan te pas totdat die lesing die werklike gewig wat op die laaisel geplaas is, wys. Teken die “kalibrasiefaktor”-waarde neer, in hierdie geval “-239250” in skrywer se gewig van 191g verwysing met 10KG Load Cell. Ons sal hierdie waarde nodig hê om by ons tweede skets in te plug vir werklike meting.
2de Stap: Finale kode vir werklike gewigmeting
Voordat ons die skets oplaai, moet ons die "kalibrasiefaktor" wat in 1ste stap verkry is, inprop:
Laai die onderstaande skets op na Arduino Uno Board, nadat die skaalfaktor gewysig is:
/* Handson Tegnologie www.handsontec.com
* 29 Desember 2017
* Load Cell HX711 Module Interface met Arduino om gewig in kg te meet
Arduino
pen
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Byna enige pen op die Arduino Uno sal versoenbaar wees met DOUT/CLK.
Die HX711-bord kan van 2.7V tot 5V aangedryf word, so die Arduino 5V-krag behoort goed te wees.
*/
#include “HX711.h” //Jy moet hierdie biblioteek in jou arduino-biblioteeklêergids hê
#definieer DOUT 3
#definieer CLK 2
HX711 skaal (DOUT, CLK);
//Verander hierdie kalibrasiefaktor volgens jou laaisel sodra dit gevind word, moet jy dit in duisende verander
float calibration_factor = -96650; //-106600 het gewerk vir my 40Kg maksimum skaalopstelling
//================================================ ==============================================
// STEL OP
//================================================ ==============================================
nietige opstelling() {
Serial.begin(9600);
Serial.println(“Druk T om te tareer”);
scale.set_scale(-239250); //Kalibrasiefaktor verkry vanaf eerste skets
skaal.tare(); //Stel die skaal terug na 0
}
//================================================ ==============================================
// LUS
//================================================ ==============================================
void lus() {
Serial.print(“Gewig: “);
Serial.print(scale.get_units(), 3); //Tot 3 desimale punte
Serial.println(" kg"); //Verander dit na kg en pas die kalibrasiefaktor weer aan as jy lbs volg
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
skaal.tare(); //Stel die skaal terug na nul
}
}
//================================================ ==============================================
Nadat u die skets suksesvol opgelaai het, maak Serial Monitor oop. Die onderstaande venster moet verskyn met die werklike metingswaarde:
Jy kan die lesing na 0.000 kg (sonder vrag) terugstel deur "t" of "T" in die opdragspasie in te sleutel en die "Stuur"-knoppie te druk. Hieronder vertoon die meetwaarde 0.000 kg.
Plaas 'n voorwerp op die laaisel, die werklike gewig moet vertoon word. Hieronder is die gewig vertoon wanneer die voorwerp van 191gram geplaas word (gebruik in 1ste stap vir kalibrasie).
Hoera! jy het 'n weegskaal met 'n akkuraatheid van drie desimale punt saamgestel!
Dokumente / Hulpbronne
![]() |
ARDUINO HX711 Weegsensors ADC-module [pdfGebruikershandleiding HX711 Weegsensors ADC Module, HX711, Weegsensors ADC Module, Sensors ADC Module, ADC Module, Module |