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



ความคิดเห็น
แสดงความคิดเห็น