본문 바로가기

Embedded System/Arduino Board

[Arduino] 아두이노 LED 여러개 제어하기 (3)

반응형

 


 

안녕하세요.

이번 포스팅에서 여러개의 LED를 동시에 제어하는 방식에 대해 알아보겠습니다.


 

※1.  LED 제어

아두이노에서 여러 개의 LED를 동작시키는 것은 기본적으로 단일 LED를 동작시키는 것과 유사합니다. 다만, 각 LED에 대해 해당하는 디지털 핀을 설정하고, 이를 제어하는 방식으로 확장됩니다.

여러 개의 LED를 동작시키는 원리는 아래와 같습니다.

  1. 각 LED에 대한 디지털 핀을 아두이노에 연결합니다. 이때, 각 핀은 LED의 양극(긴 다리)에 연결되어야 합니다.
  2. 각 LED에 대한 디지털 핀을 출력으로 설정합니다. 이는 pinMode() 함수를 사용하여 수행됩니다.
  3. 각 LED에 대해 digitalWrite() 함수를 사용하여 해당 디지털 핀에 HIGH 또는 LOW 값을 설정하여 LED를 켜고 끌 수 있습니다.

 

 

※2. Wiring (배선 연결)

저희는 예제로 Digital 2,3,4번 핀을 사용할 것입니다. 그렇기 때문에 +쪽을 D2,D3,D4과, -쪽을 GND와 연결합니다.

다만 일반적인 다이오드 LED의 경우 1.7~3.6[V] 정도의 권장 Operatinf Voltage가 사용됩니다. 그러나 하나의 핀에서 출력되는 전압은 5[V]이므로 전압을 낮추어 LED의 손상을 막기 위해 저항을 사용하게 됩니다.

이때 저항의 크기의 LED의 Spec에 따라 가장 적합한 값을 구할 수 있지만 일반적으로 이러한 경우 100~1000[Ohm]을 사용하며 더 일반적으로는 200~400[ohm]으로 지정하는 경우가 일반적입니다.

-아래 이미지와 실제 아두이노 테스트에서 모두 330[ohm]을 사용하겠습니다.

 

 

 

※3. 소스코드 및 동작

1초 간격으로 LED가 번갈아 가면서  On / Off를 반복하는 코드를 실행해 보겠습니다.

1. 소스코드

1초 간격으로 LED가 번갈아가면서  On / Off를 반복하는 코드를 실행해 보겠습니다. (소스코드는 첨부파일 제공해 드리겠습니다.)

3_Multiple_LED.ino
0.00MB

// LED 핀 번호 정의
const int ledPin1 = 2;
const int ledPin2 = 3;
const int ledPin3 = 4;

void setup() {
  // LED 핀을 출력으로 설정
  pinMode(, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
}
ledPin1
void loop() {
  // 첫 번째 LED를 켭니다.
  digitalWrite(ledPin1, HIGH);
  delay(1000);
  digitalWrite(ledPin1, LOW);
  
  // 두 번째 LED를 켭니다.
  digitalWrite(ledPin2, HIGH);
  delay(1000);
  digitalWrite(ledPin2, LOW);
  
  // 세 번째 LED를 켭니다.
  digitalWrite(ledPin3, HIGH);
  delay(1000);
  digitalWrite(ledPin3, LOW);
  
  // 각 LED를 차례로 켰다 끄는 작업을 반복합니다.
}

 

 

2. 하드웨어 연결 및 동작 확인

1초 간격으로 LED가 번갈아 가면서 On / Off 가 됨을 확인할 수 있습니다.

 

 

 

 

이상으로 아두이노에서 여러개의 LED를 다루는 방법에 대한 설명을 마치겠습니다.

 

감사합니다.

 

반응형