空中投影できるネギ型ソードを作ってみた【初音ミク誕生祭2022】

バーサライタ

電子部品販売代理店のマウザーエレクトロニクス様から、8/31の初音ミク誕生祭に関連した電子工作を作っていただけないか、と提案を受けて作りました。マウザー様のサイト内のForteという部品表作成ツールを使って部品を選定し、ご提供いただいたものを一部使用しています。

  • M5 ATOM

動画

YouTube

ニコニコ動画

概要

主な構成等は動画を見ていただければと思います。今回使用したArduinoのコードと画像変換に使用したPythonのコードを添付します。

Arduinoコード

ネギを振るたびに9個の画像が切り替わります。振り下ろすときにも振り上げる時にも画像を表示できます。ネギを振った時の判定は当初はXYZ方向加速度の合計で判定していましたが、角加速度(Gyro)の方が安定して判定されたためこちらを使用しています。表示する画像データはCファイルで作成してそれぞれincludeしています。Cファイルの中身を見てもらえばわかるのですが、中身はunsigned longの200×100の配列です。unsignd longは32bitのサイズで、実際に必要なのは24bitのデータ(RGBx8bit)のため、無駄に4/3倍のデータサイズとなっていますが、これはメンドクサイ今回修正する時間が無かった&M5 ATOMのフラッシュ容量が大きいため、この仕様にしています。8bitの3x200x100の配列にするとか16bit(RRRRRGGGGGGBBBBB)の色情報に圧縮するとかすればより多くの画像を収納することができます。

画像のCファイルはコチラからダウンロードできます。

画像変換のPythonコード

filenameには変換する画像のファイルパスを入れてください。reWidthとreHightは球形POVの時の名残なので気にしないでください(球形POVでは元画像の下部分をトリミングする必要があった)。元画像の色のままでLEDに表示させると明るさが強くなり、実際の見た目に対して白っぽくなるためガンマ補正をかけて調整しています。普通のガンマ補正は±0.0~1.0程度なので5.0という過剰な値にしていますが、バーサライタ(POV)に表示させる場合はこのぐらいでちょうどよくなります。

コメント

タイトルとURLをコピーしました