LoginSignup
4
2

More than 3 years have passed since last update.

M1 MacでAtom Matrixを使う(M5Stack,esp32)

Last updated at Posted at 2021-02-07

M1 MacでM5stackの小さい版のAtom Matrixを使うためのメモ。結論としてはM1 MacでArduinoは使えるが、esp32系のM5StackやAtom Matrixはpython 関連のコマンドを実行する一手間が必要。

環境

M1 MacBookAir
Atom Matrix
Type-Cケーブル接続

手順

環境設定>セキュリティ>一般
「App Storeと確認済みの開発元からのアプリケーションを許可」にチェック

ATOM MatrixのUSBドライバをDLして、インストール
https://docs.m5stack.com/#/en/arduino/arduino_development
CP210x_VCP_MacOS.zipをDLし、
SiLabsUSBDriverDisk.dmgを解凍し、
Silicon Labs VCP Driver.pkgを実行
なんか失敗したと出る。もう一回インストールするが、もう出ない。なんだったのか?
↓これかもしれないが、気にせず進めて問題なかった。
https://support.apple.com/ja-jp/guide/mac-help/mchl768f7291/mac

Arduino(1.8.13)をDLしてインストール

Arduino>Preferenceで「追加のボードマネージャのURL」欄に
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
を追加する

ボードマネージャの設定

ツール>ボード>ボードマネージャで「追加のボード」で「ATOM」を検索し、M5Stack(1.0.7)をインストール
ツール>ボード>M5Stack Arduino>M5Stack ATOMを選ぶ
ツール>UploadSpeed>115200を選ぶ
※古そうな資料には、M5StickCかESP32 Pico KITを選択(ただし、ESP Picoの場合、レートは115200を使うこと)とあるので、115200を使った方がいいかもしれないが、1500000でも問題なく動くし、転送時間もグッと短くなる。
ツール>シリアルポート>/dev/cu.usbserial-9156002393(数字は環境によって変わる)

ライブラリマネージャの設定

ライブラリマネージャで「M5Atom」を検索し、M5Atom(0.0.1)をインストール
ライブラリマネージャで「FastLED」を検索し、FastLED(3.4.0)をインストール

※M5Stackの場合は「M5Stack」を検索し、M5Stack(0.3.1)をインストール

このままでは、ビルドに失敗する。原因はMacOS11にあるようで、OS的にはpython3がデフォルトになっているのに、Arduinoはpython2を求めるから、失敗するらしい。解決するには、ターミナルから、下記コマンドを実行しパスワードを入力。

sudo pip3 install --target /Library/Python/2.7/site-packages pyserial

WARNINGが出るが、とりあえず問題なさそう。

試しに
ファイル>スケッチ例>M5Atom>Basics>Buttomをビルドし、書き込む。
SPIとかFastLEDの赤い文字がたくさん出るが、それ自体は問題ない。
いつもの「何バイトになった」という白いレポートが表示されればOK。
その後、また赤い字で、何%という転送の様子が徐々に表示される。

サンプルコード

加速度データを取得し、シリアルプロッタで表示するコードを示す。
シリアルプロッタは115200に設定しないと、文字化けして見れない。

atomAcc.ino
#include "M5Atom.h"

float accX, accY, accZ;
float gyroX, gyroY, gyroZ;
float temp;

void setup() {
  M5.begin(true, false, true);
  M5.IMU.Init();
}

void loop() {
  M5.IMU.getGyroData(&gyroX, &gyroY, &gyroZ);
  M5.IMU.getAccelData(&accX, &accY, &accZ);
  M5.IMU.getTempData(&temp);

  Serial.printf("accX:%.2f,accY:%.2f,accZ:%.2f,temp:%.2f\r\n",accX,accY,accZ,temp);

  delay(20);
  M5.update();
}

スクリーンショット 2021-02-07 9.01.16.png

スピーカが欲しい
この温度の30はなんだろうか?
室温は多分10度ぐらいだし、握っていると、じわじわと上昇して40以上にはなる。ICの熱か?とにかく、気温を測ることには使えない。おそらく、ICが熱で壊れないように、チェックするためのものだろう。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2