เเก้ผลสอบการประเมิน
Arduino Based Home Automation Project via Bluetooth
1แยกInput/Output
2.อธิบายSoftware
#include <SoftwareSerial.h>//การเรียกใช้ไรบรารี้
const int rxPin = 4;//กำหนด rxPin = 4
const int txPin = 2;//กำหนด txPin = 2
SoftwareSerial mySerial(rxPin, txPin);//กำหนดขาของ RX และ TX
const int Loads[] = {9, 10, 11, 12};//กำหนดตัวแปลแบบอะเลย์
int state = 0;//กำหนด state = 0
int flag = 0;//กำหนด flag = 0
void setup()
{
for (int i=0;i<4;i++)
{
pinMode(Loads[i], OUTPUT);//สร้าง Output แบบวนลูบจงกว่าจะครบ 4 คร้งโดยใช้ For
}
mySerial.begin(9600);//ตั้งค่าเริ่มต้นของ mySerial
for (int i=0;i<4;i++)
{
digitalWrite(Loads[i], LOW)// กำหนดให้ D9 D10 D11 D12 = LOW โดยใช้วิธีวงลูป For
}
}
void loop()
{
if(mySerial.available() > 0)
{
state = mySerial.read();//ถ้าบลูทูธมีการส่งค่า > 0 ให้ state = mySerial.read() เก็บค่า
flag=0;//กำหนดค่า flag = 0
}
switch(state)//ตรวจสอบค่า state
{
case '0':digitalWrite(Loads[0], HIGH);//ถ้า = 0 สั่ง D9 = HIGH
flag=1;
break;//break ถ้ายังเป็นจริงให้หลุดออกลูป
case '1':digitalWrite(Loads[0], LOW);//ถ้า = 1 สั่ง D9 = LOW
flag=1;
break;
case '2':digitalWrite(Loads[1], HIGH);//ถ้า = 2 สั่ง D10 = HIGH
flag=1;
break;
case '3':digitalWrite(Loads[1], LOW);//ถ้า = 3 สั่ง D10 = LOW
flag=1;
break;
case '4':digitalWrite(Loads[2], HIGH);//ถ้า = 4 สั่ง D11 = HIGH
flag=1;
break;
case '5':digitalWrite(Loads[2], LOW);//ถ้า = 5 สั่ง D11 = LOW
flag=1;
break;
case '6':digitalWrite(Loads[3], HIGH);//ถ้า = 6 สั่ง D12 = HIGH
flag=1;
break;
case '7':digitalWrite(Loads[3], LOW);//ถ้า = 7 สั่ง D12 = LOW
flag=1;
break;
case '8':digitalWrite(Loads[0], LOW);//ถ้า = 8 สั่ง D9 = LOW
digitalWrite(Loads[1], LOW); D10 = LOW
digitalWrite(Loads[2], LOW); D11 = LOW
digitalWrite(Loads[3], LOW); D12 = LOW
flag=1;
break;
}
}
3.Flow chart
ความคิดเห็น
แสดงความคิดเห็น