아두이노프로세싱 프로그래밍

초보자를 위한 “아두이노 코딩에 의한 움직이는 3개의 LED 예제”

coding art 2017. 5. 8. 17:06
728x90


“아두이노 코딩에 의한 LED bar graph 예제”에서 현재 빵판에 10개의 LED가 설치되어 있는데 이 중에서 on OFF dp 의해 하나씩 움직여 나가는 순으로 코딩을 해보자. 하나의 LED on OFF 후 delay를 10 ms 로 주면 파도타는 느낌을 볼 수 있을 것이다. 좀 속도를 늦추어 시간 지연을 50 ms로 주기로 한다.

아울러  for loop 기법에 의해 LED on OFF를 하나씩이 아나라 연이어 두 개를 추가하기로 하자. 그런 경우 시각적으로 3개의 LED 가 on OFF 되면서 움직이는 것을 관찰할 수 있다.

barGraph 예제에서 배선만 그대로 이용하기로 한다. 하지만 코딩은 새로 하기로 한다.

2번 디지털 핀부터 11번 핀까지 어레이 즉 pinLED[]를 사용하여 지정한다. 어레이를 사용하면 for loop 기법을 사용하여 코드를 컴팩트하게 즉 짧게 할 수 있는 이점이 있다.

loop()문에서 for loop 기법을 사용하여 하나씩 i 번째 LED를 on 후 delay 하고 OFF 후 delay 시킨다.

여기에 추가하여 if문을 사용하여 i+1, i+2 번째 LED를 on 시키게 되면 3개의 LED 가 움직여 나가는 것을 볼 수 있을 것이다.


첨부된 동영상을 참조하기 바란다.




bar_Graph_LED_01

int pinLED[] ={2,3,4,5,6,7,8,9,10,11};
int i;

void setup() {
  for( i = 0; i<10; i++ )  {
     pinMode(pinLED[i],OUTPUT);
  }
}

void loop() {
  for( i = 0; i<10; i++ )  {
    digitalWrite(pinLED[i],HIGH);
    if( i<8 )  {
      digitalWrite(pinLED[i+1],HIGH);
      digitalWrite(pinLED[i+2],HIGH);
    }
    delay(50);
    digitalWrite(pinLED[i],LOW);
    delay(50);
   }
}