ARDUINO HX711 vážiace senzory ADC modul Užívateľská príručka
Aplikácia naprample s Arduino Uno:
Väčšina snímačov zaťaženia má štyri vodiče: červený, čierny, zelený a biely. Na doske HX711 nájdete pripojenia E+/E-, A+/A- a B+/B. Pripojte snímač zaťaženia k doske snímača HX711 podľa nasledujúcej tabuľky:
Doska snímača zaťaženia HX711 | Drôt snímača zaťaženia |
E+ | Červená |
E- | Čierna |
A+ | Zelená |
A- | Biela |
B- | Nepoužité |
B+ | Nepoužité |
Senzor HX711 | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
Modul HX711 pracuje pri 5V a komunikácia prebieha pomocou sériových SDA a SCK pinov.
Kde aplikovať váhu na snímač zaťaženia?
Môžete vidieť šípku zobrazenú na bunke zaťaženia. Táto šípka ukazuje smer sily na silomer. Usporiadanie znázornené na obrázku môžete urobiť pomocou kovových pásikov. Pripevnite kovový pás na snímač zaťaženia pomocou skrutiek.
Programovanie Arduino UNO na meranie hmotnosti v kg:
Pripojte schému, ako je znázornené na obrázku 1 vyššie.
Aby tento senzorový modul fungoval s doskami Arduino, potrebujeme knižnicu HX711, ktorú je možné stiahnuť z https://github.com/bogde/HX711.
Pred použitím HX711 na presné odváženie objektu je potrebné ho najprv kalibrovať. Nižšie uvedený krok vám ukáže, ako vykonať kalibráciu.
1 Krok: Kalibračný náčrt
Nahrajte nižšie uvedený náčrt na dosku Arduino Uno
/* Technológia Handson www.handsontec.com
* 29. decembra 2017
* Rozhranie modulu Load Cell HX711 s Arduino na meranie hmotnosti v kg
Arduino
špendlík
2 -> HX711 CLK
3 -> DUT
5V -> VCC
GND -> GND
Väčšina pinov na Arduino Uno bude kompatibilná s DOUT/CLK.
Doska HX711 môže byť napájaná od 2.7V do 5V, takže napájanie Arduina 5V by malo byť v poriadku.
*/
#include “HX711.h” //Túto knižnicu musíte mať v priečinku knižnice arduino
#define DOUT 3
#define CLK 2
Mierka HX711(DOUT, CLK);
//Zmeňte tento kalibračný faktor podľa vášho snímača zaťaženia, keď zistíte, že to mnohí potrebujete
meniť to v tisícoch
float calibration_factor = -96650; //-106600 fungovalo pre moje nastavenie maximálnej váhy 40 kg
//================================================= =========================================
// NASTAVIŤ
//================================================= =========================================
void setup() {
Serial.begin(9600);
Serial.println(“Kalibrácia HX711”);
Serial.println(“Odstráň všetku váhu z váhy”);
Serial.println(“Po začatí odčítania položte na váhu známu hmotnosť”);
Serial.println(“Stlačením a,s,d,f zvýšite kalibračný faktor o 10,100,1000,10000 XNUMX XNUMX XNUMX XNUMX
v uvedenom poradí“);
Serial.println(“Stlačením z,x,c,v znížite kalibračný faktor o 10,100,1000,10000 XNUMX XNUMX XNUMX XNUMX
v uvedenom poradí“);
Serial.println(“Pre tarovanie stlačte t”);
scale.set_scale();
mierka.tara(); //Obnovte mierku na 0
long zero_factor = scale.read_average(); //Získajte základnú hodnotu
Serial.print(“Nulový faktor: “); //Toto sa dá použiť na odstránenie potreby tarovania váhy.
Užitočné pri projektoch trvalého rozsahu.
Serial.println(nulový_faktor);
}
//================================================= =========================================
// LOOP
//================================================= =========================================
void loop() {
scale.set_scale(kalibračný_faktor); //Upravte tento kalibračný faktor
Serial.print(“Čítanie: “);
Serial.print(scale.get_units(), 3);
Serial.print(”kg”); //Zmeňte to na kg a znova upravte kalibračný faktor, ak chcete
postupujte podľa jednotiek SI ako zdravý človek
Serial.print(” kalibračný_faktor: “);
Serial.print(kalibračný_faktor);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
kalibračný_faktor += 10;
else if(temp == '-' || temp == 'z')
kalibračný_faktor -= 10;
else if(temp == 's')
kalibračný_faktor += 100;
else if(temp == 'x')
kalibračný_faktor -= 100;
else if(temp == 'd')
kalibračný_faktor += 1000;
else if(temp == 'c')
kalibračný_faktor -= 1000;
else if(temp == 'f')
kalibračný_faktor += 10000;
else if(temp == 'v')
kalibračný_faktor -= 10000;
else if(temp == 't')
mierka.tara(); //Nastavte mierku na nulu
}
}
//================================================== ========================================
Odstráňte akúkoľvek záťaž zo snímača zaťaženia. Otvorte sériový monitor. Nižšie uvedené okno by sa malo otvoriť a ukázať, že modul sa úspešne pripojil k Arduino Uno.
Umiestnite predmet so známou hmotnosťou na snímač zaťaženia. V tomto prípade autor použil známu hmotnosť 191 gramov s 10 kg zaťažením. Sériový monitor zobrazí niektoré údaje o hmotnosti, ako je uvedené nižšie:
Tu musíme vykonať kalibráciu:
- Zadajte písmeno „a, s, d, f“ do príkazového priestoru sériového monitora a stlačte tlačidlo „Odoslať“, aby ste zvýšili kalibračný faktor o 10, 100, 1000 10000, XNUMX XNUMX v tomto poradí.
- Do príkazového priestoru sériového monitora zadajte písmeno „z, x, c, v“ a stlačte tlačidlo „Odoslať“, čím znížite kalibračný faktor o 10, 100, 1000, 10000.
Pokračujte v nastavovaní, kým údaj neukáže skutočnú hmotnosť umiestnenú na snímači zaťaženia. Zaznamenajte si hodnotu „calibration_factor“, v tomto prípade „-239250“ do autorovej hmotnosti 191 g s 10 kg silomerom. Túto hodnotu budeme potrebovať na zapojenie do nášho druhého náčrtu pre skutočné meranie.
2. krok: Konečný kód pre meranie skutočnej hmotnosti
Pred nahraním náčrtu musíme pripojiť „kalibračný faktor“ získaný v 1. kroku:
Nahrajte nižšie uvedený náčrt na dosku Arduino Uno po úprave mierky:
/* Technológia Handson www.handsontec.com
* 29. decembra 2017
* Rozhranie modulu Load Cell HX711 s Arduino na meranie hmotnosti v kg
Arduino
špendlík
2 -> HX711 CLK
3 -> DUT
5V -> VCC
GND -> GND
Väčšina pinov na Arduino Uno bude kompatibilná s DOUT/CLK.
Doska HX711 môže byť napájaná od 2.7V do 5V, takže napájanie Arduina 5V by malo byť v poriadku.
*/
#include “HX711.h” //Túto knižnicu musíte mať v priečinku knižnice arduino
#define DOUT 3
#define CLK 2
Mierka HX711(DOUT, CLK);
//Zmeňte tento kalibračný faktor podľa vášho snímača zaťaženia, keď ho nájdete, mnohí ho musíte meniť v tisícoch
float calibration_factor = -96650; //-106600 fungovalo pre moje nastavenie maximálnej váhy 40 kg
//================================================== ===============================================
// NASTAVIŤ
//================================================== ===============================================
void setup() {
Serial.begin(9600);
Serial.println(“Tarujte stlačením T”);
scale.set_scale(-239250); //Kalibračný faktor získaný z prvého náčrtu
mierka.tara(); //Obnovte mierku na 0
}
//================================================== ===============================================
// LOOP
//================================================== ===============================================
void loop() {
Serial.print(“Hmotnosť: “);
Serial.print(scale.get_units(), 3); //Až 3 desatinné miesta
Serial.println(”kg”); //Zmeňte to na kg a znova upravte kalibračný faktor, ak dodržíte lbs
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
mierka.tara(); //Nastavte mierku na nulu
}
}
//================================================== ===============================================
Po úspešnom odovzdaní náčrtu otvorte Serial Monitor. Nižšie uvedené okno by malo zobraziť skutočnú hodnotu merania:
Údaj môžete resetovať na 0.000 kg (bez zaťaženia) zadaním „t“ alebo „T“ do príkazového priestoru a stlačením tlačidla „Odoslať“. Pod displejom, ktorý zobrazuje nameranú hodnotu 0.000 kg.
Umiestnite predmet na snímač zaťaženia, mala by sa zobraziť skutočná hmotnosť. Nižšie je zobrazenie hmotnosti pri umiestnení predmetu 191 gramov (použité v 1. kroku na kalibráciu).
Hurá! zostrojili ste váhu s presnosťou na tri desatinné miesta!
Dokumenty / zdroje
![]() |
ARDUINO HX711 vážiace senzory ADC modul [pdfPoužívateľská príručka Vážiace senzory HX711 Modul ADC, HX711, Vážiace senzory Modul ADC, Senzory Modul ADC, Modul ADC, Modul |