아래 사이트에 라즈베리파이에서 WS2812(Neopixel)를 제어하는 소스가 있다.
https://github.com/jgarff/rpi_ws281x
소소를 다운로드 받은 후 그 폴더로 이동하여 다음과 같은 순서로 실행한다.
1. apt-get install scons
2. scons
3. cmake --build .
4. sudo make install
5. sudo ./test
디폴트는 PWM(GPIO18)로 출력된다. 다른 핀과 방식을 사용하려면 소스를 수정해야 한다.
PWM를 사용하려면 오디오를 Disable 해야 한다. /etc/modprobe.d/ 폴더에서 snd-blacklist.conf 파일을 만든 후 다음을 입력하고 저장한 후 리부팅한다.
blacklist snd_bcm2835
함수 사용
아래 배열에 LED 데이터(32bit)를 쓴다.
ledstring.channel[0].leds
다음 함수를 실행하면 LED 색이 변한다.
ws2811_render(&ledstring)
GPIO_PIN : 출력 GPIO 번호
LED_COUNT : LED 총개수

댓글 없음:
댓글 쓰기