int LED1=13; //กำหนด digitalpin (ประกาศตัวแปร) ของ ไฟ LED
int LED2=12;
int LED3=7;
int LED4=4;
int SW1=6; //กำหนด digitalpin (ประกาศตัวแปร) ของ Switch
int SW2=8;
int state=0; //นับ
void setup() {
pinMode(LED1,OUTPUT); //กำหนดให้ ไฟ LED เป็น OUTPUT
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(SW1,INPUT); // กำหนดให้ Switch เป็น INPUT
pinMode(SW2,INPUT);
}
void loop() {
if(digitalRead(SW1)) //อ่านค่า INPUT Switch 1
{
while(digitalRead(SW1)); //ในขณะที่กด Switch 1 จะทำการอ่านค่า
state++; //แล้ว state จะเพิ่มขึ้นตามจำนวนครั้งที่กด Switch 1 โดย state จะเริ่มจาก 0 ตามที่เราประกาศตัวแปรไว้
}
if(state==1 || state==2) //เมื่อ state=1หรือ2 บรรทัดต่อไปก็จะทำงาน ส่วนสัญลักษณ์คำสั่ง || หมายความว่า "หรือ"
{
digitalWrite(LED1,HIGH); //จะทำให้ LED1 ติด (digitalWrite)
}
if(state>=3 && state<=5) //ส่วนสัญลักษณ์คำสั่ง && หมายความว่า "และ"
{
digitalWrite(LED2,HIGH);
}
if(state>=6 && state<=8)
{
digitalWrite(LED3,HIGH);
}
if(state>=9 && state<=11)
{
digitalWrite(LED4,HIGH);
}
if(digitalRead(SW2))
{
Serial.println(digitalRead(SW2)); //อันนี้สั่งให้แสดงผลค่า state ทาง monitor
while(digitalRead(SW2)); //กำหนดให้เมื่อกดSW2 state จะเท่ากับ 0 แล้วไฟทุกดวงก็จะ LOW
state=0;
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
}
Serial.println(state);
delay(100);
}