[아이씨뱅큐 ICbanQ 파워블로거 2기] 임베디드 기초 2 - 출력장치(LED)

임베디드 기초 2 - 출력장치(LED)

 

[본 컨텐츠는 ICbanQ (아이씨뱅큐)에서 진행하는 파워블로거 활동의 일환으로, 

아이씨뱅큐의 지원을 받아 작성되었습니다]

 

안녕하세요. 고명호입니다. 

지난번에는 임베디드 디바이스 입력장치의 기초인 버튼(스위치)에 대해서 알아보았습니다.

이번에는 임베디드 디바이스의 출력장치, 그중에서도 가장 제어가 간단한 LED에 대해서 

알아보겠습니다.

 

LED는 Light emitting diode 의 약어로 발광 다이오드라는 뜻인데

한방향으로 전기를 흐르는 '다이오드'이면서 을 내기 때문에 위와 같은 이름으로 불립니다.

반도체에서의 전자의 흐름으로 빛을 내기때문에 열로 손실되는 에너지가 거의 없이 

에너지 효율이 좋기때문 다양한 분야에서 이용되고 있습니다.

LED의 초기 용도는 주로 정보를 표시하는 용도 였으나 최근에는 고효율 고휘도의 백색 LED가 

상용화 되어 현재는 LED는 정보표시의 용도뿐만 아니라 조명용으로도 쓰이고 있습니다.

 

 

LED의 구조 - 출처 wikipedia >

 

맨 처음 LED가 개발된것은 1900 년도(electroluminance 현상 발견)이나 본격적으로 

상용화 된것은 1962년으로 비교적 짧은 역사를 가지고 있습니다.

LED가 상용화 되기 전에는 정보의 출력은 주로 꼬마전구등 작은크기의 백열등이 그 역할을 

담당하였으며, 또한 조명용으로는 할로겐등이나 형광등, 광원용 백열등이 주로 사용되었습니다.

 

LED가 백열등을 대체할수 있는 이유는 그 에너지 효율성에 있습니다.

백열등역시 에디슨의 발명이래 계속 성능이 향상 되었음에도 

(태생적인 한계상) 에너지 효율이 좋지 못했기 때문에 

각종 전자기기및 기계장치에서의 정보의 표시는 점차 LED로 대치 되었습니다. 

 

마찬가지로 조명용 LED는 형광등 및 백열등을 점차 대치하고 있는 추세입니다만,

조명용 LED는 비교적 최근에 개발되었고, 따라서 비쌉니다. 

비록 에너지 효율은 우수하지만 그 높은 가격때문에 아직 형광등을 전부 대치하지는 못했습니다.

현재는 컴퓨터 모니터 및 신축 건축물의 조명에 쓰이고 있는데 

컴퓨터 액정모니터의 백라이트에 사용된 형광등(CCFL)은 대부분 LED로 대치가 되었으며, 

거의 반 영구적인 수명을 가지고 있다는 장점이있지만 가격이 비교적 고가이기 때문에 

실내 조명용으로는 아직 형광등, 백열등을 전부 대치하지는 못하고 있습니다.  

오히려 기존 조명기구와 공존하는 형국으로 형광등 백열등 소켓에 삽입가능한 어댑터가 부착된 

LED 램프형식으로 판매되고 있습니다.

 

 

<백열등 소켓에 삽입 가능한 led 전구 - 출처 wikipedia>

 

에너지 효율만 보아서는 더 우수하지만 초기 비용때문에 현재는 형광등, 백열등도 함께 

사용되고 있습니다.

즉 정보표시용은 거의 LED만이 사용되는 반면에 조명용은 아직 

형광등, 백열등, LED 등이 혼재하여 사용된다고 볼 수 있습니다. 

 

조명용의 고휘도 LED의 경우 빛의 3원색전부가 개발된 것은 비교적 최근의 일로 

2000년대 초반, 중반까지도 여전히 백열등 또는 형광등이 많이 이용되었습니다.

최초 1976년 고휘도 적색 LED가 개발되었고, 1994년 고휘도 청색 LED가 개발되면서 

빛의 3원색을 전부 표시할수 있게 되어 드디어 백색광 LED가 개발및 상용화 되었고 

조명용의 LED가 본격적으로 사용되기에 이르렀습니다.

 

컴퓨터에 사용된 형광등은 일반 조명용 형광등과 약간 다릅니다.

일반 조명용 형광등은 HCFL(Hot Cathode Fluorescent Lamp-HCFL) 이라 불리우며 

고열에서의 전자가 방출되는 원리를 이용하여 빛을 내는데,  

컴퓨터 모니터에 사용된 형광등은 CCFL(Cold Cathode Fluorescent Lamp-CCFL)라 불리우며

고압에서의 전자가 방출되는 원리를 이용하여 빛을 내는 차이가 있습니다.

컴퓨터에서 쓰이는 형광등은 전류를 조금 더 소모하더라도 작고 수명이 길어야 하기 때문에 

CCFL이 사용되며 , 일반 조명의 경우에는 수명보다 효율이 중요하기 때문에 HCFL이 사용됩니다.

 

 

 

< 모니터용의 CCFL, 일반 형광등 - HCFL >

 

 

아무튼 CCFL보다 더 긴수명의 조명이 바로 백색 LED를 이용한 조명인데요, 

이번 임베디드 강좌에서는 조명용 광원은 제외하고 

나머지 다른용도, 즉 정보를 표시하기 위한 용도의 LED에 관해서 살펴볼 것 입니다.

(다음회의 게시물에는 조명용 LED에 대해 살펴 보겠습니다.)

 

예전 꼬마전구나 닉시관(nixie tube)같은 백열등의 경우 

특정 임베디드 프로세서에서 불을 켤수 있을정도로 충분한 전류를 흘려주지 못하기 때문에 

켜고 끄는것이 트랜지스터등의 외부 회로의 도움 없이는 불가능 했습니다. 

그러나 LED의 경우에는 비교적 적은 전류(20mA 이하)만을 소비하기 때문에   

대부분의 임베디드 프로세서의 출력으로 직접 LED를 켜고 끄는 것이 가능하고 

따라서 회로또한 간결해 지는 잇점이 있습니다.

 

 

일반적인 임베디드장치는 대개

 

입력 -> MPU에서의 입력된 정보가공 -> 출력

의 흐름으로 동작을 합니다.

 

TV의 리모컨을 가지고 예를 들어보겠습니다. 

 

 

TV의 리모컨 버튼이 눌림 -> 


눌린 버튼에 따라서 코드발생 -> 


각 코드에 맞게 적외선 LED를 점멸해 줌 




-> TV에서는 이 점멸되는 LED의 적외선을 읽어서 원하는 동작을 수행함..


 

 

마찬가지로 PC에서 사용되는 키보드의 경우에도 내부의 MPU가 거의 비슷한 동작을 합니다. 

눌린 키보드의 키에 대한 정보를 PS/2(USB) 형식의 값(스캔코드)으로 변환한 후 

PC의 키보드 단자(USB단자)를 통해서 스캔 코드를 전송하게 됩니다.

스캔코드의 전송은 클럭펄스및 시리얼 데이터 값이 전송되는데 이러한 값을 전송하기 위해서는 

타이밍및 충돌 검출등의 복잡한 프로그램이 필요합니다. (USB의 경우에는 더욱 복잡합니다.)

그렇지만 LED의 경우에는 단순히 켜고 끄는 동작만으로도 직접 눈으로 확인할 수 있기 때문에 

임베디드 디바이스의 출력장치중에서 가장 간단하고 확인하기 쉽습니다.

 

MPU가 사용되지 않은 가장 간단한 회로는 다음과 같이 구성할 수 있습니다.

 

그림 2-1 간단한 LED 회로 >

 

즉 BUTTON 을 입력받아 입력된 버튼이 눌린경우에는 LED 가 켜지는 회로를 만들면 

버튼이 입력됨과 동시에 LED가 켜지는 것을 확인 할 수 있습니다.

이 회로를 확장하여 입력버튼과 출력 LED 사이에 아두이노등 임베디드 프로세서를 끼워 넣어서 

다음과 같은 회로를 만들수 있습니다. 

 

< 그림 2-2 MPU를 이용한 LED 회로 >

 

이처럼 중간에 끼어 있는 임베디드 프로세서를 이용하여 복잡한 동작을 할 수 있게 됩니다.

예를 들자면 단순히 LED를 켜고 끄는 것 이외에 일정한 속도로 점멸을 시키거나 

그 이상의 아주 빠른 속도로 점멸을 해 주어서 LED의 밝기를 조절 할 수있습니다.

사람의 눈은 1/60초 이상의 빠른 동작은 인식할 수 없기 때문에 밝기가 달라진 것으로 인식하게 

됩니다.

이러한 방식의 밝기 조절을 PWM 방식이라고 합니다.(pulse width modulation - 펄스 폭 변조)

 

그런데 그림에서는 LED만 사용된것이 아니고 직렬로 저항이 삽입되어 있습니다.

LED를 MPU와 직접 연결하기 위해서는 직접 연결하는 것이 아니고 

오히려 중간에 전류 제한용 저항을 달아 주어야 합니다.

직접 MPU에 연결하면 순간적으로 많은 전류가 흘러서 LED를 손상시킬 우려가 있기 때문입니다.

정확하게는 각 LED의 스펙에 맞는 저항치를 선택하여 회로상에 직렬로 연결을 해 주어야 합니다만 

대개는 100옴 이상의 저항을 달아주면 특별한 문제는 없습니다. 

(대개 220, 330 옴 또는 1k 옴 저항을 사용합니다)

저항은 MPU와의 사이에 달거나 아니면 전원과 LED의 사이에 달거나 

둘중 아무곳에 달아도 상관은 없습니다. (전압분배)

버튼에 병렬로 연결하는 풀업저항은 MPU내부의 풀업저항이 있는경우 연결하지 않아도 상관 없으나, 

이와 달리 LED에 직렬로 연결해 주는 저항은 반드시 달아줘야 합니다.

이는 전류제한을 위해서 반드시 필요한 저항입니다.

좀더 자세하게 저항값을 조절하려면 다음 글을 참고하세요.

 

https://learn.sparkfun.com/tutorials/light-emitting-diodes-leds

 

LED도 버튼에서처럼 MPU가 5V(HIGH)를 출력할때 켜지게 하거나 

MPU가 0V(GND- LOW) 를 출력할때 켜지게 하거나를 선택할 수있습니다.

 

<1을 출력할때 켜지는 회로>

 

 

 

<0을 출력할때 켜지는 회로>


대개 LED 의 경우에는 큰 전류가 필요하지 않고 MPU의 출력핀 하나당 1개 정도의 

LED만을 구동하기 때문에 fan out이 문제 되지는 않습니다. 

따라서 대부분 5V(3.3V)를 출력할 때 켜지도록 설정을 하고 사용합니다.

단순히 한개의 LED 점멸뿐만 아니라 LED 7 개를 8 자 형태로 배치하여 

각 LED를 켜고 끔으로써 숫자를 표시할 수도 있습니다.

이런 LED를 특히 세그먼트 LED라고 부르며 전자 시계나 기타 전자기기에서 

숫자를 표시하는데 사용되고 있습니다.

 

 

 

임베디드 프로세서의 LED 점멸은 매우 간단합니다. 

그림 1의 회로에서는 I/O 핀에 1 (high)를 출력하면 LED가 켜지며 

그림 2의 회로에서는 I/O 핀에 0 (low)를 출력하면 LED가 켜집니다.

아두이노에서는 다음과 같은 명령으로 켜고 끌수 있습니다.

 

 

digitalWrite(13, LOW);

 

digitalWrite(13, HIGH);

 

 

또한 임베디드 프로세서의 경우 매우 빠르기 때문에 

단순 켜고 끄는것 이외에 매우 빠른 속도로 점멸시켜서 색의 밝기도 조절이 가능합니다.

 

최근의 대형 전광판의 경우 각 화소 하나하나에 고휘도 RGB LED를 대응시켜서 

화소의 펄스폭 변조방법으로 밝기를 조절하여 다양한 색상을 나타낼수 있습니다.

원래 전광판에는 전구가 사용되었습니다. 전광판도 고 효율의 LED로 대치되었습니다.

 

  '전광판'

 

여러 개의 전구를 평면에 배열하고 전류를 통하여 그림이나 문자 따위가 나타나도록 만든 판. 

[비슷한 말] 전광게시판.

 

 

LED를 사용한 전광판 >

 

이상으로 가장 간단히 구성 가능한 출력 장치인 LED에 대해서 알아 보았습니다.

다음번에는 LED가 조명용으로 쓰이는 예인 LED모니터를 분해해 보고 

구형 일반 모니터를 LED로 바꾸는 법에 대해서 알아보겠습니다.

 

감사합니다.

 

[본 컨텐츠는 ICbanQ (아이씨뱅큐)에서 진행하는 파워블로거 활동의 일환으로, 아이씨뱅큐의 지원을 받아 작성되었습니다]

 

 

관련 사이트

 

http://www.icbanq.com/shop/product_detail.asp?prod_code=P002331961

https://learn.sparkfun.com/tutorials/light-emitting-diodes-leds

 

관련상품

 

http://www.icbanq.com/shop/product_detail.asp?prod_code=P002331961

http://www.icbanq.com/shop/product_detail.asp?prod_code=P005627998&catg_code=

http://www.icbanq.com/shop/product_detail.asp?prod_code=P001586253&catg_code=107112114

http://www.icbanq.com/shop/product_detail.asp?prod_code=P000098936