M5Atom(M5Atom MatrixとM5Atom Lite)を手に入れたので調べてみた。
小さい透明なパッケージ箱に入って届いた。
箱から取り出した。
とりあえずArduino IDEで環境を用意して、動かしてみる。
まだ、alpha versionなのでハードやソフトで今後変更があるかもしれない。
You may have seen this exciting new tiny product on the M5Stack store, It is a little early days for the alpha version of this device but here’s how you can get started programming it https://t.co/hZBU0oszkj #m5stack #esp32 #esp32developmentboard pic.twitter.com/oC5yHCn9Yz
— M5Stack (@M5Stack) January 24, 2020
YouTubeにM5AtomのArduino環境設定の動画がある。
→ M5Stack Arduino Setup Guide for M5Atom – YouTube
自分はこの動画があるのに気が付かずに設定をして動かした。
公式のGitHubから、ArduinoのLibraryをzipでダウンロードして、WindowsのArduino IDEのM5Stackのライブラリフォルダーが入っている場所があるので、そこにM5Atomというフォルダーを作ってzipの中身を入れた。
→ GitHub – m5stack/M5Atom: M5Stack Atom Arduino Library
まずはLEDDisplayというexampleをM5Atom Matrixで動かしてみることにした。
ターゲットボードとしてM5Atomが出てこないので、とりあえずESP32のマイコンボードNodeMCU-32Sを選択してビルドした。
しかし、ビルドエラーが出ている。”FastLED.h”というヘッダファイルが無いというエラーだ。
FastLEDというライブラリをLibrary Managerからインストールした。
FastLEDライブラリを入れたら無事にビルドできて、M5Atom Matrixへの書き込みもできた。
しかし、LEDの表示が無い。
なぜか正常に動作しないみたいだ。
他のexampleも一通り試してみた。
M5Atom Lite用のLEDSetというexampleはちゃんとM5Atom Liteで動作した。ボタンを押すとボタンのLEDの色が変わるというexampleだ。
M5Atom Matrix用のButtomというexampleはM5Atom Matrixで動作した。これもボタンを押すとボタンのLEDの色が変わるというexampleだ。ButtomというのはButtonのtypoだろうか。
M5Atom Matrix用のMPU6886というexampleもM5Atom Matrixで動作した。内蔵のIMUのセンサー値がUARTに出力されるので、Arduino IDEのシリアルモニターで受信して確認できた。
M5Atom MatrixとM5Atom Liteを分解してみた。
M5Atom Liteは、ケースの合わせ目の嵌め合いが緩めなので簡単に分解できる。シールもケースを開けるときに簡単に片側がはがれた。
M5Atom Matrixは、ケースの嵌め合いがちょっと固い。力を入れて開けたら弾みで本体基板とLED側基板とを繋いでいるフレキケーブルを千切ってしまった。
千切れてしまったケーブルは、ボタンのスイッチとNeoPixel LEDとI2CのIMUセンサーが繋がっていたもので、6本の配線だけなので、フレキの代わりに自分で電線をはんだ付けして直せそうだ。
2つの基板を見比べると、ベースの基板は一緒なのが分かる。
M5Atom Liteの基板の中心のNeoPixel LEDが載っている場所は、M5Atom MatrixではLEDが実装されていない。
M5Matrixではもう1枚5×5=25個のNeoPixel LEDが載った基板があり、フレキケーブルでつながっている。フレキケーブルはコネクタ無しではんだ付けされている。はんだ付けの仕方がちょっとアクロバティックだ。
—
追記
M5Atom Matrixのフレキ部分を千切ってしまったのを修理した。