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

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

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

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

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

Arduino และการหา address สำหรับอุปกรณ์ที่สื่อสารกันผ่าน i2c interface

arduino i2c diagram
การหา address ของ I2C บน Arduino Uno

การหา address ของ I2C บน Arduino Uno

ที่มาและความสำคัญ. การเรียนรู้ไมโครคอนโทรลเลอร์ Arduino uno เป็นการเรียนรู้ไมโครขั้นพื้นฐานหากเราศึกษาไปเรื่อยๆเรามักจะมีองค์ประกอบของการใช้งานโมดูอื่นๆเข้ามาเกี่ยวข้อง และเป็นการสื่อสารด้วย interface แบบต่างๆ หนึ่งใน interface ที่มักนิยมใช้งานพบได้บ่อยครั้งคือ interface แบบ i2c ด้วยจุดเด่นต่างๆเช่นความง่าย,สายเชื่อมต่อน้อย,มีไรบรารี่เยอะ หากถามว่าข้อดีข้องการสื่อสารนี้มีข้อดีอย่างไรไปหาอ่านเพิ่มเติมเอาเองขี้เกียจพิมพ์ – -! เราจะข้ามมาที่กระบวนการหาตำแหน่งที่อยู่ของโมดูลหรืออุปกรณ์เลยละกัน เพราะเมื่อเราต่อโมดูลหรืออุปกรณ์นั้นๆแล้ว ลองใช้ code ที่อยู่ใน internet แล้วผลปรากฏไม่สามารถใช้งานได้ หนึ่งในปัญหาที่พบบ่อยคือการระบุที่อยู่ไม่ถูกต้องนั้นเอง เราจึงจำเป็นต้องหาตำแหน่งที่อยู่ก่อนถึงจะเริ่มการเขียน code เพื่อใช้งานกับโมดูลหรืออุปกรณ์ได้ .