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);
 }