Arduino Project 4CH Relay Timer #01
วันดีคืนดีนึกอยากจะทำ Project ตั้งเวลาเปิดปิดไฟหน้าบ้านขึ้นมา แบบว่าไม่อยู่บ้านหลาย ๆ วันให้เปิดปิดสวิทซ์ไฟให้เหมือนมีคนอยู่บ้านอะไรแบบนี้ ครั้นจะซื้อตัวตั้งเวลาที่มีขายทั่วไปก็ดูไม่ค่อยจะถูกใจเราเท่าไหร่ ก็เลยไปหาข้อมูล แล้วพบว่ามีบอร์ดอยู่ตัวหนึ่งเป็นลักษณะเหมือน Microcontroller หรือใช่เลยก็ไม่แน่ใจ หาอ่านไปมาพบว่าใช้ Code เหมือนกับภาษา C++ เห็น Code คร่าว ๆ แล้วใจชื้นหน่อย ดีกว่า ภาษา assembly อยู่ นั่นคือ Arduino board ก็เลยสั่งซื้อมาลองเลย
หลัก ๆ ก็เอาไว้อัพโหลดเข้าตัว Arduino เพราะตัว Coding ที่ติดมากับ Software รู้สึกจะดูยากไปหน่อย หรือผมดูไม่ค่อยเป็นเองหรือเปล่าก็ไม่รู้ ส่วนตัวผมใช้ Notepad++ ในการ coding นะครับ ส่วนการ Debug ก็ทำใน Software ของ Arduino เพราะมันสะดวกเวลาแก้
แต่ติดปัญหานิดหนึ่งคือ เวลา copy code จาก notepad++ ไปวางใน Arduino แล้วรูปแบบที่เราจัดมันเพี้ยน ไม่ค่อยสวยงามเลย ทำให้เวลา Debug ดูยากนิดนึง
Arduino tips
รูปแบบ if statement อย่างสั้น – บังเอิญได้แกะ code ของต่างประเทศแล้วไปเห็น if statement แบบสั้นมา (น่าจะมีใน ref document อยู่นะครับ แต่ผมหาไม่เจอ) รูปแบบก็จะประมาณนี้
( เงื่อนไข ? เมื่อเป็นจริง : เมื่อเป็นเท็จ )
ตัวอย่าง
itmMnu < 3 ? itmMnu++ : itmMnu ;
จาก code ด้านบนโปรแกรมจะทำงาน คือ ตรวจสอบค่า itmMnu ว่าน้อยกว่า 3 หรือเปล่า ถ้าน้อยกว่า ให้บวกไป 1 ถ้ามากกว่าหรือเท่ากับให้มีค่าเท่าเดิม
ดูต่อ Arduino Project 4CH Relay Timer #02
วันดีคืนดีนึกอยากจะทำ Project ตั้งเวลาเปิดปิดไฟหน้าบ้านขึ้นมา แบบว่าไม่อยู่บ้านหลาย ๆ วันให้เปิดปิดสวิทซ์ไฟให้เหมือนมีคนอยู่บ้านอะไรแบบนี้ ครั้นจะซื้อตัวตั้งเวลาที่มีขายทั่วไปก็ดูไม่ค่อยจะถูกใจเราเท่าไหร่ ก็เลยไปหาข้อมูล แล้วพบว่ามีบอร์ดอยู่ตัวหนึ่งเป็นลักษณะเหมือน Microcontroller หรือใช่เลยก็ไม่แน่ใจ หาอ่านไปมาพบว่าใช้ Code เหมือนกับภาษา C++ เห็น Code คร่าว ๆ แล้วใจชื้นหน่อย ดีกว่า ภาษา assembly อยู่ นั่นคือ Arduino board ก็เลยสั่งซื้อมาลองเลย
เราจะทำเกี่ยวกับการตั้งเวลา ก็เลยสั่ง RTC
shield, Relay shield และ LCD keypad shield มาพร้อมด้วยเลย
(RTC = Real Time Clock) (Shield = เหมือนเป็นชื่อเรียกส่วนขยายของบอร์ดนะครับ)
และอะไหล่อื่น ๆ ที่คิดว่าจะได้ใช้อีกนิดหน่อย
ที่คิดไว้ในหัวก็ประมานนี้
ต่อพ่วงกับสวิทซ์ปรกติ แล้วพ่วงกับ Relay
ที่ขา NC (Normal Close) ไว้กรณีเราปิด Arduino ก็ให้สามารถใช้สวิทซ์ได้ปรกติ
จากนั้นโหลด Software ได้ที่ https://www.arduino.cc/en/Main/Software
หลัก ๆ ก็เอาไว้อัพโหลดเข้าตัว Arduino เพราะตัว Coding ที่ติดมากับ Software รู้สึกจะดูยากไปหน่อย หรือผมดูไม่ค่อยเป็นเองหรือเปล่าก็ไม่รู้ ส่วนตัวผมใช้ Notepad++ ในการ coding นะครับ ส่วนการ Debug ก็ทำใน Software ของ Arduino เพราะมันสะดวกเวลาแก้
แต่ติดปัญหานิดหนึ่งคือ เวลา copy code จาก notepad++ ไปวางใน Arduino แล้วรูปแบบที่เราจัดมันเพี้ยน ไม่ค่อยสวยงามเลย ทำให้เวลา Debug ดูยากนิดนึง
จากนั้นก็จัดแจงหา Driver มาลงให้เรียบร้อย
เมื่อลง Driver ให้ Arduino board เรียบร้อยแล้วอาจจะลองต่อ LCD shield แล้ว upload code ทดสอบดู
เมื่อลง Driver ให้ Arduino board เรียบร้อยแล้วอาจจะลองต่อ LCD shield แล้ว upload code ทดสอบดู
ถึงต้อนนี้ก็พร้อมที่จะเขียนโปรแกรมใส่ตัว Arduino แล้วนะครับ
ณ ตอนเขียนบทความนี้ก็ยังทำ
Project นี้ไม่เสร็จนะครับ กำลัง Coding ในส่วนเมนูการตั้งค่าของ
Relay แต่ละตัวอยู่เลย
มาลองกันดูครับว่าจะไปรอดหรือเปล่า หะหะ
รูปแบบ if statement อย่างสั้น – บังเอิญได้แกะ code ของต่างประเทศแล้วไปเห็น if statement แบบสั้นมา (น่าจะมีใน ref document อยู่นะครับ แต่ผมหาไม่เจอ) รูปแบบก็จะประมาณนี้
( เงื่อนไข ? เมื่อเป็นจริง : เมื่อเป็นเท็จ )
ตัวอย่าง
itmMnu < 3 ? itmMnu++ : itmMnu ;
จาก code ด้านบนโปรแกรมจะทำงาน คือ ตรวจสอบค่า itmMnu ว่าน้อยกว่า 3 หรือเปล่า ถ้าน้อยกว่า ให้บวกไป 1 ถ้ามากกว่าหรือเท่ากับให้มีค่าเท่าเดิม
ดูต่อ Arduino Project 4CH Relay Timer #02
ความคิดเห็น
แสดงความคิดเห็น