2020年4月15日水曜日

M5 ATOM LiteとATOM Matrixを試す(開封、環境構築、表示まで)


本日到着!
技適でないバージョンが届いた方もいらっしゃるようだが、我が家はシール付きだった。
 

←例の技適シール


購入

ATOM Lite/Matrixはマイコン界隈においてESPr Developerを超える衝撃かも。
4/10にスイッチサイエンス発売ニュースを見て購入即決。
4/10の営業時間後に注文し、届いたのは本日4/14の正午くらい。
コロナ騒動で自宅待機するにはぴったりのオモチャだ。
今スイッチサイエンスの在庫を見たら品切れだったので、注文が間に合ってよかった。

今まではM5Stackは高価なので見送り、M5StickCもADCが少ないのでArduino Nano互換 + ESP8266かPi Zero Wで十分だと考えていた。
対してATOMは安価・小型かつADCも多く、上記のマイコンではカバーできない新しいWifi対応のデバイス開発の道が開けそう。

環境構築

Arduino環境で動作確認するまで多少手間取ったので、要点を以下にまとめる。
太字下線部分はハマった部分。
  • 環境
    • OS:Windows 10 64bit
    • Arduino 1.8.12 64bit (zip版)
  • USB-Serial Driver
    • CP210x_VCP_Windows.zip
    • https://m5stack.com/pages/download
      • 上記リンクの「CP2014 Driver」の横のDownload
      • スイッチサイエンスのATOMのページのクイックスタートから辿れる
      • M5公式のページではなぜかリンクされていない・・・
  • Arduino設定
    1. zipを適当な作業場所に展開
    2. Arduinoを起動し、ツールバーの「ファイル」⇒「環境設定」を開く
    3. 追加のボードマネージャのURLに以下を追加
    4. ツールバーの「スケッチ」⇒「ライブラリをインクルード」⇒「ライブラリを管理」を開く
    5. 「M5Atom」と「M5StickC」と「FastLED」を導入
      • FastLEDはMatrixでもLiteのLEDでも必須のようなので注意
    6. Serialの速度は115200bpsにする
      • 速すぎるとうまく書き込めない
    7. ボードは「ESP32 Dev Module」にする
    8. 他の設定は変更しない(周波数など)
  • Arduinoのスケッチ例
    • LEDDisplayは動かない(他の方の記事でも言及あり)
    • LEDSet/Buttom/MPU6886は動く
      • 上記はATOM Lite/Matrixの両方とも

ESP8266などでAVR以外をArduinoで開発したことがあれば、ほとんどの作業は手間取らないと思う。

以下、M5に詳しい方には常識っぽいが、ArduinoやRaspberry Piしか知らない方へのコード説明。

>#include "M5Atom.h"
 ここにM5クラスなどが入っている。

>M5.dis.drawpix(<LEDのID>, <COLOR>);
 LEDやMatrixに書き込む関数。
 LEDのIDは、Liteは0固定。Matrixは0~24の整数値で場所を指定する。
 数値と場所の対応は、USBを下側にして左上が0、右上が4、左下が20、右下が24の順。

 COLORは「GRB」それぞれが0x00~0xFFとなる。
 0x000000で全消灯、0xFFFFFFで白色の全点灯となる。
 全点灯でも目視して目が痛くはない程度。発熱も数分程度なら平気だった。
 (というより、Matrixのほうは消灯していてもUSBを繋ぐと結構温かくなる)

>M5.begin(true, false, true)
 シリアルやLCDなどの機能のON/OFFを設定する。
 M5の機能を使うためにこれを setupで呼んでおく。

>M5.update()
 ボタンなどの各種情報を更新する。

これらが使いこなせれば、あとは他のArduino基板と似たように使える。
delayのような慣れ親しんだ関数もOK。


ひとまず今日はここまで。