เซ็นเซอร์ชั่งน้ำหนัก ARDUINO HX711 คู่มือผู้ใช้โมดูล ADC
ใบสมัครampเลอกับ Arduino Uno:
โหลดเซลล์ส่วนใหญ่มีสายไฟสี่เส้น: แดง ดำ เขียว และขาว บนบอร์ด HX711 คุณจะพบการเชื่อมต่อ E+/E-, A+/A- และ B+/B เชื่อมต่อโหลดเซลล์กับบอร์ดเซ็นเซอร์ HX711 ตามตารางต่อไปนี้:
บอร์ดเซ็นเซอร์โหลด HX711 | โหลดเซลล์ลวด |
E+ | สีแดง |
E- | สีดำ |
A+ | สีเขียว |
A- | สีขาว |
B- | ไม่ได้ใช้ |
B+ | ไม่ได้ใช้ |
เซ็นเซอร์ HX711 | อาร์ดูโน่ ยูโน่ |
ก.ย.ด. | ก.ย.ด. |
DT | D3 |
SCK | D2 |
วีซีซี | 5V |
โมดูล HX711 ทำงานที่ 5V และการสื่อสารเสร็จสิ้นโดยใช้พิน SDA และ SCK แบบอนุกรม
จะใส่น้ำหนักบนโหลดเซลล์ได้ที่ไหน
คุณจะเห็นลูกศรปรากฏบนโหลดเซลล์ ลูกศรนี้แสดงทิศทางแรงบนโหลดเซลล์ คุณสามารถจัดเรียงตามภาพโดยใช้แถบโลหะ ติดแถบโลหะบนโหลดเซลล์โดยใช้สลักเกลียว
การเขียนโปรแกรม Arduino UNO เพื่อวัดน้ำหนักเป็น KG:
เชื่อมต่อแผนผังดังแสดงในรูปที่ 1 ด้านบน
เพื่อให้โมดูลเซ็นเซอร์นี้ทำงานร่วมกับบอร์ด Arduino ได้ เราจำเป็นต้องมีไลบรารี HX711 ซึ่งสามารถดาวน์โหลดได้ https://github.com/bogde/HX711.
ก่อนที่จะสามารถใช้ HX711 เพื่อวัดวัตถุที่ชั่งน้ำหนักได้อย่างแม่นยำ จะต้องปรับเทียบก่อน ขั้นตอนด้านล่างจะแสดงวิธีการปรับเทียบ
1 ขั้นตอน: ร่างการสอบเทียบ
อัปโหลดภาพร่างด้านล่างไปยังบอร์ด Arduino Uno
/* เทคโนโลยี Handson www.handsontec.com
* 29 ธันวาคม 2017
* โหลดเซลล์ HX711 โมดูลเชื่อมต่อกับ Arduino เพื่อวัดน้ำหนักเป็นกิโลกรัม
อาร์ดูอิโน่
เข็มหมุด
2 -> HX711 ซีแอลเค
3 -> ดับ
5V -> วีซีซี
GND -> GND
พินส่วนใหญ่บน Arduino Uno จะเข้ากันได้กับ DOUT/CLK
บอร์ด HX711 สามารถจ่ายไฟได้ตั้งแต่ 2.7V ถึง 5V ดังนั้นไฟ Arduino 5V ก็น่าจะใช้ได้
*/
#include “HX711.h” //คุณต้องมีไลบรารีนี้ในโฟลเดอร์ไลบรารี Arduino ของคุณ
#กำหนด DOUT3
#กำหนด CLK2
สเกล HX711(DOUT, CLK);
//เปลี่ยนปัจจัยการสอบเทียบนี้ตามโหลดเซลล์ของคุณเมื่อพบว่าคุณต้องการจำนวนมาก
แปรผันเป็นพัน
ลอย calibration_factor = -96650; //-106600 ใช้งานได้กับการตั้งค่าเครื่องชั่งสูงสุด 40Kg ของฉัน
-
// ติดตั้ง
-
การตั้งค่าว่าง() {
Serial.begin(9600);
Serial.println("การปรับเทียบ HX711");
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 เพื่อภาชนะ");
ขนาด.set_scale();
ขนาด.ภาชนะ(); //รีเซ็ตมาตราส่วนเป็น 0
ยาว zero_factor = scale.read_average(); //รับการอ่านพื้นฐาน
Serial.print("ปัจจัยศูนย์:"); //สามารถใช้เพื่อขจัดความจำเป็นในการชั่งน้ำหนักเครื่องชั่ง
มีประโยชน์ในโครงการขนาดถาวร
Serial.println(zero_factor);
}
-
// วนซ้ำ
-
ลูปว่าง() {
scale.set_scale(calibration_factor); // ปรับตามปัจจัยการสอบเทียบนี้
Serial.print("การอ่าน:");
Serial.print(scale.get_units(), 3);
Serial.print(”กก.”); //เปลี่ยนเป็นกิโลกรัมและปรับปัจจัยการสอบเทียบอีกครั้งหากคุณ
ติดตามหน่วย SI อย่างคนมีสติ
Serial.print(” calibration_factor: “);
Serial.พิมพ์(calibration_factor);
อนุกรม. println ();
ถ้า(Serial.available())
{
ถ่านชั่วคราว = Serial.read();
ถ้า (อุณหภูมิ == '+' || อุณหภูมิ == 'a')
การสอบเทียบ_ปัจจัย += 10;
อย่างอื่นถ้า (อุณหภูมิ == '-' || อุณหภูมิ == 'z')
calibration_factor -= 10;
อย่างอื่นถ้า (อุณหภูมิ == 's')
การสอบเทียบ_ปัจจัย += 100;
อย่างอื่นถ้า (อุณหภูมิ == 'x')
calibration_factor -= 100;
อย่างอื่นถ้า (อุณหภูมิ == 'd')
การสอบเทียบ_ปัจจัย += 1000;
อย่างอื่นถ้า (อุณหภูมิ == 'c')
calibration_factor -= 1000;
อย่างอื่นถ้า (อุณหภูมิ == 'f')
การสอบเทียบ_ปัจจัย += 10000;
อย่างอื่นถ้า (อุณหภูมิ == 'v')
calibration_factor -= 10000;
อย่างอื่นถ้า (อุณหภูมิ == 't')
ขนาด.ภาชนะ(); //รีเซ็ตมาตราส่วนเป็นศูนย์
}
}
-
ถอดโหลดออกจากเซ็นเซอร์โหลด เปิดการตรวจสอบแบบอนุกรม หน้าต่างด้านล่างควรเปิดขึ้นมาเพื่อแสดงว่าโมดูลเชื่อมต่อกับ Arduino Uno สำเร็จแล้ว
วางวัตถุน้ำหนักที่ทราบไว้บนโหลดเซลล์ ในกรณีนี้ ผู้เขียนใช้น้ำหนักที่ทราบ 191 กรัม กับโหลดเซลล์ 10KG Serial Monitor จะแสดงตัวเลขน้ำหนักบางส่วนดังที่แสดงด้านล่าง:
เราจำเป็นต้องทำการสอบเทียบที่นี่:
- ป้อนตัวอักษร ” a, s, d, f ” ลงในช่องคำสั่งมอนิเตอร์อนุกรมแล้วกดปุ่ม "ส่ง" เพื่อเพิ่มปัจจัยการสอบเทียบ 10, 100, 1000, 10000 ตามลำดับ
- ป้อนตัวอักษร ” z, x, c, v ” ลงในช่องคำสั่งมอนิเตอร์อนุกรมแล้วกดปุ่ม "ส่ง" เพื่อลดปัจจัยการสอบเทียบลง 10, 100, 1000, 10000 ตามลำดับ
ปรับไปเรื่อยๆ จนกระทั่งค่าที่อ่านได้แสดงน้ำหนักจริงที่วางอยู่บนโหลดเซลล์ บันทึกค่า "calibration_factor" ในกรณีนี้คือ "-239250" ในน้ำหนักผู้เขียน 191 กรัม โดยอ้างอิงกับโหลดเซลล์ 10KG เราจะต้องใช้ค่านี้เพื่อเสียบเข้ากับร่างที่สองของเราเพื่อการวัดจริง
ขั้นตอนที่ 2: รหัสสุดท้ายสำหรับการวัดน้ำหนักจริง
ก่อนที่จะอัปโหลดภาพร่าง เราจำเป็นต้องเสียบ "ปัจจัยการสอบเทียบ" ที่ได้รับในขั้นตอนที่ 1:
อัปโหลดภาพร่างด้านล่างไปยังบอร์ด Arduino Uno หลังจากแก้ไขตัวประกอบขนาด:
/* เทคโนโลยี Handson www.handsontec.com
* 29 ธันวาคม 2017
* โหลดเซลล์ HX711 โมดูลเชื่อมต่อกับ Arduino เพื่อวัดน้ำหนักเป็นกิโลกรัม
อาร์ดูอิโน่
เข็มหมุด
2 -> HX711 ซีแอลเค
3 -> ดับ
5V -> วีซีซี
GND -> GND
พินส่วนใหญ่บน Arduino Uno จะเข้ากันได้กับ DOUT/CLK
บอร์ด HX711 สามารถจ่ายไฟได้ตั้งแต่ 2.7V ถึง 5V ดังนั้นไฟ Arduino 5V ก็น่าจะใช้ได้
*/
#include “HX711.h” //คุณต้องมีไลบรารีนี้ในโฟลเดอร์ไลบรารี Arduino ของคุณ
#กำหนด DOUT3
#กำหนด CLK2
สเกล HX711(DOUT, CLK);
//เปลี่ยนปัจจัยการสอบเทียบนี้ตามโหลดเซลล์ของคุณเมื่อพบว่า หลายๆ คนจำเป็นต้องเปลี่ยนแปลงค่าเป็นพัน
ลอย calibration_factor = -96650; //-106600 ใช้งานได้กับการตั้งค่าเครื่องชั่งสูงสุด 40Kg ของฉัน
-
// ติดตั้ง
-
การตั้งค่าว่าง() {
Serial.begin(9600);
Serial.println("กด T เพื่อทดน้ำหนัก");
ขนาด.set_scale(-239250); //Calibration Factor ที่ได้จากการร่างครั้งแรก
ขนาด.ภาชนะ(); //รีเซ็ตมาตราส่วนเป็น 0
}
-
// วนซ้ำ
-
ลูปว่าง() {
Serial.print("น้ำหนัก:");
Serial.print(scale.get_units(), 3); //มีทศนิยมไม่เกิน 3 ตำแหน่ง
Serial.println(”กก.”); //เปลี่ยนเป็นกก. และปรับปัจจัยการสอบเทียบอีกครั้งหากคุณติดตามปอนด์
ถ้า(Serial.available())
{
ถ่านชั่วคราว = Serial.read();
ถ้า (อุณหภูมิ == 't' || อุณหภูมิ == 'T')
ขนาด.ภาชนะ(); //รีเซ็ตมาตราส่วนเป็นศูนย์
}
}
-
หลังจากอัปโหลดภาพร่างสำเร็จแล้ว ให้เปิด Serial Monitor หน้าต่างด้านล่างควรปรากฏขึ้นเพื่อแสดงค่าการวัดจริง:
คุณสามารถรีเซ็ตการอ่านเป็น 0.000 กก. (โดยไม่ต้องโหลด) โดยการป้อน "t" หรือ "T" ลงในพื้นที่คำสั่งแล้วกดปุ่ม "ส่ง" หน้าจอด้านล่างแสดงค่าการวัดเป็น 0.000กก.
วางวัตถุบนโหลดเซลล์ โดยจะแสดงน้ำหนักจริงออกมา ด้านล่างนี้คือการแสดงน้ำหนักเมื่อวางวัตถุขนาด 191 กรัม (ใช้ในขั้นตอนที่ 1 สำหรับการสอบเทียบ)
ไชโย! คุณได้สร้างเครื่องชั่งน้ำหนักที่มีความแม่นยำระดับทศนิยมสามจุดแล้ว!
เอกสาร / แหล่งข้อมูล
![]() |
โมดูล ADC เซ็นเซอร์ชั่งน้ำหนัก ARDUINO HX711 [พีดีเอฟ] คู่มือการใช้งาน HX711 โมดูลเซ็นเซอร์ชั่งน้ำหนัก ADC, HX711, โมดูลเซ็นเซอร์ชั่งน้ำหนัก ADC, โมดูลเซ็นเซอร์ ADC, โมดูล ADC, โมดูล |