본문 바로가기
Study/Coding

8MHz 이하의 아두이노 보드에서 WS2812(네오픽셀) 사용하기

by LovEnable 2020. 12. 18.

아두이노에서 WS2812를 사용하는 경우 네오픽셀 라이브러리를 사용하는 경우가 많습니다.

WS2812 -> Adafruit_NeoPixel

 

일반 적인 우노등의 범용보드에서는 문제가 없지만, 8MHz 이하일 경우에는 작동이 되지 않는 문제가 있습니다.

(예를 들어 7.3728MHz의 경우)

 

그런경우에는  light_WS2812 라이브러리를 사용합시다.

https://github.com/cpldcpu/light_ws2812

 

사용방법은 크게 어렵지 않습니다.

#include <WS2812.h>

WS2812 LED(1); // 1 LED
	
cRGB value;

void setup() {
	LED.setOutput(9); // Digital Pin 9
}

void loop() 
{
	value.b = 255; value.g = 0; value.r = 0; // RGB Value -> Blue
	LED.set_crgb_at(0, value); // Set value at LED found at index 0
	LED.sync(); // Sends the value to the LED
	delay(500); // Wait 500 ms
	
	value.b = 0; value.g = 0; value.r = 255; // RGB Value -> Red
	LED.set_crgb_at(0, value); // Set value at LED found at index 0
	LED.sync(); // Sends the value to the LED
	delay(500); // Wait 500 ms
}