
M5Stack ATOM Matrixでバーサライタ ~ POV1-ATOM ~
前回はM5Stack ATOM Matrixを購入してバーサライタを実現するまでの過程を報告させていただきました。
ここではバーサライタの構成や表示データ生成についてもう少し詳しく記載いたします。
目次
構成
LiPoバッテリ(5Vピンに印可)でM5Stack ATOM Matrixを駆動しモータで回します。
モータはPWMコントローラで回転速度を調整します。
部品
- M5Stack ATOM Matrix
M5Stack ATOM Matrix ESP32 Development Kit
- M5Stack
- 価格¥4,280(2025/06/06 05:18時点)
- 商品ランキング73,915位
-
LiPoバッテリ 3.7V 400mAh
リチウムイオンポリマー電池 3.7V 400mAh DTP502535 PHR
- アズワン(AS ONE)
- 価格¥1,353(2025/06/06 13:17時点)
- 商品ランキング266,117位
- マブチモーター RS-540SH
- マブチモーター
- 価格¥1,320(2025/06/06 20:45時点)
- 発売日2011/02/01
- 商品ランキング170,700位
- PWMコントローラ
POV1-ATOM
固定具は3Dプリンタで作成しました。
表示画像データ
M5Stack ATOM MatrixのLED5個をRGBYの4色で順番に発光させて、モータ速度調整しつつ回転させたところ
1周48分割で表示が可能であることが確認できました。
Pythonで画像データ生成
PovRanianと同様に表示したい画像を取り込んで、極座標変換するPythonコードを使用してみました。
#M5Stack #M5Atom pic.twitter.com/9H7VfbPy4w
— HomeMadeGarbage (@H0meMadeGarbage) April 20, 2020
半径方向のLEDが5個しかないので抜けが多く、画像からの変換では美しい表示が難しかったです。
まぁそもそも元画像がよくないのですが。。。
Excelで画像データ生成
原点に返ってExcelでドット画のようにお絵描きして、極座標変換してデータを生成する手法を試しました。
半径方向を6分割としております。M5Stack ATOM MatrixのLEDは5個使用しますので冒頭のデータ(真ん中の画)は使用しません。
以下が生成された表示画像データです。
参考
Arduinoコード
生成した表示画像データをもとにLEDを点灯させます。
ループで次々表示を切り替えています。
動作
POV mini Display using ATOM Matrix
“POV1-ATOM”#M5Stack #M5Atommario#nintendo pic.twitter.com/MYN2HDjcEd
— HomeMadeGarbage (@H0meMadeGarbage) April 18, 2020
所望の表示を得ることができました。
画像データを複数用意してアニメーションも可能です。
POV mini Display using ATOM Matrix
“POV1-ATOM”#M5Stack #M5Atomドラえもん。。。。 pic.twitter.com/R1DuEWdZlg
— HomeMadeGarbage (@H0meMadeGarbage) April 18, 2020
しかし手動によるモータ速度調整でのバーサライタ表示はカッコ悪いので、
次回はセンサ追加してもう少しスタイリッシュなPOV1を目指したいです。