Example forclass library WS2812B. WS2812B 用クラスライブラリの使用例.

Dependencies:   UIT_WS2812B mbed

Committer:
MikamiUitOpen
Date:
Mon Nov 21 09:29:13 2016 +0000
Revision:
5:f0de7b4f5ba6
Parent:
4:3e09f47b3c42
6

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:09d17442936b 1 //----------------------------------------------------
MikamiUitOpen 0:09d17442936b 2 // WS2812B クラスの使用例
MikamiUitOpen 0:09d17442936b 3 //
MikamiUitOpen 5:f0de7b4f5ba6 4 // 2016/11/21, Copyright (c) 2016 MIKAMI, Naoki
MikamiUitOpen 0:09d17442936b 5 //----------------------------------------------------
MikamiUitOpen 0:09d17442936b 6
MikamiUitOpen 0:09d17442936b 7 #include "mbed.h"
MikamiUitOpen 0:09d17442936b 8
MikamiUitOpen 0:09d17442936b 9 #include "ws2812B.hpp"
MikamiUitOpen 0:09d17442936b 10 using namespace Mikami;
MikamiUitOpen 0:09d17442936b 11
MikamiUitOpen 0:09d17442936b 12 //WS2812B myLed_(D11); // SPI1
MikamiUitOpen 0:09d17442936b 13 //WS2812B myLed_(A4); // F446RE: SPI2
MikamiUitOpen 2:dd3a46973368 14 //WS2812B myLed_(PB_15); // SPI2
MikamiUitOpen 2:dd3a46973368 15 WS2812B myLed_(D4); // F401RE: SPI1, F446RE: SPI3
MikamiUitOpen 0:09d17442936b 16 //WS2812B myLed_(D4, true); // SPI3
MikamiUitOpen 0:09d17442936b 17
MikamiUitOpen 0:09d17442936b 18 int main()
MikamiUitOpen 0:09d17442936b 19 {
MikamiUitOpen 4:3e09f47b3c42 20 // 全部を G + R + B に
MikamiUitOpen 4:3e09f47b3c42 21 myLed_.Write(0xFFFFFF, 8); // 全点灯
MikamiUitOpen 4:3e09f47b3c42 22 wait(1);
MikamiUitOpen 4:3e09f47b3c42 23
MikamiUitOpen 4:3e09f47b3c42 24 myLed_.Clear(8); // 全消灯
MikamiUitOpen 4:3e09f47b3c42 25 wait(1);
MikamiUitOpen 4:3e09f47b3c42 26
MikamiUitOpen 4:3e09f47b3c42 27 // 8 色の点灯
MikamiUitOpen 0:09d17442936b 28 myLed_.Clear(8);
MikamiUitOpen 0:09d17442936b 29 myLed_.Write(0x0F0F0F); // G + R + B,強度小
MikamiUitOpen 3:221db7d7ad6b 30 myLed_.Write(0xFF0000); // G
MikamiUitOpen 0:09d17442936b 31 myLed_.Write(0x00FF00); // R
MikamiUitOpen 0:09d17442936b 32 myLed_.Write(0x0000FF); // B
MikamiUitOpen 0:09d17442936b 33 myLed_.Write(0x00FFFF); // R + B
MikamiUitOpen 0:09d17442936b 34 myLed_.Write(0xFFFF00); // G + R
MikamiUitOpen 0:09d17442936b 35 myLed_.Write(0xFF00FF); // G + B
MikamiUitOpen 0:09d17442936b 36 myLed_.Write(0xFFFFFF); // G + R + B
MikamiUitOpen 4:3e09f47b3c42 37 wait(1);
MikamiUitOpen 3:221db7d7ad6b 38
MikamiUitOpen 3:221db7d7ad6b 39 // 全部を R + B に
MikamiUitOpen 3:221db7d7ad6b 40 myLed_.Write(0x00FFFF, 8); // R + B
MikamiUitOpen 4:3e09f47b3c42 41 wait(1);
MikamiUitOpen 0:09d17442936b 42
MikamiUitOpen 3:221db7d7ad6b 43 // 点灯色を順に変化させる
MikamiUitOpen 3:221db7d7ad6b 44 uint32_t data[] = { 0x0F0F0F, 0xFF0000, 0x00FF00, 0x0000FF,
MikamiUitOpen 3:221db7d7ad6b 45 0x00FFFF, 0xFFFF00, 0xFF00FF, 0xFFFFFF};
MikamiUitOpen 3:221db7d7ad6b 46 int k = 0;
MikamiUitOpen 3:221db7d7ad6b 47 while (true)
MikamiUitOpen 3:221db7d7ad6b 48 {
MikamiUitOpen 3:221db7d7ad6b 49 for (int n=0; n<8; n++)
MikamiUitOpen 3:221db7d7ad6b 50 myLed_.Write(data[(k+n) & 0x7]);
MikamiUitOpen 3:221db7d7ad6b 51 k = ++k & 0x07;
MikamiUitOpen 3:221db7d7ad6b 52 wait(0.5f);
MikamiUitOpen 3:221db7d7ad6b 53 }
MikamiUitOpen 0:09d17442936b 54 }