ARDUINO HX711 ເຊັນເຊີຊັ່ງນໍ້າໜັກ ADC Module ຄູ່ມືຜູ້ໃຊ້
ເຊັນເຊີຊັ່ງນໍ້າໜັກ ARDUINO HX711 ໂມດູນ ADC

ຄໍາຮ້ອງສະຫມັກ Example ກັບ Arduino Uno:

Load cell ສ່ວນໃຫຍ່ມີສີ່ສາຍ: ສີແດງ, ສີດໍາ, ສີຂຽວແລະສີຂາວ. ໃນກະດານ HX711 ທ່ານຈະພົບເຫັນ E+/E-, A+/A- ແລະ B+/Bconnections. ເຊື່ອມຕໍ່ load cell ກັບ HX711 sensor board ຕາມຕາຕະລາງຕໍ່ໄປນີ້:

HX711 Load Sensor Board Load Cell Wire
E+ ສີແດງ
E- ດຳ
A+ ສີຂຽວ
A- ສີຂາວ
B- ບໍ່ໄດ້ໃຊ້
B+ ບໍ່ໄດ້ໃຊ້

ການເຊື່ອມຕໍ່

ເຊັນເຊີ HX711 Arduino Uno
GND GND
DT D3
ສຄ D2
VCC 5V

ໂມດູນ HX711 ເຮັດວຽກຢູ່ທີ່ 5V ແລະການສື່ສານແມ່ນເຮັດໄດ້ໂດຍໃຊ້ serial SDA ແລະ SCK pins.

ບ່ອນໃດທີ່ຈະນໍາໃຊ້ນ້ໍາຫນັກໃນ Load Cell?
ທ່ານສາມາດເບິ່ງລູກສອນຖືກສະແດງຢູ່ໃນ Load cell. ລູກສອນນີ້ສະແດງໃຫ້ເຫັນທິດທາງຂອງຜົນບັງຄັບໃຊ້ໃນຫ້ອງໂຫຼດ. ທ່ານສາມາດເຮັດໃຫ້ການຈັດສະແດງຢູ່ໃນຮູບໂດຍໃຊ້ແຖບໂລຫະ. ຕິດແຖບໂລຫະໃສ່ Load cell ໂດຍໃຊ້ bolts.

ນ້ຳໜັກ

ການຂຽນໂປຼແກຼມ Arduino UNO ເພື່ອວັດແທກນ້ໍາຫນັກໃນ KG:

ເຊື່ອມຕໍ່ schematic ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 1 ຂ້າງເທິງ.
ເພື່ອໃຫ້ໂມດູນເຊັນເຊີນີ້ເຮັດວຽກກັບກະດານ Arduino, ພວກເຮົາຕ້ອງການ HX711 Library ທີ່ສາມາດໂຫຼດໄດ້ຈາກ. https://github.com/bogde/HX711.
ກ່ອນທີ່ HX711 ສາມາດໃຊ້ເພື່ອວັດແທກນໍ້າໜັກຂອງວັດຖຸໄດ້ຢ່າງຖືກຕ້ອງ, ມັນຈໍາເປັນຕ້ອງປັບຕົວກ່ອນ. ຂັ້ນ​ຕອນ​ຂ້າງ​ລຸ່ມ​ນີ້​ຈະ​ສະ​ແດງ​ໃຫ້​ທ່ານ​ວິ​ທີ​ການ​ປັບ​ທຽບ​ໄດ້​.

1 ຂັ້ນຕອນ: Calibration Sketch
ອັບໂຫລດຮູບແຕ້ມລຸ່ມນີ້ໄປທີ່ Arduino Uno Board

/* Handson Technology www.handsontec.com
* ວັນທີ 29 ທັນວາ 2017
* Load Cell HX711 Module Interface ກັບ Arduino ເພື່ອວັດແທກນ້ໍາຫນັກໃນ Kgs
Arduino
ເຂັມ
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
ສ່ວນຫຼາຍ pin ໃດໆໃນ Arduino Uno ຈະເຂົ້າກັນໄດ້ກັບ DOUT/CLK.
ກະດານ HX711 ສາມາດພະລັງງານຈາກ 2.7V ຫາ 5V ດັ່ງນັ້ນພະລັງງານ Arduino 5V ຄວນຈະດີ.
*/
#include “HX711.h” // ທ່ານຕ້ອງມີຫ້ອງສະໝຸດນີ້ຢູ່ໃນໂຟນເດີຫ້ອງສະໝຸດ arduino ຂອງທ່ານ
#ກໍານົດ DOUT 3
#ກໍານົດ CLK 2
ຂະໜາດ HX711(DOUT, CLK);
// ການ​ປ່ຽນ​ແປງ​ປັດ​ໄຈ​ການ​ສອບ​ທຽບ​ນີ້​ຕາມ​ຫ້ອງ​ການ​ໂຫຼດ​ຂອງ​ທ່ານ​ເມື່ອ​ມັນ​ພົບ​ເຫັນ​ທ່ານ​ຈໍາ​ນວນ​ຫຼາຍ​ຕ້ອງ​ການ​
ມັນແຕກຕ່າງກັນເປັນພັນໆ
float calibration_factor = -96650; //-106600 ເຮັດວຽກສໍາລັບການຕິດຕັ້ງຂະຫນາດສູງສຸດ 40Kg ຂອງຂ້ອຍ
//================================================ =======================================
// ຕັ້ງ​ຄ່າ
//================================================ =======================================
ການຕັ້ງຄ່າ void() {
Serial.begin(9600);

Serial.println(“HX711 Calibration”);
Serial.println(“ເອົານ້ຳໜັກທັງໝົດອອກຈາກຂະໜາດ”);
Serial.println(“ຫຼັງ​ຈາກ​ການ​ອ່ານ​ເລີ່ມ​ຕົ້ນ, ເອົາ​ນ​້​ໍາ​ຫນັກ​ທີ່​ຮູ້​ຈັກ​ໃນ​ຂະ​ຫນາດ”);
Serial.println(“ກົດ a,s,d,f ເພື່ອເພີ່ມປັດໄຈການປັບທຽບ 10,100,1000,10000
ຕາມລໍາດັບ”);
Serial.println(“ກົດ z,x,c,v ເພື່ອຫຼຸດປັດໄຈການປັບທຽບ 10,100,1000,10000
ຕາມລໍາດັບ”);
Serial.println(“ກົດ t ສໍາລັບ tare”);
scale.set_scale();
scale.tare(); // ປັບຂະໜາດເປັນ 0
long zero_factor = scale.read_average(); // ໄດ້​ຮັບ​ການ​ອ່ານ​ພື້ນ​ຖານ​
Serial.print(“ສູນປັດໄຈ: “); // ນີ້​ສາ​ມາດ​ຖືກ​ນໍາ​ໃຊ້​ເພື່ອ​ເອົາ​ຄວາມ​ຕ້ອງ​ການ​ທີ່​ຈະ tare ຂະ​ຫນາດ​ໄດ້​.
ເປັນປະໂຫຍດໃນໂຄງການຂະຫນາດຖາວອນ.
Serial.println(zero_factor);
}
//================================================ =======================================
// LOOP
//================================================ =======================================
void loop() {
scale.set_scale(calibration_factor); // ປັບຕົວເຂົ້າກັບປັດໄຈການປັບຕົວນີ້
Serial.print(“ການອ່ານ: “);
Serial.print(scale.get_units(), 3);
Serial.print(“kg”); // ປ່ຽນອັນນີ້ເປັນກິໂລ ແລະປັບຄ່າການປັບຄ່າຄືນໃໝ່ຫາກເຈົ້າ
ປະຕິບັດຕາມໜ່ວຍງານ SI ຄືກັບຄົນມີສະຕິ
Serial.print(” calibration_factor: “);
Serial.print(calibration_factor);
Serial.println ();
ຖ້າ(Serial.available())
{
char temp = Serial.read();
ຖ້າ(ອຸນຫະພູມ == '+' || temp == 'a')
calibration_factor += 10;
ອື່ນຖ້າ (ອຸນຫະພູມ == '-' || temp == 'z')
calibration_factor -= 10;
ອື່ນຖ້າ (ອຸນຫະພູມ == 's')
calibration_factor += 100;
ອື່ນຖ້າ (ອຸນຫະພູມ == 'x')
calibration_factor -= 100;
ອື່ນຖ້າ (ອຸນຫະພູມ == 'd')
calibration_factor += 1000;
ອື່ນຖ້າ (ອຸນຫະພູມ == 'c')
calibration_factor -= 1000;
ອື່ນຖ້າ (ອຸນຫະພູມ == 'f')
calibration_factor += 10000;
ອື່ນຖ້າ (ອຸນຫະພູມ == 'v')
calibration_factor -= 10000;
ອື່ນຖ້າ (ອຸນຫະພູມ == 't')
scale.tare(); // ປັບຂະໜາດເປັນສູນ
}
}
//================================================ ======================================

ເອົາການໂຫຼດໃດໆອອກຈາກເຊັນເຊີການໂຫຼດ. ເປີດ Serial Monitor. ປ່ອງຢ້ຽມຂ້າງລຸ່ມນີ້ຄວນຈະເປີດສະແດງໃຫ້ເຫັນໂມດູນໄດ້ເຊື່ອມຕໍ່ສົບຜົນສໍາເລັດກັບ Arduino Uno.

ການຕັ້ງຄ່າ

ວາງວັດຖຸນ້ຳໜັກທີ່ຮູ້ຈັກໃສ່ໃນຫ້ອງໂຫຼດ. ໃນ​ກໍ​ລະ​ນີ​ນີ້​ຜູ້​ຂຽນ​ໄດ້​ນໍາ​ໃຊ້​ນ​້​ໍາ​ຫນັກ​ທີ່​ຮູ້​ຈັກ 191g ກັບ 10KG Load Cell. Serial Monitor ຈະສະແດງຕົວເລກທີ່ມີນ້ໍາຫນັກຕາມຮູບຂ້າງລຸ່ມນີ້:
ການຕັ້ງຄ່າ

ພວກ​ເຮົາ​ຈໍາ​ເປັນ​ຕ້ອງ​ເຮັດ​ການ​ປັບ​ທຽບ​ທີ່​ນີ້​:

  • ກະແຈໃນຕົວອັກສອນ "a, s, d, f" ເຂົ້າໄປໃນພື້ນທີ່ຄໍາສັ່ງຂອງຕິດຕາມກວດກາ serial ແລະກົດປຸ່ມ "ສົ່ງ" ເພື່ອເພີ່ມປັດໄຈການປັບຕົວດ້ວຍ 10, 100, 1000, 10000 ຕາມລໍາດັບ.
  • ກະແຈໃນຕົວອັກສອນ ” z, x, c, v” ເຂົ້າໄປໃນພື້ນທີ່ຄໍາສັ່ງຂອງຕິດຕາມກວດກາ serial ແລະກົດປຸ່ມ “ສົ່ງ” ເພື່ອຫຼຸດລົງປັດໄຈການປັບຕົວດ້ວຍ 10, 100, 1000, 10000 ຕາມລໍາດັບ.
    ການຕັ້ງຄ່າ

ສືບຕໍ່ປັບຈົນກ່ວາການອ່ານສະແດງໃຫ້ເຫັນນ້ໍາຫນັກຕົວຈິງທີ່ວາງໄວ້ໃນຫ້ອງໂຫຼດ. ບັນທຶກຄ່າ “calibration_factor”, ໃນກໍລະນີນີ້ “-239250” ໃນນໍ້າໜັກຂອງຜູ້ຂຽນ 191g ອ້າງອີງກັບ 10KG Load Cell. ພວກເຮົາຈະຕ້ອງການຄ່ານີ້ເພື່ອສຽບເຂົ້າໄປໃນຮູບແຕ້ມທີສອງຂອງພວກເຮົາສໍາລັບການວັດແທກຕົວຈິງ.

ຂັ້ນຕອນທີ 2: ລະຫັດສຸດທ້າຍສໍາລັບການວັດແທກນ້ໍາຫນັກຕົວຈິງ
ກ່ອນທີ່ຈະອັບໂຫລດຮູບແຕ້ມ, ພວກເຮົາຈໍາເປັນຕ້ອງໄດ້ສຽບ "ປັດໄຈການປັບທຽບ" ທີ່ໄດ້ຮັບໃນຂັ້ນຕອນທີ 1:
ຕັ້ງຄ່າ

ອັບໂຫລດຮູບແຕ້ມລຸ່ມນີ້ໃສ່ Arduino Uno Board, ຫຼັງຈາກດັດແກ້ປັດໄຈຂະຫນາດ:

/* Handson Technology www.handsontec.com
* ວັນທີ 29 ທັນວາ 2017
* Load Cell HX711 Module Interface ກັບ Arduino ເພື່ອວັດແທກນ້ໍາຫນັກໃນ Kgs
Arduino
ເຂັມ
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
ສ່ວນຫຼາຍ pin ໃດໆໃນ Arduino Uno ຈະເຂົ້າກັນໄດ້ກັບ DOUT/CLK.
ກະດານ HX711 ສາມາດພະລັງງານຈາກ 2.7V ຫາ 5V ດັ່ງນັ້ນພະລັງງານ Arduino 5V ຄວນຈະດີ.
*/
#include “HX711.h” // ທ່ານຕ້ອງມີຫ້ອງສະໝຸດນີ້ຢູ່ໃນໂຟນເດີຫ້ອງສະໝຸດ arduino ຂອງທ່ານ
#ກໍານົດ DOUT 3
#ກໍານົດ CLK 2
ຂະໜາດ HX711(DOUT, CLK);
// ປ່ຽນ​ປັດ​ໄຈ​ການ​ສອບ​ທຽບ​ນີ້​ຕາມ​ຫ້ອງ​ການ​ໂຫຼດ​ຂອງ​ທ່ານ​ເມື່ອ​ມັນ​ພົບ​ເຫັນ​ທ່ານ​ຈໍາ​ນວນ​ຫຼາຍ​ຈໍາ​ເປັນ​ຕ້ອງ​ໄດ້​ແຕກ​ຕ່າງ​ກັນ​ເປັນ​ພັນ​.
float calibration_factor = -96650; //-106600 ເຮັດວຽກສໍາລັບການຕິດຕັ້ງຂະຫນາດສູງສຸດ 40Kg ຂອງຂ້ອຍ
//================================================ ======================================================
// ຕັ້ງ​ຄ່າ
//================================================ ======================================================
ການຕັ້ງຄ່າ void() {
Serial.begin(9600);
Serial.println(“ກົດ T ຫາ tare”);
scale.set_scale(-239250); // ຕົວ​ຊີ້​ວັດ Calibration ໄດ້​ຈາກ​ການ​ແຕ້ມ​ຮູບ​ຄັ້ງ​ທໍາ​ອິດ​
scale.tare(); // ປັບຂະໜາດເປັນ 0
}
//================================================ ======================================================
// LOOP
//================================================ ======================================================
void loop() {
Serial.print(“ນ້ຳໜັກ: “);
Serial.print(scale.get_units(), 3); // ເຖິງ 3 ຈຸດທົດສະນິຍົມ
Serial.println(“kg”); // ປ່ຽນອັນນີ້ເປັນກິໂລ ແລະປັບຄ່າການປັບຕົວໃໝ່ຫາກເຈົ້າຕິດຕາມ lbs
ຖ້າ(Serial.available())
{
char temp = Serial.read();
ຖ້າ(temp == 't' || temp == 'T')
scale.tare(); // ປັບຂະໜາດເປັນສູນ
}
}
//================================================ ======================================================

ຫຼັງຈາກອັບໂຫຼດຮູບແຕ້ມສຳເລັດແລ້ວ, ເປີດ Serial Monitor. ປ່ອງຢ້ຽມຂ້າງລຸ່ມນີ້ຄວນຈະປາກົດສະແດງໃຫ້ເຫັນມູນຄ່າການວັດແທກທີ່ແທ້ຈິງ:
ການຕັ້ງຄ່າ

ທ່ານ​ສາ​ມາດ​ປັບ​ການ​ອ່ານ​ເປັນ 0.000kg (ໂດຍ​ບໍ່​ມີ​ການ​ໂຫຼດ​"​) ໂດຍ​ການ​ກົດ​ປຸ່ມ "t​" ຫຼື "T​" ເຂົ້າ​ໄປ​ໃນ​ຊ່ອງ​ຄໍາ​ສັ່ງ​ແລະ​ກົດ​ປຸ່ມ "ສົ່ງ​"​. ຂ້າງລຸ່ມນີ້ສະແດງຄ່າການວັດແທກກາຍເປັນ 0.000kg.
ການຕັ້ງຄ່າ

ວາງວັດຖຸໃສ່ຫ້ອງໂຫຼດ, ນໍ້າໜັກຕົວຈິງຄວນສະແດງ. ຂ້າງລຸ່ມນີ້ແມ່ນການສະແດງນ້ໍາຫນັກເມື່ອວາງວັດຖຸ 191 ກຣາມ (ໃຊ້ໃນຂັ້ນຕອນທີ 1 ສໍາລັບການປັບທຽບ).
ການຕັ້ງຄ່າ

ໂຫ້ຍ! ທ່ານ​ໄດ້​ສ້າງ​ເຄື່ອງ​ຊັ່ງ​ນໍ້າ​ຫນັກ​ທີ່​ມີ​ຄວາມ​ຖືກ​ຕ້ອງ​ຂອງ​ສາມ​ຈຸດ​ທົດ​ສະ​ນິ​ຍົມ​!

ເອກະສານ / ຊັບພະຍາກອນ

ເຊັນເຊີຊັ່ງນໍ້າໜັກ ARDUINO HX711 ໂມດູນ ADC [pdf] ຄູ່ມືຜູ້ໃຊ້
HX711 ເຊັນເຊີຊັ່ງນໍ້າໜັກ ADC Module, HX711, ເຊັນເຊີຊັ່ງນໍ້າໜັກ ADC Module, Sensors ADC Module, ADC Module, Module

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *