ARDUINO HX711 အလေးချိန်အာရုံခံကိရိယာများ ADC Module အသုံးပြုသူလက်စွဲ
လျှောက်လွှာထွample Arduino Uno နှင့်
Load cell အများစုတွင် အနီရောင်၊ အနက်ရောင်၊ အစိမ်းနှင့် အဖြူရောင် ကြိုးလေးခုရှိသည်။ HX711 ဘုတ်ပေါ်တွင် E+/E-၊ A+/A- နှင့် B+/Bconnections ကိုတွေ့လိမ့်မည်။ အောက်ပါဇယားအတိုင်း ဝန်ဆဲလ်ကို HX711 အာရုံခံဘုတ်အဖွဲ့သို့ ချိတ်ဆက်ပါ-
HX711 Load Sensor Board | ဆဲလ်ဝိုင်ယာကို တင်ပါ။ |
E+ | အနီရောင် |
E- | အနက်ရောင် |
A+ | အစိမ်းရောင် |
A- | အဖြူ |
B- | အသုံးမပြုသော |
B+ | အသုံးမပြုသော |
HX711 အာရုံခံကိရိယာ | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
HX711 Module သည် 5V တွင်လည်ပတ်ပြီး serial SDA နှင့် SCK pins များကို အသုံးပြု၍ ဆက်သွယ်မှုကို လုပ်ဆောင်ပါသည်။
load cell တွင် အလေးချိန်ကို မည်သည့်နေရာတွင် အသုံးချရမည်နည်း။
Load cell တွင် မြှားပြထားသည်ကို တွေ့နိုင်သည်။ ဤမြှားသည် load cell ပေါ်ရှိ force ၏ ဦးတည်ချက်ကို ပြသည်။ သတ္တုပြားများကို အသုံးပြု၍ ပုံတွင်ပြထားသည့် အစီအစဉ်ကို သင်ပြုလုပ်နိုင်သည်။ ဘောများကိုအသုံးပြု၍ Load cell တွင် သတ္တုအမြှေးပါးကို ချိတ်ပါ။
အလေးချိန် KG တိုင်းတာရန် Arduino UNO ပရိုဂရမ်ရေးဆွဲခြင်း။
အပေါ်ကပုံ 1 မှာပြထားတဲ့အတိုင်း schematic ကိုချိတ်ဆက်ပါ။
ဤအာရုံခံကိရိယာ module သည် Arduino ဘုတ်များနှင့်အလုပ်လုပ်ရန်အတွက်၊ ကျွန်ုပ်တို့သည် load မှဒေါင်းလုဒ်လုပ်နိုင်သော HX711 Library လိုအပ်ပါသည်။ https://github.com/bogde/HX711.
အရာဝတ္ထုတစ်ခု၏အလေးချိန်ကို တိကျစွာတိုင်းတာရန် HX711 ကို အသုံးမပြုမီ၊ ၎င်းကို ဦးစွာ ချိန်ညှိရန် လိုအပ်သည်။ အောက်ဖော်ပြပါအဆင့်သည် သင့်အား ချိန်ညှိခြင်းပြုလုပ်နည်းကို ပြသပါမည်။
1 အဆင့်- Calibration ပုံကြမ်း
အောက်ဖော်ပြပါ ပုံကြမ်းကို Arduino Uno Board သို့ အပ်လုဒ်လုပ်ပါ။
/* Handson နည်းပညာ www.handsontec.com
* 29 ဒီဇင်ဘာ 2017
* အလေးချိန် Kgs ဖြင့်တိုင်းတာရန် Arduino ဖြင့် Cell HX711 Module Interface ကိုတင်ပါ။
ချိတ်ထားတဲ့
pin
2 -> HX711 CLK
3 --> DOUT
5V --> VCC
GND -> GND
Arduino Uno ရှိ ပင်နံပါတ်အများစုသည် DOUT/CLK နှင့် တွဲဖက်အသုံးပြုနိုင်မည်ဖြစ်သည်။
HX711 ဘုတ်အား 2.7V မှ 5V အထိ ပါဝါပေးနိုင်သောကြောင့် Arduino 5V ပါဝါ ကောင်းမွန်သင့်သည်။
*/
#include “HX711.h” // သင့် arduino စာကြည့်တိုက်ဖိုင်တွဲတွင် ဤစာကြည့်တိုက်ရှိရပါမည်။
# DOUT 3 ကိုသတ်မှတ်ပါ။
#CLK 2 ကိုသတ်မှတ်ပါ။
HX711 စကေး(DOUT၊ CLK);
// လိုအပ်တာတွေ အများကြီးတွေ့ပြီးတာနဲ့ ဒီ calibration factor ကို ပြောင်းလဲလိုက်ပါ။
ထောင်ပေါင်းများစွာ ကွဲပြားသည်။
float calibration_factor = -96650; //-106600 သည် ကျွန်ုပ်၏ 40Kg အမြင့်ဆုံးစကေးသတ်မှတ်မှုအတွက် လုပ်ဆောင်ခဲ့သည်။
//================================================ =======================================
// တည်ဆောက်သည်
//================================================ =======================================
ပျက်ပြယ်သော setup() {
Serial.begin(9600);
Serial.println(“HX711 Calibration”);
Serial.println(“စကေးမှ အလေးချိန်အားလုံးကို ဖယ်ရှားပါ”);
Serial.println(“စတင်ဖတ်ရှုပြီးနောက်၊ သိရှိထားသောအလေးချိန်ကို စကေးပေါ်တွင်တင်ပါ”);
Serial.println(“10,100,1000,10000 ဖြင့် ချိန်ညှိမှုအချက်ကို တိုးမြှင့်ရန် a,s,d,f ကိုနှိပ်ပါ
အသီးသီး");
Serial.println(“z,x,c,v ကိုနှိပ်ပြီး ချိန်ညှိမှုအချက်ကို 10,100,1000,10000 ဖြင့် လျှော့ချရန်
အသီးသီး");
Serial.println(“စပါးပင်အတွက် နှိပ်ပါ”);
scale.set_scale();
scale.tare(); //စကေးကို 0 သို့ ပြန်လည်သတ်မှတ်ပါ။
zero_factor = scale.read_average(); // အခြေခံစာဖတ်ခြင်းကို ရယူပါ။
Serial.print(“သုညအချက်- “); // အတိုင်းအတာကို ထိန်းညှိရန် လိုအပ်မှုကို ဖယ်ရှားရန် ၎င်းကို အသုံးပြုနိုင်သည်။
အမြဲတမ်း အတိုင်းအတာ ပရောဂျက်များတွင် အသုံးဝင်သည်။
Serial.println(zero_factor);
}
//================================================ =======================================
// LOOP
//================================================ =======================================
void loop() {
scale.set_scale(calibration_factor); // ဤစံကိုက်ညှိအချက်ကို ချိန်ညှိပါ။
Serial.print(“Reading:”);
Serial.print(scale.get_units(), 3);
Serial.print("kg"); // ၎င်းကို ကီလိုဂရမ်သို့ပြောင်းပြီး သင်ရှိပါက ချိန်ညှိမှုအချက်ကို ပြန်လည်ချိန်ညှိပါ။
လိမ္မာသောသူကဲ့သို့ SI ယူနစ်များကို လိုက်နာပါ။
Serial.print("calibration_factor-");
Serial.print(calibration_factor);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
calibration_factor += 10;
အခြား if(temp == '-' || temp == 'z')
calibration_factor -= 10;
အခြား if(temp == 's')
calibration_factor += 100;
တခြား if(temp == 'x')
calibration_factor -= 100;
တခြား if(temp == 'd')
calibration_factor += 1000;
အခြား if(temp == 'c')
calibration_factor -= 1000;
တခြား if(temp == 'f')
calibration_factor += 10000;
အခြား if(temp == 'v')
calibration_factor -= 10000;
တခြား if(temp == 't')
scale.tare(); //စကေးကို သုညသို့ ပြန်လည်သတ်မှတ်ပါ။
}
}
//================================================ ======================================
load sensor မှ မည်သည့်ဝန်ကိုမဆို ဖယ်ရှားပါ။ Serial Monitor ကိုဖွင့်ပါ။ မော်ဂျူးသည် Arduino Uno နှင့် အောင်မြင်စွာ ချိတ်ဆက်ထားသည်ကို ပြသသော အောက်ပါဝင်းဒိုးကို ဖွင့်ရပါမည်။
ဝန်ဆဲလ်ပေါ်တွင် လူသိများသော အလေးချိန်အရာဝတ္ထုကို ထားရှိပါ။ ဤကိစ္စတွင် စာရေးသူသည် 191KG Load Cell ဖြင့် လူသိများသော အလေးချိန် ၁၉၁ ဂရမ်ကို အသုံးပြုခဲ့သည်။ Serial Monitor သည် အောက်တွင်ဖော်ပြထားသည့်အတိုင်း အလေးချိန်ပုံအချို့ကို ပြသပေးမည်ဖြစ်ပါသည်။
ဤနေရာတွင် ချိန်ညှိရန် လိုအပ်သည်-
- အက္ခရာ ” a, s, d, f” ဟူသော အမှတ်စဉ် မော်နီတာ အမိန့်ပေးနေရာ အတွင်းသို့ သော့ခတ်ပြီး 10၊ 100၊ 1000၊ 10000 အသီးသီး စံကိုက်ညှိကိန်းကို တိုးလာစေရန် “Send” ခလုတ်ကို နှိပ်ပါ။
- အက္ခရာ ” z ၊ x ၊ c ၊ v ” ကို အမှတ်စဉ် မော်နီတာ အမိန့်ပေးနေရာ အတွင်းသို့ သော့ခတ်ပြီး 10၊ 100၊ 1000၊ 10000 အသီးသီး ချိန်ညှိမှု ကိန်းဂဏန်းကို လျှော့ချရန် “Send” ခလုတ်ကို နှိပ်ပါ။
ဝန်ဆဲလ်ပေါ်တွင်တင်ထားသော အမှန်တကယ်အလေးချိန်ကို ဖတ်ရှုပြီးသည်အထိ ချိန်ညှိပါ။ ဤအခြေအနေတွင် စာရေးသူ၏အလေးချိန် 239250g ရည်ညွှန်းချက်တွင် “calibration_factor” တန်ဖိုးကို “-191” တွင် 10KG Load Cell ဖြင့် မှတ်တမ်းတင်ပါ။ စစ်မှန်သောတိုင်းတာမှုအတွက် ကျွန်ုပ်တို့၏ဒုတိယပုံကြမ်းတွင် ထည့်သွင်းရန် ဤတန်ဖိုးကို ကျွန်ုပ်တို့ လိုအပ်ပါမည်။
ဒုတိယအဆင့်- အစစ်အမှန်အလေးချိန်တိုင်းတာခြင်းအတွက် နောက်ဆုံးကုဒ်
ပုံကြမ်းကို အပ်လုဒ်မလုပ်မီ၊ ပထမအဆင့်တွင်ရရှိသော "စံကိုက်ညှိခြင်းအချက်" ကို ပလပ်ထိုးရန် လိုအပ်သည်-
စကေးအချက်ကို ပြုပြင်ပြီးနောက် အောက်ဖော်ပြပါ ပုံကြမ်းကို Arduino Uno Board သို့ အပ်လုဒ်လုပ်ပါ။
/* Handson နည်းပညာ www.handsontec.com
* 29 ဒီဇင်ဘာ 2017
* အလေးချိန် Kgs ဖြင့်တိုင်းတာရန် Arduino ဖြင့် Cell HX711 Module Interface ကိုတင်ပါ။
ချိတ်ထားတဲ့
pin
2 -> HX711 CLK
3 --> DOUT
5V --> VCC
GND -> GND
Arduino Uno ရှိ ပင်နံပါတ်အများစုသည် DOUT/CLK နှင့် တွဲဖက်အသုံးပြုနိုင်မည်ဖြစ်သည်။
HX711 ဘုတ်အား 2.7V မှ 5V အထိ ပါဝါပေးနိုင်သောကြောင့် Arduino 5V ပါဝါ ကောင်းမွန်သင့်သည်။
*/
#include “HX711.h” // သင့် arduino စာကြည့်တိုက်ဖိုင်တွဲတွင် ဤစာကြည့်တိုက်ရှိရပါမည်။
# DOUT 3 ကိုသတ်မှတ်ပါ။
#CLK 2 ကိုသတ်မှတ်ပါ။
HX711 စကေး(DOUT၊ CLK);
// သင့် load cell အလိုက် ဤ calibration factor ကို ပြောင်းလဲရန် သင်တွေ့ရှိပါက ထောင်ပေါင်းများစွာ ကွဲပြားရန် လိုအပ်ပါသည်။
float calibration_factor = -96650; //-106600 သည် ကျွန်ုပ်၏ 40Kg အမြင့်ဆုံးစကေးသတ်မှတ်မှုအတွက် လုပ်ဆောင်ခဲ့သည်။
//================================================ =============================================
// တည်ဆောက်သည်
//================================================ =============================================
ပျက်ပြယ်သော setup() {
Serial.begin(9600);
Serial.println(“T ကိုနှိပ်ရန် tare”);
scale.set_scale(-239250); // ပထမပုံကြမ်းမှရရှိသော Calibration Factor
scale.tare(); //စကေးကို 0 သို့ ပြန်လည်သတ်မှတ်ပါ။
}
//================================================ =============================================
// LOOP
//================================================ =============================================
void loop() {
Serial.print(“အလေးချိန်- “);
Serial.print(scale.get_units(), 3); // ဒဿမ ၃ မှတ်အထိ
Serial.println(“kg”); // ၎င်းကို ကီလိုအဖြစ်ပြောင်းပြီး lbs ကိုလိုက်နာပါက ချိန်ညှိမှုအချက်ကို ပြန်လည်ချိန်ညှိပါ။
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //စကေးကို သုညသို့ ပြန်လည်သတ်မှတ်ပါ။
}
}
//================================================ =============================================
ပုံကြမ်းကို အောင်မြင်စွာ အပ်လုဒ်လုပ်ပြီးနောက်၊ Serial Monitor ကိုဖွင့်ပါ။ အောက်ဖော်ပြပါ ဝင်းဒိုးသည် အစစ်အမှန် တိုင်းတာမှုတန်ဖိုးကို ပြသသည်-
command space ထဲသို့ key-in “t” သို့မဟုတ် “T” ဖြင့် ဖတ်ရှုခြင်းအား 0.000kg (ဝန်မရှိ) သို့ ပြန်လည်သတ်မှတ်နိုင်ပြီး “ပို့ရန်” ခလုတ်ကို နှိပ်ပါ။ အောက်တွင်ဖော်ပြထားသော အတိုင်းအတာတန်ဖိုးသည် 0.000kg ဖြစ်လာသည်။
အရာဝတ္ထုတစ်ခုအား load cell ပေါ်တင်ပါ၊ အမှန်တကယ်အလေးချိန်ကိုပြသသင့်သည်။ အောက်တွင် 191 ဂရမ်ရှိသော အရာဝတ္တုကို နေရာချသည့်အခါ အလေးချိန်ပြသမှု (ပထမအဆင့်တွင် အသုံးပြုသည်)။
ဟူး! ဒဿမအချက်သုံးချက် တိကျမှန်ကန်သော အလေးချိန်စကေးတစ်ခုကို သင်တည်ဆောက်ခဲ့သည်။
စာရွက်စာတမ်းများ / အရင်းအမြစ်များ
![]() |
ARDUINO HX711 အလေးချိန်အာရုံခံကိရိယာ ADC မော်ဂျူး [pdf] အသုံးပြုသူလက်စွဲ HX711 အလေးချိန်အာရုံခံကိရိယာများ ADC မော်ဂျူး၊ HX711၊ အလေးချိန်အာရုံခံကိရိယာများ ADC မော်ဂျူး၊ အာရုံခံကိရိယာများ ADC မော်ဂျူး၊ ADC မော်ဂျူး၊ မော်ဂျူး |