M5Stack,M5StickC,M5Atom,M5StickVのトラブルの対処法【ソフトウェア編】
M5Stack、M5StickC、M5Atom、M5StickVに関して、主にツイッターで困っているのをみかけるトラブルと対処方法を記述していきます。こちらに無い場合はM5Stack製品の始め方【2022/2月版】も参照してみてください。
私はUIFlowはあまり使っていないのでArduinoIDE中心です。 利用している環境が異なると対処方法が上手く行かない場合がありますのでその点はご了承ください。
もくじ(Index)M5Stack関連の目次へ戻る
記事の環境
記事作成時に利用していた環境です。
- OS: Windows10 Pro 64bit及びUbuntu 18.04.3
- ArduinoIDE:1.8.10
- Arduino-CoreESP32 1.0.4
- M5Stack Library 0.2.9
- M5StickC Library 0.1.1
- M5Atom Library 0.0.1
M5Stack、M5StickC、M5Atom
JPGファイルが表示できない
SDカードの相性に問題があるか、JPGファイルのフォーマットが違っている場合があります。まずは
JPGファイルは下記の条件で書き出してみましょう。(Windows標準のMSペイントでも変換できます。MSペイントで開いて保存してみてください。)
- プログレッシブオフ
- マットなし
IMUが動かない
M5StackとM5StickCはIMU(慣性計測センサー)が異なる個体が存在します。また、ライブラリのバージョンによってAPIが変わっているため古いソースや書籍の情報だと追いついていない場合があります。
過去のモデル | 最新(2020/2) | 備考 | |
---|---|---|---|
M5Stack Basic | なし | なし | IMUはない |
M5Stack Gray | MPU9250 | MPU6886+BMM150 | 9軸IMU |
M5Stack Fire | MPU6050+MAG3110 MPU9250 SH200Q+BMM150 | MPU6886+BMM150 | 9軸IMU |
M5StickC | SH200Q | MPU6886 | 6軸IMU |
M5Atom | MPU6886 | MPU6886 | 6軸IMU |
2020/2/26現在の最新ライブラリでは「M5.IMU」で始まるAPIが該当します。動かない場合はソースを確認してみるのが定石でしょう。
https://github.com/m5stack/M5Stack/blob/master/src/M5Stack.h#L147
https://github.com/m5stack/M5StickC/blob/master/src/IMU.h
https://github.com/m5stack/M5Atom/blob/master/src/M5Atom.h#L67
M5StickV,UnitV
【UnitVのみ】No module named ‘WS2812’が出てLEDが使えない
UnitVに搭載されているLEDはWS2812なのですが、moduleは後から追加されたのでMaixPyのファームウェアによっては含まれておらずこのエラーが起きます。場合によってはファームウェアをビルドする必要があります。
【UnitVのみ】lcdモジュールを使うとボタンの値が0で変わらない。
UnitVにはLCDは付いていないので問題は無いのですが、ボタンで使用しているGPIO18(ButtonB)とGPIO19(ButtonA)はM5StickVのLCDと被っています。(https://docs.m5stack.com/assets/img/product_pics/core/minicore/m5stickv/m5stickv_04.jpg)ソースをM5StickVと共通化する際は注意が必要です。lcdと同時に使うとボタンの値が0のままでボタンを使うことができません。UnitVでlcdを使わないようにロジックを組む必要があります。
M5StickVとUnitVの区別はI2Cデバイスの有無で条件分岐できるようです。(I2C機器を繋いでいる場合は0x23のAXP192の有無で判断した方が良いかも?)
おわりに
こちらの記事は随時更新していきます。もし、対処方法が違う、こんなのもあったよーという方がいらっしゃいましたらコメント、メール、Twitterでお知らせください。M5Stack製品を活用して楽しいものを作っていきましょう。
更新履歴
- 2020/2/26 新規作成(JPGとIMUの問題)