// โปรแกรมควบคุมขา Digital INPUT
//
int sw  = 7;			  	//ประกาศตัวแปรชื่อ sw มีค่าเท่ากับ  D7
int led1 = 9;			  	//ประกาศตัวแปรชื่อ led มีค่าเท่ากับ D9
int led2 = 10;			  	//ประกาศตัวแปรชื่อ led มีค่าเท่ากับ D10
int led3 = 11;			  	//ประกาศตัวแปรชื่อ led มีค่าเท่ากับ D11
int led4 = 12;			  	//ประกาศตัวแปรชื่อ led มีค่าเท่ากับ D12
int led5 = 13;			  	//ประกาศตัวแปรชื่อ led มีค่าเท่ากับ D13
void setup()
{
  pinMode(sw, INPUT); 		//กำหนดขา D7 เป็น Input
  pinMode(led1,OUTPUT); 		//กำหนดขา D9 เป็น Output
  pinMode(led2,OUTPUT); 		//กำหนดขา D10 เป็น Output
  pinMode(led3,OUTPUT); 		//กำหนดขา D11 เป็น Output
  pinMode(led4,OUTPUT); 		//กำหนดขา D12 เป็น Output
  pinMode(led5,OUTPUT); 		//กำหนดขา D13 เป็น Output  
  Serial.begin(9600); 		//คำสั่งเริ่มการสื่อกับคอมพิวเตอร์ผ่าน USB ด้วยความถี่ 9600
}
void loop()
{
int  val = digitalRead(sw); //รับค่าจากตัวแปร sw(D7) เก็บไว้ในตัวแหร val
Serial.println(val);	    //แสดงค่าตัวแปร val ออกที่ Serial monitor
  if(val==0){				//ถ้าตัวแปร val มีค่าเท่ากับศูนย์
  	digitalWrite(led1,1);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D9)ทำให้หลอดดับ
  	digitalWrite(led2,1);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D10)ทำให้หลอดดับ
  	digitalWrite(led3,1);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D11)ทำให้หลอดดับ
  	digitalWrite(led4,1);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D12)ทำให้หลอดดับ
    digitalWrite(led5,1);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D13)ทำให้หลอดดับ
  }else{					//ถ้าไม่เป็นไปตามเงื่อนไขข้างบนคือ val เป็น "1"
  	digitalWrite(led1,0);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D9)ทำให้หลอดติด
    delay(500);				//หน่วงเวลาครึ่งวินาที
  	digitalWrite(led2,0);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D10)ทำให้หลอดติด
    delay(500);				//หน่วงเวลาครึ่งวินาที
  	digitalWrite(led3,0);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D11)ทำให้หลอดติด
    delay(500);				//หน่วงเวลาครึ่งวินาที
  	digitalWrite(led4,0);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D12)ทำให้หลอดติด
    delay(500);				//หน่วงเวลาครึ่งวินาที
    digitalWrite(led5,0);	//ส่งค่า "1"(5V)ให้ตัวแปร led(D13)ทำให้หลอดติด
  }
  delay(500);				//หน่วงเวลาครึ่งวินาที
}