การใช้งานคำสั่งหน่วงเวลาและจับเวลา delay() และ millis() ใน arduino

การใช้งาน millis() กับ delay() ใน Arduino Uno

การใช้งานคำสั่ง delay() millis() ใน arduino

การใช้งาน millis() กับ delay() ใน Arduino Uno

ที่มาและความสำคัญ การเขียนโปรแกรมไมโครคอนโทรลเลอร์ Arduino Uno จะมีฟังก์ชัน millis() และ delay() ให้ใช้สำหรับการจัดการเรื่องเวลา แต่ทั้งสองฟังก์ชันมีความแตกต่างกันในการใช้งานและความเหมาะสมในแต่ละสถานการณ์ หากเราเริ่มต้นศึกษาการเขียนไมโครคอนโทรลเลอร์ เรามักจะพบการเริ่มใช้งานคำสั่ง delay() เพื่อหน่วงเวลาบางอย่างเอาไว้ จนกระทั้งเราชินกับการใช้งาน delay() เพราะใช้งานง่ายไม่ซับซ้อนด้วยคุณสมบัติค้างสถานะนั้นๆไว้ขณะหนึ่งตามค่าที่กำหนด เมื่อเราสามารถเขียนไมโครคอนโทรลเลอร์ให้มีความซับซ้อนมากขึ้นเราจะพบว่า โปรแกรมของเราทำงานช้าลงอย่างเห็นได้ชัด หรืออาจจะอ่านค่าเซ็นเซอร์บ้างก็ไม่เป็นไปตามขอบเขตที่มันควรจะเป็นซึ่งอาจจะมาจากสาเหตของการใช้งานคำสั่ง delay() ก็เป็นได้เพราะเป็นการทำงานเป็นแบบ blocking