#define R 13 //กำหนดขาที่นำไปต่อกับรีเลย์
#define L 12
#define relay 11
#define SW1 2
#define SW2 4
#define SW3 7
char test; //สร้างตัวแปรไว้สำหรับรอรับข้อมูล
int sw1State;
int sw2State;
int sw3State;
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
pinMode(SW1,INPUT_PULLUP);
pinMode(SW2,INPUT_PULLUP);
pinMode(SW3,INPUT_PULLUP);
pinMode(R, OUTPUT); // กำหนดโหมดให้เป็น Output
pinMode(L, OUTPUT);
pinMode(relay, OUTPUT);
}
void loop() // run over and over
{
sw1State = digitalRead(SW1);
sw2State = digitalRead(SW2);
sw3State = digitalRead(SW3);
digitalWrite(relay, 1);
if (Serial.available()) // ตรวจสอบว่ามีข้อมูลเข้ามาหรือไม่
test = Serial.read();
else if (sw1State == 1) // ถ้าข้อมูลที่เข้ามาคือ 1, 2, 3 ให้ทำงานตามที่กำหนด
{
digitalWrite(R, 1);
digitalWrite(L, 0);
if (sw2State == 1)
{
Serial.println("sw2State");
digitalWrite(R, 0);
digitalWrite(L, 0);
test = 0;
sw2State = 0;
}
sw1State = 0;
}
else if (test == '2')
{
sw1State = 0;
digitalWrite(R, 0);
digitalWrite(L, 1);
if (sw3State == 1)
{
Serial.println("sw3State");
digitalWrite(R, 0);
digitalWrite(L, 0);
test = 0;
sw3State = 0;
}
}
}