ARDUINO HX711 Pesi Sensiloj ADC Modulo UzantManlibro
Apliko Ekzample kun Arduino Uno:
Plejparto de Ŝarĝĉelo havas kvar dratojn: ruĝa, nigra, verda kaj blanka. Sur HX711-tabulo vi trovos E+/E-, A+/A- kaj B+/B-konektojn. Konektu ŝarĝĉelon al sensiltabulo HX711 laŭ la sekva tabelo:
HX711 Ŝarĝo Sensila Tabulo | Ŝarĝĉela drato |
E+ | Ruĝa |
E- | Nigra |
A+ | Verda |
A- | Blanka |
B- | Neuzata |
B+ | Neuzata |
HX711 Sensilo | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
HX711 Modulo funkcias ĉe 5V kaj komunikado estas farita per seriaj SDA kaj SCK-pingloj.
Kie apliki pezon sur ŝarĝĉelo?
Vi povas vidi ke sago estas montrita sur Ŝarĝo ĉelo. Ĉi tiu sago montras la direkton de forto sur la ŝarĝĉelo. Vi povas fari aranĝon montritan en la figuro uzante metalajn striojn. Aligu metalan strion sur la Ŝarĝĉelon per rigliloj.
Programado de Arduino UNO por Mezuri Pezon en KG:
Konektu la skemon kiel montrite en Figuro 1 supre.
Por ke ĉi tiu sensila modulo funkciu kun Arduino-tabuloj, ni bezonas HX711-Bibliotekon, kiu povas malŝarĝi de https://github.com/bogde/HX711.
Antaŭ ol HX711 povas esti uzata por mezuri objekton pezi precize, ĝi unue devas kalibri. La suba paŝo montros al vi kiel fari la kalibradon.
1 Paŝo: Kalibrado Skizo
Alŝutu la suban skizon al Arduino Uno Board
/* Handson Technology www.handsontec.com
* la 29-an de decembro 2017
* Ŝarĝu Ĉelo HX711 Modula Interfaco kun Arduino por mezuri pezon en Kgs
Arduino
pinglo
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Plej multaj pinglo sur la Arduino Uno estos kongrua kun DOUT/CLK.
La HX711-tabulo povas esti funkciigita de 2.7V ĝis 5V do la Arduino 5V-potenco estu bona.
*/
#include "HX711.h" //Vi devas havi ĉi tiun bibliotekon en via arduino-biblioteka dosierujo
#difini DOUT 3
#difini CLK 2
HX711-skalo (DOUT, CLK);
// Ŝanĝu ĉi tiun kalibran faktoron laŭ via ŝarĝĉelo post kiam ĝi estas trovita, ke vi multaj bezonas
variu ĝin en miloj
float calibration_factor = -96650; //-106600 funkciis por mia agordo de maksimuma skalo de 40Kg
//=================================================== =========================================
// AGORDI
//=================================================== =========================================
malplena agordo () {
Serial.begin(9600);
Serial.println ("HX711-Kalibrado");
Serial.println ("Forigi ĉiun pezon de pesilo");
Serial.println ("Post kiam la legado komenciĝas, metu konatan pezon sur pesilon");
Serial.println ("Premu a, s, d, f por pliigi kalibran faktoron je 10,100,1000,10000
respektive”);
Serial.println ("Premu z,x,c,v por malpliigi kalibran faktoron je 10,100,1000,10000
respektive”);
Serial.println ("Premu t por taro");
skalo.aro_skalo();
skalo.tare(); //Restarigi la skalon al 0
longa nul_faktoro = skalo.legu_averaĝe (); // Akiru bazan legadon
Serial.print ("Nul faktoro: "); //Ĉi tio povas esti uzata por forigi la bezonon tarigi la pesilon.
Utila en konstantaj skalaj projektoj.
Seria.println(nul_faktoro);
}
//=================================================== =========================================
// LOOP
//=================================================== =========================================
malplena buklo () {
skalo.aro_skalo(faktoro_kalibrado); //Alĝustigu al ĉi tiu kalibra faktoro
Serial.print ("Legado: ");
Serial.print(scale.get_units(), 3);
Serial.print ("kg"); // Ŝanĝu ĉi tion al kg kaj reĝustigu la kalibran faktoron se vi
sekvu SI-unuojn kiel prudenta homo
Serial.print(” kalibrado_faktoro: “);
Seria.print(faktoro_kalibrado);
Seria.println ();
se (Seria.disponebla ())
{
char temp = Serial.read ();
if(temp == '+' || temp == 'a')
kalibrado_faktoro += 10;
else if(temp == '-' || temp == 'z')
kalibrado_faktoro -= 10;
alie se (temp == 's')
kalibrado_faktoro += 100;
alie se (temp == 'x')
kalibrado_faktoro -= 100;
alie se (temp == 'd')
kalibrado_faktoro += 1000;
alie se (temp == 'c')
kalibrado_faktoro -= 1000;
alie se (temp == 'f')
kalibrado_faktoro += 10000;
alie se (temp == 'v')
kalibrado_faktoro -= 10000;
alie se (temp == 't')
skalo.tare(); //Restarigi la skalon al nulo
}
}
//=================================================== =======================================
Forigu ajnan ŝarĝon de la ŝarĝsensilo. Malfermu la Serian Monitoron. La suba fenestro devus malfermiĝi montrante, ke la modulo sukcese konektiĝis al Arduino Uno.
Metu konatan pezan objekton sur la ŝarĝĉelon. En ĉi tiu kazo la aŭtoro uzis konatan pezon de 191gramoj kun 10KG Ŝarĝĉelo. La Seria Monitoro montros iun pezciferon kiel montrite sube:
Ni devas fari kalibradon ĉi tie:
- Enigu la literon "a, s, d, f" en la komandspacon de seria monitoro kaj premu la butonon "Sendu" por pliigi kalibran faktoron je 10, 100, 1000, 10000 respektive.
- Enigu la literon "z, x, c, v" en la komandspacon de la seria monitoro kaj premu la butonon "Sendu" por malpliigi kalibran faktoron je 10, 100, 1000, 10000 respektive.
Daŭre ĝustigu ĝis la legado montros la realan pezon metita sur la ŝarĝĉelo. Notu la "calibration_factor" valoron, ĉi-kaze "-239250" en aŭtora pezo de 191g referenco kun 10KG Ŝarĝĉelo. Ni bezonos ĉi tiun valoron por konekti en nian duan skizon por reala mezurado.
2a Paŝo: Fina Kodo por Reala Pezo-Mezurado
Antaŭ alŝuti la skizon, ni devas enŝalti la "kalibradon-faktoron" akiritan en la unua paŝo:
Alŝutu la suban skizon al Arduino Uno Board, post modifi la skalfaktoron:
/* Handson Technology www.handsontec.com
* la 29-an de decembro 2017
* Ŝarĝu Ĉelo HX711 Modula Interfaco kun Arduino por mezuri pezon en Kgs
Arduino
pinglo
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Plej multaj pinglo sur la Arduino Uno estos kongrua kun DOUT/CLK.
La HX711-tabulo povas esti funkciigita de 2.7V ĝis 5V do la Arduino 5V-potenco estu bona.
*/
#include "HX711.h" //Vi devas havi ĉi tiun bibliotekon en via arduino-biblioteka dosierujo
#difini DOUT 3
#difini CLK 2
HX711-skalo (DOUT, CLK);
// Ŝanĝu ĉi tiun kalibran faktoron laŭ via ŝarĝĉelo post kiam ĝi estas trovita, vi multaj bezonas varii ĝin en miloj
float calibration_factor = -96650; //-106600 funkciis por mia agordo de maksimuma skalo de 40Kg
//=================================================== ==============================================
// AGORDI
//=================================================== ==============================================
malplena agordo () {
Serial.begin(9600);
Serial.println ("Premu T por tare");
scale.set_scale(-239250); //Kalibrado-Faktoro akirita de unua skizo
skalo.tare(); //Restarigi la skalon al 0
}
//=================================================== ==============================================
// LOOP
//=================================================== ==============================================
malplena buklo () {
Serial.print ("Pezo: ");
Serial.print(scale.get_units(), 3); //Ĝis 3 decimalaj punktoj
Serial.println ("kg"); // Ŝanĝu ĉi tion al kg kaj reĝustigu la kalibran faktoron se vi sekvas lbs
se (Seria.disponebla ())
{
char temp = Serial.read ();
if(temp == 't' || temp == 'T')
skalo.tare(); //Restarigi la skalon al nulo
}
}
//=================================================== ==============================================
Post sukcese alŝuti la skizon, malfermu Serian Monitoron. La suba fenestro devus aperi montrante la realan mezuran valoron:
Vi povas restarigi la legadon al 0.000 kg (sen ŝarĝo") per klavo "t" aŭ "T" en la komandan spacon kaj premu la butonon "Sendu". Sub ekrano montranta la mezuran valoron fariĝas 0.000 kg.
Metu objekton sur la ŝarĝĉelon, la reala pezo devus montriĝi. Malsupre estas la pezo-montro kiam metu la objekton de 191gramoj (uzata en la unua paŝo por kalibrado).
Hura! vi konstruis pesilon kun precizeco de tri dekuma punkto !
Dokumentoj/Rimedoj
![]() |
ARDUINO HX711 Pesi Sensiloj ADC-Modulo [pdf] Uzanto-manlibro HX711 Pesado-Sensiloj ADC-Modulo, HX711, Pesaj Sensiloj ADC-Modulo, Sensiloj ADC-Modulo, ADC-Modulo, Modulo |