ラブライブレード 4thの新仕様から学ぶLED制御
新仕様によりカラーチェンジがグレードアップ?
色自体は今までと同じだし、無線が付いているわけではなさそうだし、気になるじゃないですか。
事前物販で買いました。
色の変わり方がグラデーション?っぽく変わるようになったんですね。そして連打ができません。
4thブレードマジで連打できねえやん pic.twitter.com/fKTLob2ofG
— うつりぎ (@utriggy) 2018年10月27日
どうやって実現しているのか気になる。
組み込みソフトを作ってお金もらっている人としては技術的にも興味がありました。・・・ということでバラしてみました。
4thのラブライブレード仕様が特殊すぎるのと接着剤使いまくりなので、分解すると復元不可能です pic.twitter.com/Ira9tKHtdi
— うつりぎ (@utriggy) 2018年10月27日
分解してみたら実現方法がなんとなくわかったのでまとめたいと思います。
注意
今回のブレードは主要箇所が接着材で止められているため、分解すると気にほぼ確実に破損します。壊れても気にしない人だけ分解してください。
また、制御信号をみて解析した結果ではないので、実際は違うやり方かもしれません。私の妄想です。
分解方法
普通のキンブレは、光る筒の部分を回せば外れるんですが、今回のブレードはビクともしません。接着剤で固定されてるだけだろ〜〜って力一杯回したら外れました。が、壊れました。
簡単に図を書きました。
赤が持ち手、緑が外筒、紫が中筒、オレンジが基板、青がキャップです。なんと筒の中にも基板があって、LEDが山ほど付いています。そういうことか。
赤丸で囲った部分が接着剤で固定されています。
赤と緑は回すと外れるいつもの構造ですが、そのまま回してしまうと右側の青緑紫オレンジが固定されているので、基板が捻じれます。もともと捻じれてますけど。
正しい?分解方法は青のキャップ部分を外すのが先だと思います。保証はしません。
新仕様の実現方法
システム構成
ブロック図を書きました。電源は無視して、信号の接続だけ表現しています。
マイコン
制御しているやつです。こいつが全部やります。型番の印刷がないので詳しくはわかりませんが、14ピンのやつでした。
EEPROM
EEPROMは簡単にいうとフラッシュメモリです。読み書き可能で、電源がなくても書き込まれたデータは消えません。
今回のラブライブレードでは次の用途で使われています。たぶん。
- 9色の色設定の読み出し
- 電源OFF時の点灯色の保存
- メモリー機能
他のキンブレではマイコン内蔵のフラッシュに保存しているものもありましたが、今回はI2C接続のEEPROMが実装されていました。
SW
なんていうことはない、単純なスイッチです。キンブレは2つのスイッチの押し方や時間で全ての制御をします。スイッチが押されたことをマイコンが判断して、LEDの色を切り替えたり、データの保存をしたりですね。
LED
今回のメインです。今までのブレードはLEDは1個で、R・G・B・Wの4色でいろいろな色を表現していました。ちゃんと調べてませんが、たぶんPWMで明るさを変えていたんでしょう。
PWMとは、超高速でON・OFFを繰り返すことで1か0だけでなく、実質0.5を作る制御です。
でも4thブレードは違うみたいです。写真やブロック図を見てもらうとわかるように、LEDが片面11個の全22個が付いています。
LED自体は4ピンです。R・G・B・グランド(マイナス)かと思いましたが、基板のパターンをみるとどうやら違います。ググったところ、秋月電子で売っているWS2812Bまたはそれと同じ仕様の製品みたいです。
データシートをみたところ、マイコン内蔵で何色で光るかは通信で指示する。出力端子があるのでカスケード接続(数珠つなぎ)にすれば無限に接続数を増やせる。みたいです。
なるほど。マイコンに近いLEDからデータを受け取って、溢れた分は次のLEDに垂れ流すみたいですね。
1ビット1.25usで、1つのLEDには24ビットが必要です。そしてLEDはカスケードで11個つながっています。 全てのLEDにデータを送り終えたら決定の意味で、50us何も送らないようにします。
つまり1度のLED制御には次の時間がかかります。
(1.25us * 24bit * 11個) + 50us = 380us
めちゃくちゃ速いですね。かなりの数カスケード接続しても実用的な速さが出る製品っぽいです。
ん??てことは、ゆっくり色変わります機能オフにできる機能あってもよかったんじゃん??連打もできたじゃん?
電源OFFから赤をつけるときの流れはこんな感じですかね。
11個のLEDを1個ずつ増やしながら点灯させていくので、1回色を変えるためにマイコンから出力される信号は約3000bitです。
会社入ってやった新人研修を思い出しますね。
ふう。仕組みがわかったので満足です。
うつりぎさんの4thブレードは
中のフィルムはいつものやつだったので、1stのブレードを差し替えてドームに持っていくことにします。