Neo Pixel LED의 원리를 설명합니다.
[ 4 in 1 LED 구조]
Red LED + Green LED + Blue LED + Controller IC 를 하나의 제품으로 만든 Addressable RGB LED.
[ 배선 방법 ]
VCC : +5V
VSS : GND
DIN : 입력 단자 (MCU 또는 앞의 LED로 부터 Data를 입력 받는 단자)
DOUT : 출력 단자 (다음 LED로 Data를 전달하는 단자)
MCU GPIO => DIN LED1 DOUT => DIN LED2 DOUT => DIN LED3 DOUT => DIN LED4 DOUT
[ Controller 역할 ]
DIN 단자로 입력된 데이터에서 첫 데이터(24bit)를 얻고 나머지 데이터들은 DOUT으로 보내는 역할
MCU에서 데이터(72bit)를 전송하면 D1 LED가 first 24bit를 얻고 나머지 48bit를 DOUT으로 내보냅니다.
D2 LED는 48bit 중에서 second 24bit 데이터를 얻고 나머지 24bit를 DOUT으로 내보냅니다.
D3 LED는 third 24bit 데이터를 얻고 DOUT으로 보낼 데이터는 없습니다.
LED 데 새로운 데이터를 보내기 전에 50us 이상의 reset code 가 있어야 합니다.
reset code : 50us 이상 0(Low)을 유지.
LED의 데이터는 일반적인 0:Low, 1:High 방식이 아니라 PWM(Pulse Width Modulation 펄스 폭 변조) 방식입니다.
아래 그림의 ① ②번은 1bit 가 어떠한 형태인지 설명합니다.
위 그림에 펄스(High신호+Low신호)가 나옵니다.
0.4us + 0.85us 를 합쳐서 하나의 bit (0)로 인식합니다.
0.8us + 0.45us 를 합쳐서 하나의 bit (1)로 인식합니다.
①번 펄스와 ②번 펄스는 폭의 길이( 폭의 시간)이 다릅니다.
폭의 시간을 잰 후에 0과 1을 판단합니다.
데이터를 다시 보내려고 하면 50us 이상 아무것도 전송하지 않고(0 유지) 그 후에 데이터를 보내야 합니다.
그러면 LED들은 이전 데이터가모두 끝났다고 판단합니다.
Grenn 8bit 를 먼저 전송하고 그 다음 Red 8bit, 그 다음 Blue 8bit 순서로 전송합니다.
[ Strip LED ]
Neo Pixel LED를 띠 형태로 연결해서 만든 제품입니다.
잘라서 사용할 수도 있고 다른 strip LED를 납땜하여 연결할 수도 있습니다.
strip LED 사용방법입니다.
MCU와 strip LED에 5V를 공급합니다.
1000uF 콘덴서는 옵션 사항으로 순간 전류 공급 성능이 부족한 5V adapter일 경우 사용합니다.
MCU의 GPIO 출력을 LED 의 DIN 단자에 연결합니다.
MCU의 GPIO 출력은 3.3V 이고 LED 는 5V이므로 서로 동작 전압이 다릅니다.
신호 라인의 높은 전송 속도와 전압 차이로 인한 왜곡을 줄이기 위해
저항(220 ~ 470 옴)을 사용하여 임피던스 매칭을 하거나
Level Shifter 라는 IC를 사용하기도 합니다.
댓글