บทความ Project Home Control - Arduino Chip

Home Control Hardware

 

ตอนที่ 1. - โดย Tumrobot

โปรเจค Home Control เวอร์ชั่น Arduino chip เป็นการ นำโปรเจค Home Control - Kit เวอร์ชั่น PIC MCU มาปรับปรุง Code ใหม่ให้สามารถใช้งานได้กับ Arduino Chip เพื่อการเรียนรู้ที่หลากหลายมากยิ่งขึ้นโดยเฉพาะผู้ที่ชื่นชอบในการเขียนโปรแกรมบนตัว Arduino ซึ่งมีความง่ายและตัวอย่างข้อมูลที่ค่อนข้างหาได้ง่ายบน social community

ดังนั้นจึงเป็นที่มาของ Project Home Control - Arduino

ซึ่งหลักๆแล้ว Hardware ส่วนอื่นๆ ยังคงเหมือนเดินการ Setup ระบบต่างๆ ก็ยังคงเหมือนเดิมเพียงแต่ เป็นแค่ตัว MCU จาก PIC มาเป็น Arduino เท่านั้นเองครับ

โครงสร้างทาง Hardware ของกล่อง Home Control - Arduino

Home Control - Arduino ตัวนี้ ใช้ ATMEGA328P-PU ซึ่งเป็น MCU จากค่าย ATMEL ปกติแล้วก่อนหน้านี้นักพัฒนาส่วนใหญ่จะใช้งานด้วยโปรแกรม AVR ซึ่งตอนนี้ตัว MCU ตัวนี้เค้านิยมเขียนนำมาพัฒนาด้วย Arduino แล้วครับ

อุปกรณ์ที่ใช้หลักๆ

1. ATMEGA328P-PU
2. Xport
3. LCD16x2
4. DS1302
5. LM1117-3.3

 

หลักการทำงาน

ATMEGA328P-PU เป็นตัว Controller หลักที่จะคอยรับ ASCII Command ที่ส่งผ่านมาจากทาง Xport แล้วนำมาเทียบ Command เพื่อให้ทราบว่าเราสั่งให้ตัว กล่องทำงานในขั้นตอนอะไรอยู่ตอนนี้ ซึ่งรายละเอียดก็จะคล้ายๆ กับเวอร์ชั่น PIC MCU หลังจากที่เปรียบเทียบคำสั่งเรียบร้อยแล้วตัว MCU ก็จะทำหน้าที่สั่งเปิด หรือสั่งปิด รีเลย์เพื่อที่จะสามารถควบคุม output ต่อไป

Xport มีหน้าที่แปลงข้อมูล TCP ให้เป็นข้อมูล Serial ซึ่งเป็นข้อมูลที่ MCU รู้จักและสามารถติดต่อนำไปแปลงคำสั่งต่อไปได้โดยง่ายโดยไม่มีความยุ่งยากในด้าน TCP Stack แม้แต่นิดเดียว และที่สำคัญตัว Xport นั้นจะคอยเป็นตัว Mini Server ที่จะสามารถปรับแก้ส่วนของ IP หรือ Port หรือแม้แต่ให้ Xport ติดต่อกับ PHP Server เพื่อเก็บข้อมูลลงบน Database ก็สามารถทำได้ง่ายดาย และที่สำคัญอีกหน้าทีนึงของ Xport ก็คือเราสามารถสั่ง Update Firmware Over Ethenet ได้เลยครับ โดยไม่ต้องเปิดฝา Box ออกหรือแกะ Box ที่ติดตั้งใช้งานแล้วลงมาเพื่อที่จะอัพโปรแกรมใหม่เข้าไป ทำให้สะดวกและประหยัดเวลาในการพัฒนา ด้วยครับ

LCD16x2 ใช้สำหรับแสดงเวลา บนกล่อง Home Control หรือเราสามารถนำไปแสดงผลข้อมูลด้านอื่นๆ ด้วยก็ได้ ขึ้นอยู่กับความต้องการของเรา โดยในอนาคตอาจจะต้องการเพิ่มการแสดงผลในส่วนของการวัดอุณหภูมิ และความชื้นก็สามารถเพิ่มเข้าไปได้ครับ

DS1302 ใช้สำหรับการตั้งเวลาครับ ตัวนี้ผมทดสอบใช้งานกับแรงดัน 3.3V ก็ใช้งานได้ดีครับ

LM1117-3.3 ทำหน้าที่แปลงแรงดันจาก input ที่ป้อนให้กับ Box จาก 5V เป็น 3.3V เพื่อเลี้ยง MCU, Xport และ DS1302

รายละเอียดของวงจร

   

วงจรแบบ PDF ไฟล์สามารถดาวน์โหลดได้จาก ที่นี่

Code สำหรับ Arduino Chipset ตัวนี้ก็สามารถพัฒนาได้บน Arduino IDE ได้ตามปกติ ซึ่ง Software Version ล่าสุดสามารถดาวน์โหลดได้ที่

http://arduino.cc/en/Main/Software

จากนั้นก็นำไฟล์มา Unzip ก็สามารถนำมาใช้งานได้เลยครับ

สำหรับ Code ของ Home Control - Arduino Kit สามารถดาวน์โหลดได้ ที่นี่

 

ตัวอย่าง Code ของ Home Control - Arduino Kit พร้อมกับ Library สำหรับ Project นี้

 

 

อ่านต่อ ตอนที่ 2