// 기본 예제 : 8개 LED 제어
// 왼쪽에서 오른쪽으로(LED7~LED0순) 차례대로 켜기
#define N 8
/*
#define LED0 2
#define LED1 3
#define LED2 4
#define LED3 5
#define LED4 6
#define LED5 7
#define LED6 8
#define LED7 9
*/
//const int LED0 = 2; ... 9; ->define과 같은 기능
int LED[N] = {2, 3, 4, 5, 6, 7, 8, 9};
// 한 번만 실행, 핀 기능 설정
void setup() {
/*
pinMode(LED0, OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
*/
for(int i=0; i<N; i++){
pinMode(LED[i], OUTPUT);
}
}
// 무한 반복
void loop() {
// 왼쪽에서 오른쪽으로 차례대로 켜기 (0.5초간격)
digitalWrite(LED7, HIGH);
delay(500);
digitalWrite(LED6, HIGH);
delay(500);
digitalWrite(LED5, HIGH);
delay(500);
digitalWrite(LED4, HIGH);
delay(500);
digitalWrite(LED3, HIGH);
delay(500);
digitalWrite(LED2, HIGH);
delay(500);
digitalWrite(LED1, HIGH);
delay(500);
digitalWrite(LED0, HIGH);
delay(500);
// 모든 LED 켜져 있으면 모든 LED 끄기
if(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0){
digitalWrite(LED7, LOW);
digitalWrite(LED6, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED1, LOW);
digitalWrite(LED0, LOW);
delay(500);
}
}