Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: UIT_WS2812B mbed
main.cpp@3:221db7d7ad6b, 2016-09-26 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Sep 26 02:06:16 2016 +0000
- Revision:
- 3:221db7d7ad6b
- Parent:
- 2:dd3a46973368
- Child:
- 4:3e09f47b3c42
4
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 | 3:221db7d7ad6b | 4 | // 2016/09/26, 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 | 0:09d17442936b | 20 | myLed_.Clear(8); |
| MikamiUitOpen | 0:09d17442936b | 21 | wait(0.5f); |
| MikamiUitOpen | 0:09d17442936b | 22 | myLed_.Write(0x0F0F0F); // G + R + B,強度小 |
| MikamiUitOpen | 3:221db7d7ad6b | 23 | myLed_.Write(0xFF0000); // G |
| MikamiUitOpen | 0:09d17442936b | 24 | myLed_.Write(0x00FF00); // R |
| MikamiUitOpen | 0:09d17442936b | 25 | myLed_.Write(0x0000FF); // B |
| MikamiUitOpen | 0:09d17442936b | 26 | myLed_.Write(0x00FFFF); // R + B |
| MikamiUitOpen | 0:09d17442936b | 27 | myLed_.Write(0xFFFF00); // G + R |
| MikamiUitOpen | 0:09d17442936b | 28 | myLed_.Write(0xFF00FF); // G + B |
| MikamiUitOpen | 0:09d17442936b | 29 | myLed_.Write(0xFFFFFF); // G + R + B |
| MikamiUitOpen | 3:221db7d7ad6b | 30 | wait(0.5f); |
| MikamiUitOpen | 3:221db7d7ad6b | 31 | |
| MikamiUitOpen | 3:221db7d7ad6b | 32 | // 全部を R + B に |
| MikamiUitOpen | 3:221db7d7ad6b | 33 | myLed_.Write(0x00FFFF, 8); // R + B |
| MikamiUitOpen | 3:221db7d7ad6b | 34 | wait(0.5f); |
| MikamiUitOpen | 0:09d17442936b | 35 | |
| MikamiUitOpen | 3:221db7d7ad6b | 36 | // 点灯色を順に変化させる |
| MikamiUitOpen | 3:221db7d7ad6b | 37 | uint32_t data[] = { 0x0F0F0F, 0xFF0000, 0x00FF00, 0x0000FF, |
| MikamiUitOpen | 3:221db7d7ad6b | 38 | 0x00FFFF, 0xFFFF00, 0xFF00FF, 0xFFFFFF}; |
| MikamiUitOpen | 3:221db7d7ad6b | 39 | int k = 0; |
| MikamiUitOpen | 3:221db7d7ad6b | 40 | while (true) |
| MikamiUitOpen | 3:221db7d7ad6b | 41 | { |
| MikamiUitOpen | 3:221db7d7ad6b | 42 | for (int n=0; n<8; n++) |
| MikamiUitOpen | 3:221db7d7ad6b | 43 | myLed_.Write(data[(k+n) & 0x7]); |
| MikamiUitOpen | 3:221db7d7ad6b | 44 | k = ++k & 0x07; |
| MikamiUitOpen | 3:221db7d7ad6b | 45 | wait(0.5f); |
| MikamiUitOpen | 3:221db7d7ad6b | 46 | } |
| MikamiUitOpen | 0:09d17442936b | 47 | } |