ARDUINO HX711 tortish sensorlari ADC moduli foydalanuvchi qo'llanmasi
Ilova ExampArduino Uno bilan:
Ko'pgina yuk xujayrasi to'rtta simga ega: qizil, qora, yashil va oq. HX711 platasida siz E+/E-, A+/A- va B+/Bconnectionlarni topasiz. Quyidagi jadvalga muvofiq yuk xujayrasini HX711 sensor kartasiga ulang:
HX711 yuk sensori platasi | Hujayra simini yuklang |
E+ | Qizil |
E- | Qora |
A+ | Yashil |
A- | Oq |
B- | Ishlatilmagan |
B+ | Ishlatilmagan |
HX711 Sensor | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
HX711 moduli 5V da ishlaydi va aloqa ketma-ket SDA va SCK pinlari yordamida amalga oshiriladi.
Yuk xujayrasiga og'irlikni qayerda qo'llash kerak?
Yuklash katakchasida o'q ko'rsatilganligini ko'rishingiz mumkin. Ushbu o'q yuk xujayrasidagi kuch yo'nalishini ko'rsatadi. Metall chiziqlar yordamida rasmda ko'rsatilgan tartibni amalga oshirishingiz mumkin. Boltlar yordamida yuk xujayrasiga metall chiziqni ulang.
Arduino UNO-ni KGda vaznni o'lchash uchun dasturlash:
Yuqoridagi 1-rasmda ko'rsatilgandek sxemani ulang.
Ushbu sensor moduli Arduino platalari bilan ishlashi uchun bizga yuklashni pasaytiradigan HX711 kutubxonasi kerak. https://github.com/bogde/HX711.
HX711 ob'ektning og'irligini aniq o'lchash uchun ishlatilishidan oldin uni kalibrlash kerak. Quyidagi bosqich sizga kalibrlashni qanday qilish kerakligini ko'rsatib beradi.
1-qadam: kalibrlash eskizi
Quyidagi eskizni Arduino Uno Board-ga yuklang
/* Handson Technology www.handsontec.com
* 29 yil 2017 dekabr
* Kilogrammdagi vaznni o'lchash uchun HX711 moduli interfeysini Arduino bilan yuklang
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Arduino Uno-dagi har qanday pin DOUT/CLK bilan mos keladi.
HX711 platasi 2.7V dan 5V gacha quvvatlanishi mumkin, shuning uchun Arduino 5V quvvati yaxshi bo'lishi kerak.
*/
#include “HX711.h” //Bu kutubxona arduino kutubxonangiz papkasida boʻlishi kerak
#DOUT 3 ni aniqlang
#CLK 2 ni aniqlang
HX711 shkalasi (DOUT, CLK);
//Bu kalibrlash koeffitsientini yuk xujayrangizga ko'ra o'zgartiring, agar u sizga kerak bo'lsa
uni minglab o'zgartiring
float calibration_factor = -96650; //-106600 mening 40Kg maksimal o'lchovim uchun ishladi
//================================================ ========================================
// SOZLASH; O'RNATISH
//================================================ ========================================
bekor o'rnatish() {
Serial.begin(9600);
Serial.println (“HX711 kalibrlash”);
Serial.println("Tarozidan barcha vaznni olib tashlash");
Serial.println("O'qishlar boshlangandan so'ng, ma'lum vaznni taroziga qo'ying");
Serial.println(“Kalibrlash koeffitsientini 10,100,1000,10000 ga oshirish uchun a,s,d,f tugmalarini bosing.
mos ravishda");
Serial.println(“Kalibrlash koeffitsientini 10,100,1000,10000 ga kamaytirish uchun z,x,c,v tugmalarini bosing.
mos ravishda");
Serial.println("Tara uchun t-ni bosing");
scale.set_scale();
scale.tare(); // Masshtabni 0 ga qaytaring
long zero_factor = scale.read_average(); // Asosiy o'qishni oling
Serial.print(“Nol faktor:”); //Bu masshtabni tortish zaruratini olib tashlash uchun ishlatilishi mumkin.
Doimiy miqyosdagi loyihalarda foydali.
Serial.println(nol_faktor);
}
//================================================ ========================================
// LOOP
//================================================ ========================================
void loop() {
scale.set_scale(calibration_factor); //Bu kalibrlash koeffitsientiga sozlang
Serial.print("O'qish: ");
Serial.print(scale.get_units(), 3);
Serial.print(”kg”); //Buni kg ga o'zgartiring va agar xohlasangiz, kalibrlash koeffitsientini qayta sozlang
SI birliklariga aqli raso odam kabi amal qiling
Serial.print("calibration_factor: ");
Serial.print(kalibrlash_faktori);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
kalibrlash_faktori += 10;
else if(temp == '-' || temp == 'z')
kalibrlash_faktori -= 10;
Aks holda, agar (temp == 's')
kalibrlash_faktori += 100;
boshqa agar (temp == 'x')
kalibrlash_faktori -= 100;
boshqa agar (temp == 'd')
kalibrlash_faktori += 1000;
boshqa agar (temp == 'c')
kalibrlash_faktori -= 1000;
boshqa agar (temp == 'f')
kalibrlash_faktori += 10000;
boshqa agar (temp == 'v')
kalibrlash_faktori -= 10000;
boshqa agar (temp == 't')
scale.tare(); //Mashtabni nolga qaytaring
}
}
//================================================ =======================================
Yuk sensoridan har qanday yukni olib tashlang. Serial monitorni oching. Quyida modul Arduino Uno-ga muvaffaqiyatli ulanganligini ko'rsatadigan oyna ochilishi kerak.
Ma'lum vaznli ob'ektni yuk xujayrasiga joylashtiring. Bu holda muallif 191KG yuk xujayrasi bilan 10 grammlik ma'lum vazndan foydalangan. Serial monitor quyida ko'rsatilganidek, ba'zi tortish ko'rsatkichlarini ko'rsatadi:
Bu erda kalibrlashni amalga oshirishimiz kerak:
- Monitorning seriyali buyruqlar maydoniga “a, s, d, f” harflarini kiriting va kalibrlash koeffitsientini mos ravishda 10, 100, 1000, 10000 ga oshirish uchun “Yuborish” tugmasini bosing.
- Monitorning seriyali buyruqlar maydoniga “z, x, c, v” harflarini kiriting va kalibrlash koeffitsientini mos ravishda 10, 100, 1000, 10000 ga kamaytirish uchun “Yuborish” tugmasini bosing.
O'qish yuk xujayrasiga qo'yilgan haqiqiy og'irlikni ko'rsatmaguncha sozlashni davom eting. “Kalibrlash_faktori” qiymatini yozib oling, bu holda “-239250” muallifning vazni 191 g bo'lgan 10KG yuk xujayrasi bilan mos yozuvlar. Haqiqiy o'lchov uchun ikkinchi eskizimizga ulash uchun bizga bu qiymat kerak bo'ladi.
2-qadam: Haqiqiy vaznni o'lchash uchun yakuniy kod
Eskizni yuklashdan oldin biz 1-bosqichda olingan "kalibrlash koeffitsientini" ulashimiz kerak:
O'lchov omilini o'zgartirgandan so'ng, quyidagi eskizni Arduino Uno Board-ga yuklang:
/* Handson Technology www.handsontec.com
* 29 yil 2017 dekabr
* Kilogrammdagi vaznni o'lchash uchun HX711 moduli interfeysini Arduino bilan yuklang
Arduino
pin
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Arduino Uno-dagi har qanday pin DOUT/CLK bilan mos keladi.
HX711 platasi 2.7V dan 5V gacha quvvatlanishi mumkin, shuning uchun Arduino 5V quvvati yaxshi bo'lishi kerak.
*/
#include “HX711.h” //Bu kutubxona arduino kutubxonangiz papkasida boʻlishi kerak
#DOUT 3 ni aniqlang
#CLK 2 ni aniqlang
HX711 shkalasi (DOUT, CLK);
//Bu kalibrlash koeffitsientini yuk xujayrangizga ko'ra o'zgartiring, agar topilgan bo'lsa, siz uni minglab o'zgartirishingiz kerak.
float calibration_factor = -96650; //-106600 mening 40Kg maksimal o'lchovim uchun ishladi
//================================================ =============================================
// SOZLASH; O'RNATISH
//================================================ =============================================
bekor o'rnatish() {
Serial.begin(9600);
Serial.println (“Transirovka qilish uchun T ni bosing”);
scale.set_scale(-239250); //Birinchi eskizdan olingan kalibrlash koeffitsienti
scale.tare(); // Masshtabni 0 ga qaytaring
}
//================================================ =============================================
// LOOP
//================================================ =============================================
void loop() {
Serial.print("Og'irligi: ");
Serial.print(scale.get_units(), 3); //3 kasrgacha
Serial.println("kg"); //Buni kg ga o'zgartiring va agar siz funt sterlingga amal qilsangiz, kalibrlash koeffitsientini qayta sozlang
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //Mashtabni nolga qaytaring
}
}
//================================================ =============================================
Eskizni muvaffaqiyatli yuklaganingizdan so'ng, Serial Monitorni oching. Haqiqiy o'lchov qiymatini ko'rsatadigan quyidagi oyna paydo bo'lishi kerak:
Buyruqlar maydoniga “t” yoki “T” harflarini kiritish orqali o‘qishni 0.000 kg (yuksiz”) ga o‘rnatishingiz va “Yuborish” tugmasini bosishingiz mumkin. O'lchov qiymatini ko'rsatadigan displey ostida 0.000 kg bo'ladi.
Ob'ektni yuk xujayrasiga joylashtiring, haqiqiy og'irlik ko'rsatilishi kerak. Quyida 191 grammlik ob'ektni qo'yganda og'irlik ko'rsatkichi ko'rsatilgan (kalibrlash uchun 1-bosqichda ishlatiladi).
Xayr! siz uchta kasr aniqligi bilan tortish tarozisini yaratdingiz!
Hujjatlar / manbalar
![]() |
ARDUINO HX711 tortish datchiklari ADC moduli [pdf] Foydalanuvchi qo‘llanmasi HX711 tortish datchiklari ADC moduli, HX711, tortish sensorlari ADC moduli, sensorlar ADC moduli, ADC moduli, modul |