โปรเจกต์ Home automation ด้วย Arduino
สร้างระบบ Home automation ที่รองรับ Bluetooth และสั่งการด้วยเสียงด้วยตัวคุณเอง !!
สร้างระบบ Home automation ที่รองรับ Bluetooth และสั่งการด้วยเสียงด้วยตัวคุณเอง !!
โปรเจกต์นี้คือระบบบ้านอัจฉริยะแบบ IoT ที่คุณสามารถควบคุมไฟผ่าน Bluetooth ได้
Arduino
HC-05 Bluetooth module
หมายเหตุ: ในขณะที่เชื่อมต่อ Pins Tx และ Rx ของ Bluetooth module เข้ากับ Arduino นั้น Pins Tx จะกลายเป็น Pins Rx บน Arduino และในทางกลับกัน ดังนั้นใน Code ตอนที่กำหนดค่า Object BTserial คุณจะต้องระบุลำดับของ Pins Tx และ Rx ตามที่เชื่อมต่อจริงใน Arduino
SoftwareSerial BTserial(3,2);
Relay module
Load
หมายเหตุ: ควรระมัดระวังอย่างมากในขณะที่ทำงานกับแรงดันไฟฟ้า AC แรงดันไฟฟ้า AC สามารถอยู่ในช่วง 110 ถึง 240 โวลต์ ขึ้นอยู่กับแต่ละประเทศ แรงดันไฟฟ้าระดับนี้อันตรายมาก ตรวจสอบให้แน่ใจว่า Relay module ของคุณสามารถรองรับระดับแรงดันไฟฟ้า AC ที่จ่ายเข้ามาได้
หมายเหตุ: Pins Common, Normally Open และ Normally Closed บน Relay module จะอยู่ในรูปแบบของขั้วต่อแบบขันสกรู (Screw terminals) โดย Pins Normally Open จะเป็น Pins ที่อยู่ขวาสุดของแต่ละหน่วย Relay และ Pins Common จะเป็น Pins ที่อยู่ซ้ายสุดของแต่ละหน่วย Relay

ผมได้ใช้ MIT App inventor 2 ในการสร้างแอปที่สามารถควบคุม LEDs บน Arduino ผ่าน Bluetooth ผมเลือกที่จะสร้างแอปขึ้นมาเองแทนที่จะติดตั้งจาก Play Store ด้วยเหตุผล 2 ประการ:
การออกแบบ


เท่านี้การออกแบบก็เสร็จสมบูรณ์ คราวนี้เรามาเขียน Code กัน
ในส่วน Blocks editor,

เริ่มแรก เราเริ่มต้นด้วยการรวม Software serial library ซึ่งจะถูกใช้เพื่อสร้างการสื่อสารระหว่าง HC-05 Bluetooth module และแอป เราจะใช้ Software serial library เพื่อสร้าง Object ที่ชื่อว่า BTserial และระบุ Parameters เป็น Pins บน Arduino ที่ต่อกับ Pins Tx และ Rx ของ HC-05
#include<SoftwareSerial.h>
SoftwareSerial BTserial(3,2); // TX|RX
ถัดไป เราประกาศ Variable ทั้งหมดที่จำเป็นสำหรับโปรแกรม เราจะต้องมี Variable สำหรับเก็บข้อความที่ได้รับจาก HC-05 module และ Variable ที่ระบุ Pins ที่ต่อกับ LEDs
String msg = "";
String v1 = "";
int light_1 = 11;
int light_2 = 10;
int light_3 = 9;
int
ในส่วน void setup เราตั้งค่า Serial monitor และ Virtual Bluetooth serial ที่ Baudrate 9600
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
BTserial.begin(9600);
}
สุดท้าย ในส่วน void loop เราตรวจสอบคำสั่งจาก Bluetooth serial และเปิดปิดไฟตามความเหมาะสม
void loop() {
// put your main code here, to run repeatedly:
if (BTserial.available() > 0){
msg = BTserial.parseInt();
}
if(msg == "11"){
digitalWrite(light_1,LOW);
}
if(msg == "10"){
digitalWrite(light_1,HIGH);
}
if(msg == "21"){
digitalWrite(light_2,LOW);
}
if(msg == "20"){
digitalWrite(light_2,HIGH);
}
if(msg == "31"){
digitalWrite(light_3,LOW);
}
if(msg == "30"){
digitalWrite(light_3,HIGH);
}
if(msg == "41"){
digitalWrite(light_3,LOW);
}
if(msg == "40"){
digitalWrite(light_3,HIGH);
}
Serial.println(v1);
delay(500);
} สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้
ประเมินราคาอัตโนมัติ + Reference Code
กรอกข้อมูลให้ครบ ระบบจะสร้างรหัสอ้างอิงและประเมินราคา/ระยะเวลาคร่าว ๆ จากรายละเอียดงาน แล้วให้กด Add LINE พร้อมพิมพ์รหัสนี้เพื่อคุยต่อ
ส่งข้อมูลเรียบร้อย
ขั้นตอนต่อไป: กดปุ่มด้านล่าง ระบบจะคัดลอกข้อความพร้อม Reference Code ให้ แล้วพาไปหน้า LINE ทันที เอาข้อความนั้นส่งใน LINE เพื่อให้ทีมงานดึงข้อมูลจากฟอร์มนี้มาต่อได้เลย
Reference Code
รีวิวจากคนใช้งานจริง
ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย
ยังไม่มีรีวิวบนหน้านี้ ถ้าเคยใช้งานหรือมีข้อเสนอแนะ เขียนเป็นคนแรกได้เลย