Arduino Based Automation ผ่าน Bluetooth
Hardware
Input
- Module Bluetooh HC - 05
Output
- Relay 12V 4 ตัว
- หลอดไฟ 12V 4 หลอด
Software
#include <SoftwareSerial.h> // เรียกใช้ไลบารี่
const int rxPin = 4; // กำหนด rxPin ใช้ขา 4
const int txPin = 2; // กำหนด txPin ใช้ขา 2
SoftwareSerial mySerial(rxPin, txPin); // ตั้งค่าข้อมูล
const int Loads[] = {9, 10, 11, 12}; // กำหนด Loads = 9,10,11,12
int state = 0; // ตั้ง state = 0
int flag = 0; // ตั้ง flag = 0
void setup()
{
for (int i=0;i<4;i++) // กำหนด i=0 ถ้า i น้อยกว่า 4 ให้ i บวกเพิ่ม
{
pinMode(Loads[i], OUTPUT); // กำหนด Loads[i] เป็น OUTPUT
}
mySerial.begin(9600); // ความเร็บในการรับ-ส่งข้อมูล 9600
for (int i=0;i<4;i++) // กำหนด i=0 ถ้า i น้อยกว่า 4 ให้ i บวกเพิ่ม
{
digitalWrite(Loads[i], LOW); // เขียน Loads[i] = LOW โดยใช้วนลูป for
}
}
void loop()
{
if(mySerial.available() > 0) // ถ้า mySerial.available มากกว่า 0
{
state = mySerial.read(); // state = mySerial.read
flag=0; // flag = 0
}
switch(state) // ให้ switch รับค่าจาก state
{
case '0':digitalWrite(Loads[0], HIGH); // กรณี 0 ให้ Loads[0] เป็น HIGH
flag=1; // flag = 1
break; // หยุด
case '1':digitalWrite(Loads[0], LOW); // กรณี 1 ให้ Loads[0] เป็น LOW
flag=1; // flag = 1
break; // หยุด
case '2':digitalWrite(Loads[1], HIGH); // กรณี 2 ให้ Loads[1] เป็น HIGH
flag=1; // flag = 1
break; // หยุด
case '3':digitalWrite(Loads[1], LOW); // กรณี 3 ให้ Loads[1] เป็น LOW
flag=1; // flag = 1
break; // หยุด
case '4':digitalWrite(Loads[2], HIGH); // กรณี 4 ให้ Loads[2] เป็น HIGH
flag=1; // flag = 1
break; // หยุด
case '5':digitalWrite(Loads[2], LOW); // กรณี 5 ให้ Loads[2] เป็น LOW
flag=1; // flag = 1
break; // หยุด
case '6':digitalWrite(Loads[3], HIGH); // กรณี 6 ให้ Loads[3] เป็น HIGH
flag=1; // flag = 1
break; // หยุด
case '7':digitalWrite(Loads[3], LOW); // กรณี 1 ให้ Loads[0] เป็น LOW
flag=1; // flag = 1
break; // หยุด
case '8':digitalWrite(Loads[0], LOW); // กรณี 8 ให้ Loads[0] เป็น LOW
digitalWrite(Loads[1], LOW); // ให้ Loads[1] เป็น LOW
digitalWrite(Loads[2], LOW); // ให้ Loads[2] เป็น LOW
digitalWrite(Loads[3], LOW); // ให้ Loads[3] เป็น LOW
flag=1; // flag = 1
break; // หยุด
}
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น