본문 바로가기

Embedded System/Arduino Board

[Arduino] 아두이노 LED On/Off (2)

반응형

 

 

안녕하세요.

이번 포스팅에서는 간단하게 Arduino Board 에서 LED를 On / Off 하는 기능을 수행 해보겠습니다.


 

 

※1.  LED 제어

아두이노를 사용하여 LED를 제어하는 것은 비교적 간단합니다. LEDLight Emitting Diode의 약자로, 전류가 흐르면서 빛을 내는 반도체 소자입니다. 아두이노를 사용하여 LED를 제어하는 것은 LED에 전류를 흐르게 하거나 그렇지 않게 함으로써 LED의 켜짐/꺼짐을 조절하는 것입니다.

아두이노에서 LED를 제어하기 위해서는 보통 디지털 핀을 사용합니다. 디지털 핀은 HIGH(전압이 가해진 상태) 또는 LOW(전압이 가해지지 않은 상태) 두 가지 상태 중 하나로 설정될 수 있습니다. 이것을 이용하여 LED를 제어할 수 있습니다.

 

 

※2. Wiring (배선 연결)

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

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

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

-아래 이미지에서는 1[kohm] 저항이고, 실제 아두이노 테스트에서는 330[ohm]을 사용하겠습니다.

 

 

 

 

※3. 소스코드 및 동작

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

1. 소스코드

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

2_One_LED.ino
0.00MB

const int ledPin = 13; // LED가 연결된 디지털 핀 번호

void setup() {
  pinMode(ledPin, OUTPUT); // LED 핀을 출력으로 설정
}

void loop() {
  digitalWrite(ledPin, HIGH); // LED를 켭니다. (전압을 가해줍니다.)
  delay(1000); // 1초 동안 대기합니다.
  digitalWrite(ledPin, LOW); // LED를 끕니다. (전압을 제거합니다.)
  delay(1000); // 1초 동안 대기합니다.
}

 

 

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

1초 간격으로 On / Off 가 됨을 확인할 수 있습니다.

 

 

 

 

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

다름 포스트에서 여러개의 LED를 다루는 방법에 대해 다루겠습니다.

감사합니다.

 

 

 

 

반응형