งานที่4/63

Mini Project Arduino เปิดปิดไฟ ผ่าน App android ด้วย Bluetooth


จากที่หายกันไปนานแสนนานหลายเดือนไม่ได้มาเขียนบทความ วันนี้ก็จะมาทำ ก็ถึงเวลา ทำ App ควบคุมการเปิดปิดหลอดไฟ ผ่าน Bluetooth ด้วย Smart Phone ระบบ Android เป็น Application สำเร็จรูป แถมราคาถูกมากเหมาะกับน้องๆที่เริ่มต้นเขียนโปรแกรม มาเริ่มกันเลย ครับ.

อุปกรณ์มีดังต่อไปนี้ 

  1. Arduino Uno R3
  2. Bluetooth HC-06 แนะนำ เป็น HC-06 จะได้ไม่ต้องปวดหัวในการเปลี่ยน mode 
  3. Module Relay 4 CH
  4. สายไฟแบบ Male to Female
  5. หลอดไฟบ้าน ปลักไฟ อันนี้แล้วแต่สะดวก 

งบประมาณ ไม่เกิน 550 บาท 

https://www.ab.in.th/article/9/mini-project-arduino-%E0%B9%80%E0%B8%9B%E0%B8%B4%E0%B8%94%E0%B8%9B%E0%B8%B4%E0%B8%94%E0%B9%84%E0%B8%9F-%E0%B8%9C%E0%B9%88%E0%B8%B2%E0%B8%99-app-android-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-bluetooth

การต่อสาย ของอุปกรณ์ Arduino Module Relay Bluetooth HC-06 ต่ออุปกรณ์ดังนี้

หน้าตาของ App สามารถ Download ได้ที่นี้เลย 

https://play.google.com/store/apps/details?id=dev.merahkemarun.arduinobluetoothrelay4ch

Code สำหรับโปรแกรม

/*
โปรเจค Arduino เปิดปิดไฟ ผ่าน App android ด้วย Bluetooth
จากบทความ https://www.ab.in.th/b/9
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); //Pin10 RX , Pin 11 TX
#define Relay1 2
#define Relay2 3
#define Relay3 4
#define Relay4 5
char val;
void setup() {
pinMode(Relay1, OUTPUT);
pinMode(Relay2, OUTPUT);
pinMode(Relay3, OUTPUT);
pinMode(Relay4, OUTPUT);
digitalWrite(Relay1, LOW);
digitalWrite(Relay2, LOW);
digitalWrite(Relay3, LOW);
digitalWrite(Relay4, LOW);
mySerial.begin(9600);
Serial.begin(9600);
}
void loop() {
if ( mySerial.available() > 0 ) {
val = mySerial.read();
Serial.println(val);
}
//เปิด Relay ทีละตัว
if ( val == '1' ) {
digitalWrite(Relay1, HIGH);
}
else if ( val == '2' ) {
digitalWrite(Relay2, HIGH);
}
else if ( val == '3' ) {
digitalWrite(Relay3, HIGH);
}
else if ( val == '4' ) {
digitalWrite(Relay4, HIGH);
}
//เปิด Relay ทั้งหมด
else if ( val == '9' ) {
digitalWrite(Relay1, HIGH);
digitalWrite(Relay2, HIGH);
digitalWrite(Relay3, HIGH);
digitalWrite(Relay4, HIGH);
}
//ปิด Relay ทีละตัว
else if ( val == 'A' ) {
digitalWrite(Relay1, LOW);
}
else if ( val == 'B' ) {
digitalWrite(Relay2, LOW);
}
else if ( val == 'C' ) {
digitalWrite(Relay3, LOW);
}
else if ( val == 'D' ) {
digitalWrite(Relay4, LOW);
}
//ปิด Relay ทั้งหมด
else if ( val == 'I' ) {
digitalWrite(Relay1, LOW);
digitalWrite(Relay2, LOW);
digitalWrite(Relay3, LOW);
digitalWrite(Relay4, LOW);
}
}

หลักการทำงานของโปรแกรม การเชื่อมต่อระหว่าง Arduino และ hc-06 จะเป็นแบบ การสื้อสารแบบ Serial เนื่องจาก Arduino ของเรามี Hardware Serial เพียงแค่ 1 ชุดเราจึงจำเป็นต้องใช้ Library Software Serial #include

เมื่อโทรศัพท์มือถือของเรา เข้ามาทำการเชื่อมต่อ Buletooth ของเราเมื่อกดปุ่ม เปิดไฟ จะทำการส่งค่าตัวเลข 1 มายัง Bluetooth แล้ว Bluetooth ก็จะส่งข้อมูลผ่าน Serial มาบอก Arduino ว่า 1 ทำให้ Relay ตัวที่ 1 เปิดไฟ ขึ้นมา ในช่องอื่นๆ ก็เช่นกัน  

เมื่อเรากดปิดไฟ ตัวโปรแกรมของ App ก็จะส่งตัวอักษรพิมพ์ ใหญ่ ตัว A เพื่อทำการปิดไฟ หลักการก็ประมาณนี้ครับ

ข้อระวัง เวลาใช้ไฟบ้าน AC ต่อกับ Relay ให้ระวังการต่อให้ดีด้วยน่ะครับ อาจจะเกิดอันตรายเกืดขึนได้ สำหรับน้องๆเล็กๆ ควรมีผู้ปกครองดูแลด้วยน่ะครับ 

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้