HX711 และ Load Cell ทำงานให้ค่าเอาต์พุตแบบ Analog ใช้กับ Arduino เป็นอินพุตไฟช่วง 0-5V ดังนั้นการอ่านค่าได้เร็วมาก ๆ น่าจะมากกว่า 1,000 ครั้งต่อ 1 วินาทีครับ
การหน่วงที่มาจากโค้ด มีหลายสาเหตุ เช่น
1. การใช้คำสั่ง delay โค้ดหลังจาก delay จะไม่ทำงาน วิธีแก้ให้ใช้คำสั่ง millis() แทนเพื่อดึงเวลาแล้วเช็คว่าครบเวลาทำงาน จะไม่ติด block ใน delay
2. ถ้ามีการรับค่าจากสวิตช์ ระหว่างที่ทำงานในโค้ดส่วนอื่นที่ไม่ใช้เช็คเงื่อนไขปุ่มกด ดังนั้นปุ่มกดจะไม่ทำงาน วิธีแก้ ใช้คำสั่งแบบ Interrupt ในการรับค่าจากสวิตช์
3. เช็คเวลาทำงานของ HX711 แค่ส่วนเดียว เพื่อจะได้รู้ว่าใช้เวลาในการทำงานกี่วินาที บางครั้งอาจไม่ใช่หน่วงจากตรงนี้ แสดงว่าเป็นกับโค้ดส่วนอื่น โดยใช้คำสั่ง millis() จับเวลา
เทคนิคข้อทั้ง 3 ข้อ มีแนะนำในคอร์สสอน Arduino Starter ที่หน้าเว็บด้านบนซ้าย ลองเล่นดูนะครับ