ความจุหนักสูงสุด 5 กิโลกรัม
อุณหภูมิการทํางาน Min -10 °C
อุณหภูมิการทํางานสูงสุด 40 °C
ตัวขยายเสียง HX711 ติดต่อผ่านอินเตอร์เฟซสองสาย คุณสามารถเชื่อมต่อมันกับปินดิจิตอลใด ๆ ของบอร์ด Arduino ของคุณ เรากําลังเชื่อมต่อปินข้อมูล (DT) กับปิน 2 และปินนาฬิกา (CLK) กับปิน 3
ติดตามตารางหรือแผนที่ต่อไป เพื่อเชื่อมเซลล์โหลดกับบอร์ด Arduino
เซลล์ภาระ | RHX711 | RHX711 | อาร์ดิโน |
สีแดง (E+) | E+ | GND | GND |
สีดํา (E-) | อี... | DT | ปิน 2 |
สีขาว (A-) | A- | SCK | ปิน 3 |
สีเขียว (A+) | A+ | VCC | 5V |
ในเวลานี้, เราสมมุติว่าคุณได้เชื่อมเซลล์ภาระกับเครื่องขยายเสียง HX711 และเครื่องขยายเสียงกับบอร์ด Arduino. คุณยังควรมีการตั้งตารางของคุณและได้ติดตั้งห้องสมุด HX711
ก่อนที่จะได้รับน้ําหนักของวัตถุ, คุณจําเป็นต้อง calibrate เซลล์ภาระของคุณแรกโดยการได้รับตัวประกอบการปรับค่าปรับของคุณจะแตกต่างจากของฉัน ดังนั้นคุณไม่ควรข้ามส่วนนี้
1)เตรียมวัตถุที่มีน้ําหนักที่รู้จัก ผมใช้ชั่งครัวและชั่งแก้วด้วยน้ํา (107 กรัม)
2)อัพโหลดรหัสต่อไปนี้ไปในบอร์ด Arduino ของคุณ เราเขียนรหัสต่อไปนี้โดยพิจารณาคําแนะนําในการปรับขนาดเซลล์ภาระที่ได้รับจากเอกสารห้องสมุด
/*
รุย ซานโตส
รายละเอียดโครงการที่ https://RandomNerdTutorials.com/arduino-load-cell-hx711/
*/
// การปรับระดับเซลล์ความจุ
#รวม "HX711.h"
// HX711 สายวงจร
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
สภาวะ HX711
การตั้งค่า void ((() {
Serial.begin ((57600);
scale.begin ((LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
}
วงจรว่าง ((() {
if (scale.is_ready()) {
scale.set_scale (();
Serial.println (("Tare... ลบน้ําหนักใด ๆ จากชั่ง. ");
การช้า ((5000)
scale.tare (();
Serial.println (("ทําสาย"...);
Serial.print (("วางน้ําหนักที่รู้จักบนชั่ง...");
การช้า ((5000)
การอ่านยาว = scale.get_units(10);
Serial.print (("ผล: ");
Serial.println ((อ่าน);
}
{ อื่นๆ
Serial.println (("HX711 ไม่พบ");
}
ความช้า ((1000);
}
//ตัวประกอบการปรับขนาดจะเป็น (การอ่าน) / ((น้ําหนักที่ทราบ)
หลังจากอัพโหลด, เปิดมอนิเตอร์ลําดับต่อเนื่องในอัตราการต่อเนื่องของ 57600แล้วกดปุ่ม RESET ใน Arduino
4)ติดตามคําแนะนําบนเครื่องจอเรียงลําดับ: ลบน้ําหนักใด ๆ ออกจากชั่ง (มันจะตาระโดยอัตโนมัติ) จากนั้นวางวัตถุที่มีน้ําหนักที่รู้จักบนชั่งและรอจนคุณได้รับค่า
5)คํานวณปัจจัยการปรับด้วยสูตร:
ตัวประกอบการปรับขนาด = (การอ่าน) / ((น้ําหนักที่ทราบ)
ในกรณีของเราค่าอ่านคือ -49171 น้ําหนักที่ทราบกันคือ 107 กรัม ดังนั้นปัจจัยการปรับขนาดของเราจะเป็น: -49171/107 = -459542.
ตัวประกอบการปรับขนาด = -49171/107 = -459542
เก็บตัวประกอบการปรับระดับไว้ เพราะคุณต้องการมันในภายหลัง คุณจะแตกต่างจากเรา
ตอนนี้คุณรู้ว่าปัจจัยการปรับ คุณสามารถใช้เซลล์ภาระของคุณ เพื่อชั่งน้ําหนักของวัตถุได้เริ่มด้วยการชั่งวัตถุที่มีน้ําหนักที่ทราบ และซ้ํากระบวนการปรับขนาดถ้าค่าไม่ถูกต้อง.
สําเนารหัสต่อไปนี้ไปยัง Arduino IDE ของคุณ ก่อนที่จะอัพโหลดมันไปยังบอร์ดของคุณ อย่าลืมใส่ตัวประกอบการปรับขนาดของคุณในสาย 43/44 ของรหัส
/**
* รายละเอียดโครงการที่ https://RandomNerdTutorials.com/arduino-load-cell-hx711/
**/
#รวม
#รวม "HX711.h"
// HX711 สายวงจร
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
สภาวะ HX711
การตั้งค่า void ((() {
Serial.begin ((57600);
Serial.println (("HX711 Demo");
Serial.println (("การเริ่มต้นขนาด");
scale.begin ((LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
Serial.println (("ก่อนการตั้งค่าขนาด:");
Serial.print (("อ่าน: tt");
Serial.println ((scale.read()); // พิมพ์การอ่านที่แท้จาก ADC
Serial.print (("ค่าเฉลี่ยการอ่าน: tt");
Serial.println ((scale.read_average(20)); // พิมพ์ค่าเฉลี่ยของ 20 การอ่านจาก ADC
Serial.print (("รับค่า: tt");
Serial.println ((scale.get_value(5)); // พิมพ์ค่าเฉลี่ยของ 5 การอ่านจาก ADC ลบน้ําหนัก tara (ยังไม่ได้ตั้ง)
Serial.print (("รับหน่วย: tt");
Serial.println ((scale.get_units ((5), 1); // พิมพ์ค่าเฉลี่ยของ 5 การอ่านจาก ADC ลบน้ําหนัก tara (ไม่ตั้ง) หาร
// โดยปารามิเตอร์ SCALE (ยังไม่ได้ตั้ง)
scale.set_scale ((-459.542))
//scale.set_scale ((-471.497); // ค่านี้ได้รับโดยการปรับขนาดกับน้ําหนักที่ทราบ; ดู README สําหรับรายละเอียด
scale.tare(); // กําหนดขนาดใหม่เป็น 0
Serial.println (("หลังจากการตั้งขนาด:");
Serial.print (("อ่าน: tt");
Serial.println ((scale.read()); // พิมพ์การอ่านที่แท้จาก ADC
Serial.print (("ค่าเฉลี่ยการอ่าน: tt");
Serial.println ((scale.read_average(20)); // พิมพ์ค่าเฉลี่ยของ 20 การอ่านจาก ADC
Serial.print (("รับค่า: tt");
Serial.println ((scale.get_value(5)); //พิมพ์ค่าเฉลี่ยของ 5 การอ่านจาก ADC ลบน้ําหนัก tara, ตั้งค่าด้วย tare()
Serial.print (("รับหน่วย: tt");
Serial.println ((scale.get_units ((5), 1); // พิมพ์ค่าเฉลี่ยของ 5 การอ่านจาก ADC ลบน้ําหนัก tara, หาร
// โดยปารามิเตอร์ SCALE ที่ตั้งด้วย set_scale
Serial.println (("การอ่าน:");
}
วงจรว่าง ((() {
Serial.print (("การอ่านเดียว: t");
Serial.print ((scale.get_units ((), 1);
Serial.print ((("t การพิมพ์เฉลี่ย: t");
Serial.println ((scale.get_units ((10) 5);
การช้า ((5000)
}