nRF52832が搭載されているMDBT42Qを利用して、WS2812(フルカラーLED)を制御する方法を書きます。
プラットフォームはMbedを利用します。

ライブラリ

参考mbed-ws2812-nrf52github.com

クラス名

クラス名

WS2812

ライブラリの詳細

関数名

引数

戻り値

内容

WS2812

PinName pin

なし

コンストラクタ。ピン番号のみの指定でOK

light

int color, int brightness

なし

LEDを指定された色と輝度で点灯させる

lightBlink

int color, int brightness, float interval

なし

LEDを指定された色と輝度で間隔を指定して点滅させる

lightOff

なし

なし

LEDを消灯する

動かしてみる

ソースコードはこちらをクリック
WS2812 with MDBT42Q
#include "mbed.h"
#include "WS2812.h"
 
//LED
DigitalOut led1(P0_23);
//FullColorLED
WS2812 ws(P0_4);
 
int main()
{
    while (true) {
 
        //LED Operation
        led1 = !led1;
        
        //FullColorLED Operation
        ws.light(0xFF0000,255);
        wait(1);
        
        //FullColorLED Operation
        ws.light(0x00FF00,255);
        wait(1);
        
        //FullColorLED Operation
        ws.light(0x0000FF,255);
        wait(1);
        
        //FullColorLED Operation
        ws.light(0xFFFF00,255);
        wait(1);
 
        //FullColorLED Operation
        ws.light(0xFF00FF, 255);
        wait(1);
 
        //FullColorLED Operation
        ws.light(0x00FFFF, 255);
        wait(1);
        
        //FullColorLED Operation
        ws.light(0xFFFFFF, 255);
        wait(1);
        
        ws.lightOff();
        wait(1);
        
        ws.lightBlink(0x0000FF, 255,0.125);
        wait(3);
        
        ws.lightBlink(0xFFFFFF, 255,0.125);
        wait(3);
        
        ws.lightOff();
    }
 
}

これをMDBT42Qに書き込めばこんな感じに動きます。