Manual de utilizare pentru modulul ADC pentru senzori de cântărire ARDUINO HX711
Aplicație Example cu Arduino Uno:
Majoritatea celulelor de sarcină au patru fire: roșu, negru, verde și alb. Pe placa HX711 veți găsi conexiuni E+/E-, A+/A- și B+/B. Conectați celula de sarcină la placa senzorului HX711 conform următorului tabel:
Placă cu senzor de sarcină HX711 | Cablu pentru celulă de sarcină |
E+ | Roşu |
E- | Negru |
A+ | Verde |
A- | Alb |
B- | Nefolosit |
B+ | Nefolosit |
Senzor HX711 | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
Modulul HX711 funcționează la 5V și comunicarea se realizează folosind pini seriali SDA și SCK.
Unde să aplicați greutatea pe celula de sarcină?
Puteți vedea o săgeată afișată pe celula de încărcare. Această săgeată arată direcția forței asupra celulei de sarcină. Puteți face aranjamentul prezentat în figură folosind benzi metalice. Atașați bandă metalică pe celula de sarcină folosind șuruburi.
Programarea Arduino UNO pentru a măsura greutatea în kg:
Conectați schema așa cum se arată în Figura 1 de mai sus.
Pentru ca acest modul senzor să funcționeze cu plăcile Arduino, avem nevoie de biblioteca HX711 care poate descărca de la https://github.com/bogde/HX711.
Înainte ca HX711 să poată fi utilizat pentru a măsura cu precizie un obiect, trebuie să se calibreze mai întâi. Pasul de mai jos vă va arăta cum să faceți calibrarea.
1 Pas: Schiță de calibrare
Încărcați schița de mai jos pe placa Arduino Uno
/* Tehnologia Handson www.handsontec.com
* 29 decembrie 2017
* Load Cell HX711 Module Interfață cu Arduino pentru a măsura greutatea în kg
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Majoritatea oricărui pin de pe Arduino Uno va fi compatibil cu DOUT/CLK.
Placa HX711 poate fi alimentată de la 2.7V la 5V, astfel încât puterea Arduino 5V ar trebui să fie bună.
*/
#include „HX711.h” //Trebuie să aveți această bibliotecă în folderul bibliotecii Arduino
#define DOUT 3
#define CLK 2
scară HX711 (DOUT, CLK);
//Schimbați acest factor de calibrare conform celulei dvs. de sarcină odată ce se găsește că aveți nevoie
variați-l în mii
factor_calibrare float = -96650; //-106600 a funcționat pentru configurația mea pentru cântarul maxim de 40 kg
//================================================== ========================================
// ÎNFIINȚAT
//================================================== ========================================
void setup() {
Serial.begin(9600);
Serial.println(„Calibrare HX711”);
Serial.println(„Eliminați toată greutatea de pe cântar”);
Serial.println(„După ce încep citirile, plasați greutatea cunoscută pe cântar”);
Serial.println(„Apăsați a,s,d,f pentru a crește factorul de calibrare cu 10,100,1000,10000
respectiv");
Serial.println(„Apăsați z,x,c,v pentru a reduce factorul de calibrare cu 10,100,1000,10000
respectiv");
Serial.println(„Apăsați t pentru tară”);
scale.set_scale();
scale.tare(); //Resetați scala la 0
factor_zero lung = scale.read_average(); //Obțineți o lectură de bază
Serial.print ("Factor zero: "); //Acest lucru poate fi folosit pentru a elimina necesitatea de a tara cântarul.
Util în proiecte la scară permanentă.
Serial.println(zero_factor);
}
//================================================== ========================================
// LOOP
//================================================== ========================================
void loop() {
scale.set_scale(factor_calibrare); //Ajustați la acest factor de calibrare
Serial.print ("Citire: ");
Serial.print(scale.get_units(), 3);
Serial.print(”kg”); //Schimbați-l în kg și reajustați factorul de calibrare dacă doriți
urmați unitățile SI ca o persoană sănătoasă
Serial.print(” factor_calibrare: “);
Serial.print(factor_calibrare);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
factor_calibrare += 10;
else if(temp == '-' || temp == 'z')
factor_calibrare -= 10;
else if(temp == 's')
factor_calibrare += 100;
else if(temp == 'x')
factor_calibrare -= 100;
else if(temp == 'd')
factor_calibrare += 1000;
else if(temp == 'c')
factor_calibrare -= 1000;
else if(temp == 'f')
factor_calibrare += 10000;
else if(temp == 'v')
factor_calibrare -= 10000;
else if(temp == 't')
scale.tare(); //Resetează scara la zero
}
}
//================================================== =======================================
Scoateți orice sarcină de pe senzorul de sarcină. Deschideți monitorul serial. Ar trebui să se deschidă fereastra de mai jos, care arată că modulul s-a conectat cu succes la Arduino Uno.
Așezați un obiect de greutate cunoscut pe celula de sarcină. În acest caz, autorul a folosit o greutate cunoscută de 191 de grame cu celula de sarcină de 10 kg. Monitorul serial va afișa o cifră de cântărire, așa cum se arată mai jos:
Trebuie să facem calibrarea aici:
- Introduceți litera „a, s, d, f” în spațiul de comandă al monitorului serial și apăsați butonul „Trimite” pentru a crește factorul de calibrare cu 10, 100, 1000, respectiv 10000
- Introduceți litera „z, x, c, v” în spațiul de comandă al monitorului serial și apăsați butonul „Trimite” pentru a reduce factorul de calibrare cu 10, 100, 1000, respectiv 10000.
Continuați să reglați până când citirea arată greutatea reală plasată pe celula de sarcină. Înregistrați valoarea „calibration_factor”, în acest caz „-239250” în greutatea autorului de referință de 191 g cu celulă de sarcină de 10 kg. Vom avea nevoie de această valoare pentru a fi conectată la cea de-a doua schiță pentru măsurare reală.
Pasul 2: Codul final pentru măsurarea greutății reale
Înainte de a încărca schița, trebuie să conectăm „factorul de calibrare” obținut în primul pas:
Încărcați schița de mai jos pe placa Arduino Uno, după ce ați modificat factorul de scară:
/* Tehnologia Handson www.handsontec.com
* 29 decembrie 2017
* Load Cell HX711 Module Interfață cu Arduino pentru a măsura greutatea în kg
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Majoritatea oricărui pin de pe Arduino Uno va fi compatibil cu DOUT/CLK.
Placa HX711 poate fi alimentată de la 2.7V la 5V, astfel încât puterea Arduino 5V ar trebui să fie bună.
*/
#include „HX711.h” //Trebuie să aveți această bibliotecă în folderul bibliotecii Arduino
#define DOUT 3
#define CLK 2
scară HX711 (DOUT, CLK);
//Schimbați acest factor de calibrare conform celulei dvs. de sarcină, odată ce este găsit, mulți trebuie să îl modificați în mii
factor_calibrare float = -96650; //-106600 a funcționat pentru configurația mea pentru cântarul maxim de 40 kg
//================================================== ===============================================
// ÎNFIINȚAT
//================================================== ===============================================
void setup() {
Serial.begin(9600);
Serial.println(„Apăsați T pentru a tara”);
scale.set_scale(-239250); //Factor de calibrare obținut din prima schiță
scale.tare(); //Resetați scala la 0
}
//================================================== ===============================================
// LOOP
//================================================== ===============================================
void loop() {
Serial.print(„Greutate: “);
Serial.print(scale.get_units(), 3); //Până la 3 zecimale
Serial.println(”kg”); //Schimbați acest lucru în kg și reajustați factorul de calibrare dacă urmați lbs
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //Resetează scara la zero
}
}
//================================================== ===============================================
După ce ați încărcat cu succes schița, deschideți Serial Monitor. Ar trebui să apară fereastra de mai jos arătând valoarea reală de măsurare:
Puteți reseta citirea la 0.000 kg (fără sarcină”) introducând „t” sau „T” în spațiul de comandă și apăsând butonul „Trimite”. Afișajul de mai jos care arată valoarea de măsurare devine 0.000 kg.
Așezați un obiect pe celula de sarcină, greutatea reală ar trebui să fie afișată. Mai jos este afișarea greutății când plasați obiectul de 191 grame (utilizat în primul pas pentru calibrare).
Ura! ați construit o cântar cu o precizie de trei zecimale!
Documente/Resurse
![]() |
Modulul ADC pentru senzori de cântărire ARDUINO HX711 [pdfManual de utilizare Modulul ADC pentru senzori de cântărire HX711, HX711, Modulul ADC pentru senzori de cântărire, Modulul ADC pentru senzori, Modulul ADC, modulul |