日付5/30
DotStarっていうLEDを使うよ
さしぶりすぎるレポです。
僕はジャパンオープンでCIAO Tezukayamaの藤山くんに触発されてどうしてもフルカラーLEDを搭載したい欲がありました。なので今回はフルカラーLEDを搭載するために行くつか調べたことを書きたいと思います。
フルカラーLEDの種類
- 普通のRGBに線があるタイプ
- NeoPixel
- Dotstar(APA102)
普通のRGBに線があるタイプ
RGBそれぞれにシグナル線が出ています。PWMかなんかでそれぞれに信号を入れてあげると光ります当然LEDの使う個数x3本GPIOを使います。16個光らせるなら16x3で48個のGPIOが必要です。
NeoPixel
これは1本線シリアルでLEDにRED(256bit)GREEN(256bit)BLUE(256bit)のデータを送信して光らせます。1本でLED256個までならいけるらしいです。しかしGPIOにバッファ機能(?)がないとシリアルで文字を送るのは難しいらしく、mbedでは無理っぽいです。一応特殊なことをすればいけるらしいですが、僕が今回使おうとしてるマイコンでは動作しない様です。
Dotstaer
DotstarはSPI通信でLEDを制御するタイプです。2本線(MOSIとSCK)が必要です。上のNeoPixelと似ていますが、SPI通信なので大概のマイコンが標準搭載している通信方式ということもあり、NeoPixelよりもはるかに通信が楽です。しかし値段はNeoPixelよりも高いです。クロック同期なので通信も安定するっぽいです。値段が張ること以外はいいことがあるっぽいですね。
今回はDotstarが手に入ったので実験することにしました。Switch Scienceで売っているDotstarの赤い基板を使います。
通信プロトコル
APA102データシートより(https://cdn-shop.adafruit.com/datasheets/APA102.pdf)
- 0x00を4回送信
- 11100000から11111111までの数値(2の5乗の0~31+111)で明るさを設定する
- RGB(使用上BGRの順番)の値を0~255 x3で送る。
- 0xFFをを4回送信
って感じです。


Loading Comments...