เป้าหมายและหลักการทำงานของโปรเจค
ต้องการหรี่ไฟ หรือควบคุมแสงสว่างของหลอดไฟหรืออุปกรณ์ไฟฟ้าอื่นๆ แบบไร้สายผ่านโทรศัพท์มือถือด้วยแอพแอนดรอยด์ (App Android) เพื่อเป็นการประหยัดพลังงาน และความสะดวกในการควบคุม ซึ่งจะทำให้หลอดไฟกินไฟน้อยลง นอกจากนั้นยังช่วยทำให้ยืดอายุหลอดไฟได้ยาวนานขึ้น เพราะไม่ต้องทำงานเต็มกำลังความสว่าง 100% ตลอดเวลา
ต้องการหรี่ไฟ หรือควบคุมแสงสว่างของหลอดไฟหรืออุปกรณ์ไฟฟ้าอื่นๆ แบบไร้สายผ่านโทรศัพท์มือถือด้วยแอพแอนดรอยด์ (App Android) เพื่อเป็นการประหยัดพลังงาน และความสะดวกในการควบคุม ซึ่งจะทำให้หลอดไฟกินไฟน้อยลง นอกจากนั้นยังช่วยทำให้ยืดอายุหลอดไฟได้ยาวนานขึ้น เพราะไม่ต้องทำงานเต็มกำลังความสว่าง 100% ตลอดเวลา
รู้จัก PWM (Pulse Width Modulation)
PWM คือเทคนิดการส่งสัญญาณแบบสวิต หรือ ส่งค่าดิจิตอล 0-1 โดยให้สัญญาณความถี่คงที่ การควบคุมระยะเวลาสัญญาณสูงและสัญญาณต่ำ ที่ต่างกัน ก็จะทำให้ค่าแรงดันเฉลี่ยของสัญญาณสวิต ต่างกันด้วย
สำหรับโมดุล PWM ของ Arduino มีความละเอียด 8 bit หรือ ปรับได้ 255 ระดับ ดังนั้นค่าสัญญาณ 0 โวลต์ถึง 5 โวลต์ จะถูกแสดงเป็นสัญญาณแบบดิจิตอล จะได้ 0 ถึง 255
PWM คือเทคนิดการส่งสัญญาณแบบสวิต หรือ ส่งค่าดิจิตอล 0-1 โดยให้สัญญาณความถี่คงที่ การควบคุมระยะเวลาสัญญาณสูงและสัญญาณต่ำ ที่ต่างกัน ก็จะทำให้ค่าแรงดันเฉลี่ยของสัญญาณสวิต ต่างกันด้วย
สำหรับโมดุล PWM ของ Arduino มีความละเอียด 8 bit หรือ ปรับได้ 255 ระดับ ดังนั้นค่าสัญญาณ 0 โวลต์ถึง 5 โวลต์ จะถูกแสดงเป็นสัญญาณแบบดิจิตอล จะได้ 0 ถึง 255
อุปกรณ์ที่ใช้ในโปรเจค
2. Sensor Shield V 5.0
3. PWM Dimming Adjust 220V Module
4. Jumper (F2F) 20cm Female to Female
5. Bluetooth HC-06 Slave
2. Sensor Shield V 5.0
3. PWM Dimming Adjust 220V Module
4. Jumper (F2F) 20cm Female to Female
5. Bluetooth HC-06 Slave
อุปกรณ์ไฟฟ้าอื่นๆ เช่น หลอดไฟ , ปลั๊กไฟ , ขั้วหลอดไฟ , สายไฟ หาซื้อได้ตามร้านขายอุปกรณ์ไฟฟ้าทั่วๆไป
*** การใช้งานแบบไม่ต้องการเชื่อมต่อสาย USB กับ คอมพิวเตอร์ ให้ใช้ Adapter DC 9V 1A Power Supply เป็นแหล่งจ่ายไฟ เสียบเข้ากับ DC Power Jack ของ บอร์ด Arduino ***
*** การใช้งานแบบไม่ต้องการเชื่อมต่อสาย USB กับ คอมพิวเตอร์ ให้ใช้ Adapter DC 9V 1A Power Supply เป็นแหล่งจ่ายไฟ เสียบเข้ากับ DC Power Jack ของ บอร์ด Arduino ***
(เพื่อความปลอดภัย : ผู้ทำโปรเจค ควรมี ความรู้ด้านไฟฟ้าเป็นอย่างดี)
ขั้นตอนการทำโปรเจค
เปิดโปรแกรม Arduino IDE เขียนโค้ดและอัพโหลดโค้ดดังนี้
int PWM_Pin = 3;
void setup() {
pinMode(PWM_Pin, OUTPUT);
}
void loop() {
analogWrite(PWM_Pin, 0);
delay(1000);
analogWrite(PWM_Pin, 64);
delay(1000);
analogWrite(PWM_Pin, 127);
delay(1000);
analogWrite(PWM_Pin, 191);
delay(1000);
analogWrite(PWM_Pin, 255);
delay(1000);
}
ไปที่ Tools > Board เลือกเป็น Arduino UNO แล้วเลือกพอร์ตที่ปรากฏ ในตัวอย่างเลือกเป็น "COM8"
กดปุ่ม เพื่ออัพโหลด หากสามารถอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จ จะแสดงคำว่า Done uploading. ที่แถบด้านล่าง
ผลลัพธ์การทำงาน :
- หลอดไฟสว่าง 0 %
- หลอดไฟสว่าง 25 %
- หลอดไฟสว่าง 50 %
- หลอดไฟสว่าง 75 %
- หลอดไฟสว่าง 100 %
วนลูปไปเรื่อยๆ แสดงว่า การเชื่อมต่อ PWM Dimming Module ของเรานั้นถูกต้อง และ พร้อมใช้งานแล้ว
2. เชื่อมต่อสาย Bluetooth HC-06
3. อัพโหลดโค้ด หรี่ไฟ AC 220V ผ่านบลูทูธ
เปิดโปรแกรม Arduino IDE เขียนโค้ดและอัพโหลดโค้ดดังนี้
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(4, 5); // RX, TX
int PWM_Pin = 3;
char input;
int minBright = 50;
int maxBright = 190;
bool stringComplete = false;
void setup() {
Serial.begin(9600);
BTSerial.begin(9600);
pinMode(PWM_Pin, OUTPUT);
Serial.println("AC Light Dimmer program has started.");
}
void loop() {
serialEvent();
if (stringComplete) {
int fadeValue = map(input, 0, 100, minBright, maxBright);
analogWrite(PWM_Pin, fadeValue);
Serial.println(fadeValue);
stringComplete = false;
}
}
void serialEvent() {
while (BTSerial.available()) {
input = BTSerial.read();
stringComplete = true;
}
}
*** ค่า PWM ที่ minBright และ maxBright สามารถปรับได้ ตามความเหมาะสม ***
4. ทดสอบการทำงาน
เปิดการใช้งานบลูทูธ และ เชื่อมต่อกับ HC-06
ใช้ สมาร์ทโฟน Android เปิดการใช้งานบลูทูธ และ เลือกเชื่อมต่อกับ HC-06
ใส่รหัสผ่าน 1234 -> ตกลง
ใส่รหัสผ่าน 1234 -> ตกลง
https://community.createlabz.com/wp-content/uploads/2019/04/AC-Light-Dimmer-aia-and-apk.zip
คลายซิป และ เลือกไฟล์ AC_Light_Dimmer.apk เพื่อทำการติดตั้งโปรแกรม
คลายซิป และ เลือกไฟล์ AC_Light_Dimmer.apk เพื่อทำการติดตั้งโปรแกรม
เลือกไอคอน Bluetooth
เลือก HC-06
credit : https://community.createlabz.com/knowledgebase/bluetooth-controlled-ac-light-dimmer-with-android-mobile-app/