|
| #include <SoftwareSerial.h> รวมไลบรารีSoftwareSerial.h เพื่อให้สามารถใช้ฟั่งชั่นต่างๆได้
|
| const int rxPin = 4; |
| const int txPin = 2;
|
| |
| SoftwareSerial mySerial(rxPin, txPin);ตั้งค่าmySerialพอร์ตSoftwareSerial |
| |
| const int Loads[] = {9, 10, 11, 12}; กำหนดค่าตัวแปร |
| |
| int state = 0;กำหนดค่าตัวแปร |
| int flag = 0;กำหนดค่าตัวแปร |
| |
| void setup() |
| { |
| for (int i=0;i<4;i++) คำสั่งกำหนดเงื่อนไขให้นับค่าiว่า=4รึไม่ถ้าไม่ก้ทำงานไปเรื่อยๆจนกว่าiจะ=4จึงจะหยุด |
| { |
| pinMode(Loads[i], OUTPUT);กำหนดouiput |
| } |
| mySerial.begin(9600); |
| for (int i=0;i<4;i++) คำสั่งกำหนดเงื่อนไขให้นับค่าiว่า=4รึไม่ถ้าไม่ก้ทำงานไปเรื่อยๆจนกว่าiจะ=4จึงจะหยุด |
| { |
| digitalWrite(Loads[i], LOW);สั่งให้Loads[i]เป็น0 |
| } |
| |
| } |
| |
| void loop() |
| { |
| |
| if(mySerial.available() > 0)เงื่องไขถ้าmySerial.availableมากกว่า0ให้ทำในปีกกา |
| { |
| state = mySerial.read(); |
| flag=0; |
| } |
| |
| switch(state)คำสั่งใช้ในการจัดการเงื่อนไขหลายเงื่อนไข |
| { |
| case '0':digitalWrite(Loads[0], HIGH);สั่งให้Loads[0]เป็น1 |
| flag=1; |
| break;คำสั่งให้ออกจากloopทันที |
| case '1':digitalWrite(Loads[0], LOW);สั่งให้คำสั่งLoads[0]เป็น0 |
| flag=1; |
| break;คำสั่งให้ออกจากloopทันที |
| case '2':digitalWrite(Loads[1], HIGH);สั่งให้คำสั่งLoads[1]เป็น1 |
| flag=1; |
| break;คำสั่งให้ออกจากloopทันที |
| case '3':digitalWrite(Loads[1], LOW);สั่งให้คำสั่งLoads[1]เป็น0 |
| flag=1; |
| break;คำสั่งให้ออกจากloopทันที |
| case '4':digitalWrite(Loads[2], HIGH);สั่งให้คำสั่งLoads[2]เป็น1 |
| flag=1; |
| break;คำสั่งให้ออกจากloopทันที |
| case '5':digitalWrite(Loads[2], LOW);สั่งให้คำสั่งLoads[2]เป็น0 |
| flag=1; |
| break;คำสั่งให้ออกจากloopทันที |
| case '6':digitalWrite(Loads[3], HIGH);สั่งให้คำสั่งLoads[3]เป็น1 |
| flag=1; |
| break;คำสั่งให้ออกจากloopทันที |
| case '7':digitalWrite(Loads[3], LOW);สั่งให้คำสั่งLoads[3]เป็น0 |
| flag=1; |
| break;คำสั่งให้ออกจากloopทันที |
| case '8':digitalWrite(Loads[0], LOW);สั่งให้คำสั่งLoads[0]เป็น0 |
| digitalWrite(Loads[1], LOW);สั่งให้คำสั่งLoads[1]เป็น0 |
| digitalWrite(Loads[2], LOW);สั่งให้คำสั่งLoads[2]เป็น0 |
| digitalWrite(Loads[3], LOW);สั่งให้คำสั่งLoads[3]เป็น0 |
| flag=1; |
| break;คำสั่งให้ออกจากloopทันที
|
ความคิดเห็น
แสดงความคิดเห็น