행복한 하루
라즈베리파이 제로 프로젝트(4) – LED 제어 – 1(HW) 본문
안녕하세요.
앞 강좌와 같이 작업을 했다면 이제 하드웨어를 제어해 보는 재미난 일들을 해보겠습니다.
부품들은 디바이스마트, 엘레파츠 등에서 구할 수 있으며 아니면 고장 난 부품들 속에서 구해도 됩니다.
1. 필요한 부품
- LED를 제어하기 위해 필요한 부품을 먼저 보자면
LED 1개, 저항 200~500 ohm 1개, 라즈베리 파이 제로, 헤더핀, 점퍼케이블, 멀티 미터기
(저는 200~500 ohm이 없어서 가변저항 10k ohm을 사용하였습니다. 가변이라 멀티 미터기로 저항값을 맞추어 주어야 합니다. 저항 값을 300ohm으로 맞추었습니다.)
2. 선행 작업
- 라즈베리파이 제로 경우 헤더핀이 연결되어 있지 않아서 직접 납땜을 해주어야 합니다. 그러면 핀들을 점퍼선으로 연결할 수가 있습니다.
3. 선행 지식
- GPIO (General-Purpose Input/Output)라고 하면 일반적으로 신호를 입력하거나 출력하는 기능을 한다고 보시면 됩니다. 이것은 하드웨어 Pin을 High, Low Voltages로 제어해서 On/Off를 하게 하거나 반대로 High, Low Voltages 신호를 센서로 받아서 0, 1로 해석한 후 소프트웨어적으로 처리하게 하는 기능입니다.
- 다이오드 일종으로 신호를 증폭하는 것에 사용하거나 스위치 역할을 하는 곳에 사용하는데요. LED (Light-emitting diode)는 이런 특성보다는 전류가 흐르면 빛이 나는 소자의 특성을 이용해서 만들어진 부품으로 보시면 됩니다.
다리가 긴 쪽이 plus(+) , 짧은 쪽이 minus(-)라고 새 LED는 일반적으로 볼 수 있는데요, 그렇지만, 중간에 다리를 잘라서 길이를 알 수 없을 수도 있고 회사에 따라 다를 수도 있음으로, 꼭 자신이 가진 LED의 극성을 멀티 미터기로 확인해 보시고 +, -를 확인하시기 바랍니다. 멀티 미터기를 쇼트(연결되어 있다는 의미)가 되면 소리 나는 쪽으로 맞추고 해 보면 불이 들어오는 것을 알 수 있습니다.
4. 부품 연결
- 연결하기 전에 핀맵(Pin map)을 알고 있어야 어디에 연결할지 알 수 있겠죠.
핀마다 한 가지 기능을 하는 것이 아니라 여러 기능을 할 수 있는 것을 알 수 있습니다.
그리고 보드 내부는 3.3V로 동작하지만 제공해주는 것은 3.3V, 5V 둘 다 출력을 지원해주고 있습니다.
(여기서는 흰색 박스 숫자를 핀 번호로 보시면 됩니다.)
- LED의 + 쪽(일반적으로 다리 긴 쪽)을 3.3V 제로의 1핀에 연결해줍니다.
- LED의 - 쪽은 저항에 연결해줍니다. (저항은 극성이 없음으로 아무 쪽에 연결하면 됩니다.)
- 저항의 남은 한쪽은 제로의 6핀(GND -)에 연결해 줍니다.
여기까지 하면 LED 제어 기능 없이 3.3V로 LED를 켜는 하드웨어적으로 연결을 해본 것이 됩니다.
추가 설명해 드리면 가변 저항은 발이 3가닥으로 중간에 있는 하나를 두고 양쪽 중 하나를 접거나 잘라서 사용하시면 일반 저항처럼 사용할 수 있습니다.
또 하나 그냥 저항 없이 해도 되지 않나요? 당연히 LED를 연결해도 됩니다. 저항이 있는 것은 LED를 좀 더 정확하게(?) LED 사양에 맞게 전류 양을 조절해서 밝기를 조절하거나 갑작스러운 전압상승에서도 조금 보호받을 수 있다고 보시면 됩니다. 그럼 저항값은 왜 300 ohm으로 했느냐 질문을 남긴다면, V=IR 공식이 나오게 됩니다. ;;;
쉽게 (입력전압 – LED 전압) / LED 전류 = 저항값으로 구해지는 것이죠.
입력전압: 3.3V, LED 전압 2V, 전류 : 4mA = 324 ohm
LED 전압과 전류는 LED 데이터 시트(Datasheet)상에 얼마일 때 밝기가 이렇다는 정보가 나와 있습니다. 그리고 본인이 전류를 적게 사용하게 한다든지 밝기를 최대치로 하게 한다든지 조정을 하기 위해서 저항값을 조절하면 됩니다. 현재 값에서 전류를 높이면 밝기는 밝아지고 전류가 많이 흘러야 하므로 저항값은 낮춰야 할 겁니다.
참고로 LED 직렬 저항 계산기 사이트가 있어 링크 걸어 두었습니다.
http://mechasolution.com/shop/main/html.php?htmid=goods/calc.htm
다음 회에서 소프트웨어적으로 제어를 시작해보도록 하겠습니다.
감사합니다.
'RaspberryPi > Raspberry Pi Zero' 카테고리의 다른 글
라즈베리파이 제로 프로젝트(5) – 스위치 입력 받기 (0) | 2020.09.30 |
---|---|
라즈베리파이 제로 프로젝트(4) – LED 제어 – 4 (밝기 조절) (0) | 2020.09.26 |
라즈베리파이 제로 프로젝트(4) – LED 제어 – 3 (python3) (0) | 2020.09.25 |
라즈베리파이 제로 프로젝트(4) – LED 제어 – 2 (SW) (0) | 2020.09.24 |
라즈베리파이 제로 프로젝트(TIP-1) 암호 변경 (0) | 2020.09.11 |