Example forclass library WS2812B. WS2812B 用クラスライブラリの使用例.
Dependencies: UIT_WS2812B mbed
main.cpp@5:f0de7b4f5ba6, 2016-11-21 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Nov 21 09:29:13 2016 +0000
- Revision:
- 5:f0de7b4f5ba6
- Parent:
- 4:3e09f47b3c42
6
Who changed what in which revision?
User | Revision | Line number | New 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 | } |