ARDUINO HX711 senzori za vaganje ADC modul korisnički priručnik
Aplikacija Example sa Arduino Uno:
Većina Load cell ima četiri žice: crvenu, crnu, zelenu i bijelu. Na HX711 ploči ćete naći E+/E-, A+/A- i B+/B konekcije. Povežite mjernu ćeliju na senzorsku ploču HX711 prema sljedećoj tabeli:
HX711 Ploča senzora opterećenja | Žica ćelije za opterećenje |
E+ | Crveni |
E- | Crna |
A+ | Zeleno |
A- | Bijelo |
B- | Nekorišćeno |
B+ | Nekorišćeno |
HX711 Senzor | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
Modul HX711 radi na 5V i komunikacija se vrši pomoću serijskih SDA i SCK pinova.
Gdje primijeniti težinu na mjernu ćeliju?
Možete vidjeti strelicu prikazanu na Load cell. Ova strelica pokazuje smjer sile na mjernoj ćeliji. Aranžman prikazan na slici možete napraviti pomoću metalnih traka. Pričvrstite metalnu traku na ćeliju za opterećenje pomoću vijaka.
Programiranje Arduino UNO za mjerenje težine u kg:
Povežite šemu kao što je prikazano na slici 1 iznad.
Da bi ovaj senzorski modul radio sa Arduino pločama, potrebna nam je HX711 biblioteka koja se može učitavati sa https://github.com/bogde/HX711.
Prije nego što se HX711 može koristiti za precizno mjerenje težine objekta, potrebno ga je prvo kalibrirati. Korak ispod će vam pokazati kako da izvršite kalibraciju.
1 korak: skica kalibracije
Prenesite donju skicu na Arduino Uno ploču
/* Handson Technology www.handsontec.com
* 29. decembar 2017
* Interfejs modula Load Cell HX711 sa Arduinom za mjerenje težine u kg
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Većina bilo kojeg pina na Arduino Uno će biti kompatibilan sa DOUT/CLK.
Ploča HX711 može se napajati od 2.7V do 5V tako da bi Arduino 5V napajanje trebalo biti u redu.
*/
#include “HX711.h” //Morate imati ovu biblioteku u vašoj arduino biblioteci
#define DOUT 3
#define CLK 2
HX711 skala (DOUT, CLK);
//Promijenite ovaj faktor kalibracije prema vašoj mjernoj ćeliji kada se otkrije što vam je potrebno
variraju u hiljadama
float calibration_factor = -96650; //-106600 je radio za moju postavku vage od max. 40 kg
//================================================= ========================================
// SETUP
//================================================= ========================================
void setup() {
Serial.begin(9600);
Serial.println(“HX711 kalibracija”);
Serial.println(“Ukloni svu težinu sa vage”);
Serial.println(“Nakon početka očitavanja, stavite poznatu težinu na vagu”);
Serial.println(“Pritisnite a,s,d,f da povećate faktor kalibracije za 10,100,1000,10000
odnosno”);
Serial.println(“Pritisnite z,x,c,v da smanjite faktor kalibracije za 10,100,1000,10000
odnosno”);
Serial.println(“Pritisnite t za taru”);
scale.set_scale();
scale.tare(); //Resetuj skalu na 0
long zero_factor = scale.read_average(); //Nabavite osnovno očitanje
Serial.print(“Nulti faktor: “); //Ovo se može koristiti za uklanjanje potrebe za tariranjem vage.
Korisno u projektima stalnog obima.
Serial.println(nula_faktor);
}
//================================================= ========================================
// LOOP
//================================================= ========================================
void loop() {
scale.set_scale(calibration_factor); //Prilagodite ovom faktoru kalibracije
Serial.print(“Čitanje: “);
Serial.print(scale.get_units(), 3);
Serial.print(”kg”); //Promijenite ovo u kg i ponovo podesite faktor kalibracije ako želite
slijedite SI jedinice kao zdrava osoba
Serial.print(” calibration_factor: “);
Serial.print(faktor_kalibracije);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
calibration_factor += 10;
else if(temp == '-' || temp == 'z')
calibration_factor -= 10;
inače if(temp == 's')
calibration_factor += 100;
inače if(temp == 'x')
calibration_factor -= 100;
inače if(temp == 'd')
calibration_factor += 1000;
inače if(temp == 'c')
calibration_factor -= 1000;
inače if(temp == 'f')
calibration_factor += 10000;
inače if(temp == 'v')
calibration_factor -= 10000;
inače if(temp == 't')
scale.tare(); //Resetuj skalu na nulu
}
}
//================================================= =======================================
Uklonite sve opterećenje sa senzora opterećenja. Otvorite serijski monitor. Donji prozor bi se trebao otvoriti i pokazuje da se modul uspješno povezao na Arduino Uno.
Postavite predmet poznate težine na mjernu ćeliju. U ovom slučaju autor je koristio poznatu težinu od 191 gram sa Load Cell-om od 10 kg. Serijski monitor će prikazati neku cifru težine kao što je prikazano u nastavku:
Ovdje moramo izvršiti kalibraciju:
- Ukucajte slovo “a, s, d, f” u komandni prostor serijskog monitora i pritisnite dugme “Pošalji” da povećate faktor kalibracije za 10, 100, 1000, 10000 respektivno
- Upišite slovo “z, x, c, v” u komandni prostor serijskog monitora i pritisnite dugme “Pošalji” da smanjite faktor kalibracije za 10, 100, 1000, 10000.
Nastavite s podešavanjem sve dok očitavanje ne pokaže stvarnu težinu na mjernoj ćeliji. Zabilježite vrijednost “calibration_factor”, u ovom slučaju “-239250” u autorskoj težini od 191g reference sa 10KG Load Cell. Ova vrijednost će nam trebati da se uključi u našu drugu skicu za pravo mjerenje.
2. korak: Finalni kod za mjerenje stvarne težine
Prije učitavanja skice, moramo uključiti "faktor kalibracije" dobijen u 1. koraku:
Učitajte donju skicu na Arduino Uno ploču, nakon modifikacije faktora skaliranja:
/* Handson Technology www.handsontec.com
* 29. decembar 2017
* Interfejs modula Load Cell HX711 sa Arduinom za mjerenje težine u kg
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Većina bilo kojeg pina na Arduino Uno će biti kompatibilan sa DOUT/CLK.
Ploča HX711 može se napajati od 2.7V do 5V tako da bi Arduino 5V napajanje trebalo biti u redu.
*/
#include “HX711.h” //Morate imati ovu biblioteku u vašoj arduino biblioteci
#define DOUT 3
#define CLK 2
HX711 skala (DOUT, CLK);
//Promijenite ovaj faktor kalibracije prema vašoj mjernoj ćeliji kada se pronađe, morate ga mijenjati u hiljadama
float calibration_factor = -96650; //-106600 je radio za moju postavku vage od max. 40 kg
//================================================= ==============================================
// SETUP
//================================================= ==============================================
void setup() {
Serial.begin(9600);
Serial.println(“Pritisnite T za taru”);
scale.set_scale(-239250); //Faktor kalibracije dobiven iz prve skice
scale.tare(); //Resetuj skalu na 0
}
//================================================= ==============================================
// LOOP
//================================================= ==============================================
void loop() {
Serial.print(“Težina: “);
Serial.print(scale.get_units(), 3); //Do 3 decimalne točke
Serial.println(”kg”); //Promijenite ovo u kg i ponovo podesite faktor kalibracije ako slijedite lbs
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //Resetuj skalu na nulu
}
}
//================================================= ==============================================
Nakon uspješnog učitavanja skice, otvorite Serial Monitor. Trebalo bi da se pojavi prozor ispod koji prikazuje stvarnu mjernu vrijednost:
Očitavanje možete resetovati na 0.000 kg (bez opterećenja) tako što ćete upisati “t” ili “T” u komandni prostor i pritisnuti dugme “Pošalji”. Ispod displeja koji prikazuje mjernu vrijednost postaje 0.000kg.
Stavite predmet na mjernu ćeliju, stvarna težina bi trebala biti prikazana. Ispod je prikaz težine kada postavite predmet od 191 grama (koristi se u 1. koraku za kalibraciju).
Ura! konstruisali ste vagu sa tačnošću od tri decimale!
Dokumenti / Resursi
![]() |
ARDUINO HX711 ADC modul senzora za vaganje [pdf] Korisnički priručnik HX711 senzori za vaganje ADC modul, HX711, senzori za vaganje ADC modul, senzori ADC modul, ADC modul, modul |