ARDUINO HX711 බර කිරන සංවේදක ADC මොඩියුල පරිශීලක අත්පොත
අයදුම්පත ExampArduino Uno සමඟ le:
බොහෝ ලෝඩ් සෛල වයර් හතරක් ඇත: රතු, කළු, කොළ සහ සුදු. HX711 පුවරුවේ ඔබට E+/E-, A+/A- සහ B+/Bසම්බන්ධතා හමුවනු ඇත. පහත වගුවට අනුව පැටවුම් කොටුව HX711 සංවේදක පුවරුවට සම්බන්ධ කරන්න:
HX711 Load Sensor Board | සෛල වයර් පූරණය කරන්න |
E+ | රතු |
E- | කළු |
A+ | කොළ පාටයි |
A- | සුදු |
B- | භාවිතයට නොගත් |
B+ | භාවිතයට නොගත් |
HX711 සංවේදකය | Arduino Uno |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
HX711 මොඩියුලය 5V හි ක්රියාත්මක වන අතර සන්නිවේදනය අනුක්රමික SDA සහ SCK පින් භාවිතයෙන් සිදු කෙරේ.
ලෝඩ් කෝෂය මත බර යෙදිය යුත්තේ කොතැනින්ද?
ලෝඩ් කොටුවේ ඊතලයක් පෙන්වනු ඔබට දැක ගත හැක. මෙම ඊතලය පැටවුම් කොටුවේ බලයේ දිශාව පෙන්වයි. ඔබට ලෝහ තීරු භාවිතයෙන් රූපයේ පෙන්වා ඇති සැකැස්ම කළ හැකිය. බෝල්ට් භාවිතයෙන් ලෝඩ් කෝෂයට ලෝහ තීරුව අමුණන්න.
KG වලින් බර මැනීමට Arduino UNO ක්රමලේඛනය කිරීම:
ඉහත රූප සටහන 1 හි පෙන්වා ඇති පරිදි ක්රමානුකුලව සම්බන්ධ කරන්න.
මෙම සංවේදක මොඩියුලය Arduino පුවරු සමඟ ක්රියා කිරීම සඳහා, අපට HX711 පුස්තකාලය අවශ්ය වන අතර එය බාගත කළ හැකිය. https://github.com/bogde/HX711.
වස්තුවක බර නිවැරදිව මැනීමට HX711 භාවිතා කිරීමට පෙර, එය ප්රථමයෙන් ක්රමාංකනය කළ යුතුය. පහත පියවර මඟින් ක්රමාංකනය කරන්නේ කෙසේදැයි පෙන්වනු ඇත.
1 පියවර: ක්රමාංකන සටහන
පහත සටහන Arduino Uno Board වෙත උඩුගත කරන්න
/* Handson Technology www.handsontec.com
* 29 දෙසැම්බර් 2017
* බර කි.ග්රෑම් වලින් මැනීමට සෛල HX711 මොඩියුල අතුරුමුහුණත Arduino සමඟ පූරණය කරන්න
Arduino
පින්
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Arduino Uno හි ඇති ඕනෑම පින් එකක් DOUT/CLK සමඟ අනුකූල වේ.
HX711 පුවරුව 2.7V සිට 5V දක්වා බලගැන්විය හැකි නිසා Arduino 5V බලය හොඳ විය යුතුය.
*/
"HX711.h" ඇතුලත් කරන්න //ඔබගේ arduino පුස්තකාල ෆෝල්ඩරයේ මෙම පුස්තකාලය තිබිය යුතුය
#DOUT 3 නිර්වචනය කරන්න
#CLK 2 නිර්වචනය කරන්න
HX711 පරිමාණය (DOUT, CLK);
//ඔබට බොහෝ දෙනෙකුට අවශ්ය බව සොයාගත් පසු ඔබේ පැටවුම් කොටුවට අනුව මෙම ක්රමාංකන සාධකය වෙනස් කරන්න
එය දහස් ගණනින් වෙනස් කරන්න
float calibration_factor = -96650; //-106600 මගේ 40Kg උපරිම පරිමාණයේ සැකසුම සඳහා වැඩ කළා
//==================================================== ===========================================
// සැලසුම
//==================================================== ===========================================
හිස් සැකසුම () {
Serial.begin(9600);
Serial.println("HX711 ක්රමාංකනය");
Serial.println ("පරිමාණයෙන් සියලුම බර ඉවත් කරන්න");
Serial.println ("කියවීම ආරම්භ වූ පසු, දන්නා බර පරිමාණය මත තබන්න");
Serial.println(“ක්රමාංකන සාධකය 10,100,1000,10000 කින් වැඩි කිරීමට a,s,d,f ඔබන්න
පිළිවෙලින්");
Serial.println(“ක්රමාංකන සාධකය 10,100,1000,10000 කින් අඩු කිරීමට z,x,c,v ඔබන්න
පිළිවෙලින්");
Serial.println("ටේ සඳහා t ඔබන්න");
scale.set_scale();
scale.tare(); // පරිමාණය 0 ට නැවත සකසන්න
දිගු zero_factor = scale.read_average(); //මූලික කියවීමක් ලබා ගන්න
Serial.print ("ශුන්ය සාධකය: "); //මෙය පරිමාණය ටේර කිරීමේ අවශ්යතාවය ඉවත් කිරීමට භාවිතා කළ හැක.
ස්ථිර පරිමාණ ව්යාපෘතිවල ප්රයෝජනවත් වේ.
Serial.println(zero_factor);
}
//==================================================== ===========================================
// LOOP
//==================================================== ===========================================
void loop() {
scale.set_scale(ක්රමාංකන_සාධකය); //මෙම ක්රමාංකන සාධකයට සකසන්න
Serial.print ("කියවීම: ");
Serial.print(scale.get_units(), 3);
Serial.print(" kg"); //මෙය kg ලෙස වෙනස් කර ඔබ නම් ක්රමාංකන සාධකය නැවත සකස් කරන්න
සිහිබුද්ධිය ඇති අයෙකු මෙන් SI ඒකක අනුගමනය කරන්න
Serial.print (" ක්රමාංකන_සාධකය: ");
Serial.print(ක්රමාංකන_සාධකය);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
ක්රමාංකනය_සාධකය += 10;
වෙනත් නම් (temp == '-' || temp == 'z')
ක්රමාංකනය_සාධකය -= 10;
වෙනත් නම් (temp == 's')
ක්රමාංකනය_සාධකය += 100;
වෙනත් නම් (temp == 'x')
ක්රමාංකනය_සාධකය -= 100;
වෙනත් නම් (temp == 'd')
ක්රමාංකනය_සාධකය += 1000;
වෙනත් නම් (temp == 'c')
ක්රමාංකනය_සාධකය -= 1000;
වෙනත් නම් (temp == 'f')
ක්රමාංකනය_සාධකය += 10000;
වෙනත් නම් (temp == 'v')
ක්රමාංකනය_සාධකය -= 10000;
වෙනත් නම් (temp == 't')
scale.tare(); //පරිමාණය බිංදුවට නැවත සකසන්න
}
}
//==================================================== ==========================================
බර සංවේදකයෙන් ඕනෑම බරක් ඉවත් කරන්න. Serial Monitor එක විවෘත කරන්න. මොඩියුලය Arduino Uno වෙත සාර්ථකව සම්බන්ධ වී ඇති බව පෙන්වන පහත කවුළුව විවෘත විය යුතුය.
දන්නා බර වස්තුවක් පැටවුම් කොටුව මත තබන්න. මෙහිදී කතුවරයා 191KG Load Cell සමඟ දන්නා බර ග්රෑම් 10ක් භාවිතා කළේය. අනුක්රමික මොනිටරය පහත දැක්වෙන පරිදි බර රූපයක් පෙන්වනු ඇත:
අපි මෙහි ක්රමාංකනය කළ යුතුයි:
- අනුක්රමික මොනිටර විධාන අවකාශයට “a, s, d, f” අක්ෂරයේ යතුර සහ ක්රමාංකන සාධකය පිළිවෙලින් 10, 100, 1000, 10000 කින් වැඩි කිරීමට “Send” බොත්තම ඔබන්න.
- අනුක්රමික මොනිටර විධාන අවකාශයට "z, x, c, v" අකුරින් යතුර සහ "Send" බොත්තම ඔබන්න ක්රමාංකන සාධකය පිළිවෙලින් 10, 100, 1000, 10000 කින් අඩු කරන්න.
කියවීමෙන් පැටවුම් කොටුව මත තබා ඇති සැබෑ බර පෙන්වන තෙක් සීරුමාරු කරගෙන යන්න. “ක්රමාංකන_සාධක” අගය සටහන් කරන්න, මෙම අවස්ථාවේදී “-239250” කතෘගේ බර ග්රෑම් 191 ක 10KG පැටවුම් සෛලය සමඟින්. සැබෑ මිනුම් සඳහා අපගේ දෙවන ස්කීච් එකට සම්බන්ධ කිරීමට අපට මෙම අගය අවශ්ය වනු ඇත.
2 වන පියවර: සැබෑ බර මැනීම සඳහා අවසාන කේතය
සටහන උඩුගත කිරීමට පෙර, අපි පළමු පියවරේදී ලබාගත් “ක්රමාංකන සාධකය” සම්බන්ධ කළ යුතුය:
පරිමාණ සාධකය වෙනස් කිරීමෙන් පසු පහත දළ සටහන Arduino Uno Board වෙත උඩුගත කරන්න:
/* Handson Technology www.handsontec.com
* 29 දෙසැම්බර් 2017
* බර කි.ග්රෑම් වලින් මැනීමට සෛල HX711 මොඩියුල අතුරුමුහුණත Arduino සමඟ පූරණය කරන්න
Arduino
පින්
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Arduino Uno හි ඇති ඕනෑම පින් එකක් DOUT/CLK සමඟ අනුකූල වේ.
HX711 පුවරුව 2.7V සිට 5V දක්වා බලගැන්විය හැකි නිසා Arduino 5V බලය හොඳ විය යුතුය.
*/
"HX711.h" ඇතුලත් කරන්න //ඔබගේ arduino පුස්තකාල ෆෝල්ඩරයේ මෙම පුස්තකාලය තිබිය යුතුය
#DOUT 3 නිර්වචනය කරන්න
#CLK 2 නිර්වචනය කරන්න
HX711 පරිමාණය (DOUT, CLK);
//මෙම ක්රමාංකන සාධකය ඔබේ පැටවුම් කොටුවට අනුව වෙනස් කරන්න, එය සොයාගත් පසු ඔබට එය දහස් ගණනින් වෙනස් කිරීමට අවශ්ය වේ.
float calibration_factor = -96650; //-106600 මගේ 40Kg උපරිම පරිමාණයේ සැකසුම සඳහා වැඩ කළා
//==================================================== ==================================================
// සැලසුම
//==================================================== ==================================================
හිස් සැකසුම () {
Serial.begin(9600);
Serial.println("Tare to tare");
scale.set_scale(-239250); //පළමු සටහනෙන් ලබාගත් ක්රමාංකන සාධකය
scale.tare(); // පරිමාණය 0 ට නැවත සකසන්න
}
//==================================================== ==================================================
// LOOP
//==================================================== ==================================================
void loop() {
Serial.print ("බර: ");
Serial.print(scale.get_units(), 3); //දශම ලකුණු 3ක් දක්වා
Serial.println(" kg"); //මෙය kg ලෙස වෙනස් කරන්න සහ ඔබ lbs අනුගමනය කරන්නේ නම් ක්රමාංකන සාධකය නැවත සකස් කරන්න
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); //පරිමාණය බිංදුවට නැවත සකසන්න
}
}
//==================================================== ==================================================
ස්කීච් එක සාර්ථකව උඩුගත කළ පසු, Serial Monitor විවෘත කරන්න. සැබෑ මිනුම් අගය පෙන්වන පහත කවුළුව දිස්විය යුතුය:
ඔබට “t” හෝ “T” යතුර මඟින් විධාන අවකාශය තුළට 0.000kg (පූරණයකින් තොරව”) වෙත නැවත සැකසිය හැක සහ "Send" බොත්තම ඔබන්න. මිනුම් අගය 0.000kg වන බව පෙන්වන පහත සංදර්ශකය.
බඩු කොටුව මත වස්තුවක් තබන්න, සැබෑ බර පෙන්විය යුතුය. පහත දැක්වෙන්නේ ග්රෑම් 191 ක වස්තුව (ක්රමාංකනය සඳහා 1 වන පියවරේදී භාවිතා කරන) තැබූ විට බර සංදර්ශකයයි.
හුරේ! ඔබ දශමස්ථාන තුනක නිරවද්යතාවයකින් කිරුම් තරාදියක් සාදා ඇත!
ලේඛන / සම්පත්
![]() |
ARDUINO HX711 බර කිරන සංවේදක ADC මොඩියුලය [pdf] පරිශීලක අත්පොත HX711 බර කිරීමේ සංවේදක ADC මොඩියුලය, HX711, බර කිරන සංවේදක ADC මොඩියුලය, සංවේදක ADC මොඩියුලය, ADC මොඩියුලය, මොඩියුලය |