int Sw1 = 2 ; //Start
int Sw2 = 3 ; //Mode
int led1 = 4 ;
int led2 = 5 ;
int led3 = 6 ;
int Mode ;
int Status = 0 ;
void setup() {
pinMode (Sw1,INPUT_PULLUP) ;
pinMode (Sw2,INPUT_PULLUP) ;
pinMode (led1,OUTPUT) ;
pinMode (led2,OUTPUT) ;
pinMode (led3,OUTPUT) ;
Serial.begin(9600);
Serial.println(Mode);
}
void loop() {
int sw_st = digitalRead(Sw1);
int sw_md = digitalRead(Sw2);
// ตรวจสอบการกดปุ่ม Mode
if (sw_st == 0) {
delay(200); // หน่วงเวลาเพื่อป้องกันการเด้งของปุ่ม
Status++;
if (Status > 1) {
Status = 0;
}
Serial.print("Mode");
Serial.println(Mode);
Serial.print("Status : ");
Serial.println(Status);
}
if (Status == 0)
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
//
if (Status == 1 && sw_md == LOW) {
delay(200); // หน่วงเวลาเพื่อป้องกันการเด้งของปุ่ม
Mode++;
if (Mode >= 4) {
Mode = 0;
}
Serial.print("Mode");
Serial.println(Mode);
Serial.print("Status : ");
Serial.println(Status);
}
// ตรวจสอบการกดปุ่ม Start
if (Status == 1)
{
delay(50); // หน่วงเวลาเล็กน้อยเพื่อป้องกันการเด้งของปุ่ม
switch (Mode)
{
case 0:
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
break;
case 1:
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
break;
case 2:
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
break;
case 3:
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
break;
}
}
} // loop