บทความ Project Home Control ควบคุมเครื่องใช้ไฟฟ้าในบ้านด้วย Android

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

Home Control กับระบบหรี่ไฟ

ระบบหรี่ไฟที่จะใช้ต่อเข้ากับ เครื่อง Home Control Kit นี้เป็นหลอดไฟฟ้าแบบหลอดไส้ครับ ซึ่งหลอดตะเกียบจะไม่สามารถนำมาใช้งานได้เนื่องจากในหลอดตะเกียบมีวงจร ภาคจ่ายไฟฟ้าให้กับตัวหลอดซึ่งหลักการหรี่ไฟนั้นเราใช้วิธีการลดแรงดันที่จ่ายให้กับหลอดไฟ เพื่อให้ค่าความสว่างของหลอดเปลี่ยนแปลงไปตามแรงดันที่เราจ่ายเข้าไปให้กับหลอดไฟ

 

ตัวอย่างหลอดไส้ขนาด 40W

ตัวอย่างหลอดตะเกียบขนาด 40W (ใช้งานไม่ได้นะครับ)

 

 

 

รูปวงจรหรี่ไฟด้วย MOSFET

 

หลักการทำงานคร่าวๆของวงจรเมื่อสัญญาณ PWM เข้ามาที่ R1 U1 จะทำหน้าที่ Isolate การ Bias transister ที่อยู่ภายใน Opto และก็ไป Bias MOSFET อีกทีนึงซึ่งจะทำหน้าที่ ควบคุมแรงดันที่จะจ่ายเข้าไปให้กับหลอดไฟนั่นเอง

เนื่องจากว่าการสั่งควบคุมการทำงานของวงจรชุดหรี่ไฟนั้นจำเป็นต้องใช้สัญญาณ PWM ป้อนเข้าที่ J1 ดังนั้นเราสามารถกำหนด Input ที่เข้ามาได้ 2 วิธีคือ

1. ให้ Main MCU ในระบบของเราบน Board Home Control นั้นก็คือ PIC18F458-I/P เป็นตัวส่งสัญญาณ PWM ออกมาจาก PIN แล้วไปสั่งงานเข้ากับวงจรชุดหรี่ไฟฟ้า เพื่อให้สามารถควบคุมปริมาณความเข้มแสงของหลอดไฟ

2. เพิ่ม MCU เข้าไปในระบบอีก 1 ตัวเพื่อที่จะสามารถทำงานอิสระและส่งสัญญาณ PWM ไปที่วงจรชุดหรี่ไฟได้อย่างต่อเนื่องและช่วยลดภาระของ MCU ตัวหลักที่ต้องคอยรับคำสั่งและสั่งงานควบคุมเอาท์พุตต่างด้วย

การเพิ่ม MCU เข้าไปควบคุมระบบหรีไฟซึ่งเราเลือกใช้ Arduino ATMEGA16 เพิ่มเข้ามาเนื่องจากว่าการพัฒนาค่อนข้างง่ายกว่า MCU ตัวอื่่นๆครับ

   

ขั้นตอนการเขียนโปรแกรมบน Arduino นั้นก็สามารถทำได้ง่ายๆ ครับ

แค่เราประกาศ const int DimmerPin = 9; // the pin that the LED is attached to

จากนั้น ใน viod loop เราก็แค่สั่งงานตามตัวอย่างต่อไปนี้

 

void loop(){

// read the most recent byte (which will be from 0 to 255):
brightness = (brightness*255)/100;


// set the brightness of the Dimmer Pin:
analogWrite(DimmerPin, brightness );

}

 

ส่วน Code Arduino Version เต็มและการประยุกต์เข้ากับชุด HomeControl Kit นั้นจะสามารถดาวน์โหลดได้และอ่านขั้นตอนการเชื่อมต่อได้ในเร็วๆนี้ครับ

 

Android Application

หลังจากที่เราเตรียมพร้อมในส่วนของ Hardware เรียบร้อยแล้วก่อนอื่นก็มาดูในส่วนของตัวควบคุมการหรี่่ไฟนั่นก็คือ Android App ของเรานั่นเอง โดยในส่วนของ Application นั้นตรงส่วนของ xml layout ออกแบบหน้าตาตัว UI ไว้ดังนี้

 

 

โดยหน้า UI ที่จะสั่งงานควบคุมการหรี่ไฟนั้นจะมี

1. พารามิเตอร์ที่รับค่า IP และ Port ของกล่อง Home Control ปลายทางและแสดงเป็นข้อความไว้ด้านบนสุดของ App ในหน้านี้

2. ภาพแสดงผลหลอดไฟเป็น Animation

3. Slide Bar เพื่อสั่งงานควบคุมปริมาณความเข้มแสงของหลอดไฟ

4. Min/Max Button สำหรับ

5. พารามิเตอร์ที่แสดง % ที่เราต้องการส่งไปให้กับ Home Control Box

ส่วนใน Main Application เราสามารถเพิ่ม Tab ใหม่เข้าไปสำหรับ หน้าควบคุมการหรี่ไฟ ได้ดังนี้

   

Android sample code เร็วๆนี้ครับ