ปรับแก้คะแนน 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
ความคิดเห็น
แสดงความคิดเห็น