M5Stack備忘録
前提としてM5Stack BASIC V2.7を使っている。
最初にやること3つ
1.USBシリアルドライバをダウンロードしてインストールする
https://docs.m5stack.com/en/downloadからUSB Driver & Open source LibraryからCP210x_VCP_Windowsをダウンロードする
ダウンロードしたファイルを解凍して64bitOSならCP210xVCPInstaller_x64_v6.7.0.0.exeを実行、32ビットならCP210xVCPInstaller_x86_v6.7.0.0.exeを実行してインストール
※現行バージョン(ver.2.6)の M5Stack Basic Core / Fire / Core2 をご利用の場合は、CH9102 のドライバーをご利用ください。上記以外の M5Stack Basic Core / Fire / Gray / Core2 をご利用の場合は、CP2104 のドライバーをご利用ください。という注をみた。
2.ボードリストを追加する
ArduinoIDEを起動してファイル→環境設定(Preference)。
追加のボードマネージャ欄のURLに以下のURLを張り付ける。
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
※上のURLを貼り付けたらボードマネージャ欄に残る。自分がArduino IDE 2.3.6を使った時にはOKした後再度環境設定を開くとこの設定が消えてしまって進まなくなった。IDEの1.8.19を使ってうまくいった。原因や理由はわからん
ボードマネージャでM5Stackと入力して見つかったらインストール。自分が試した時点でのバージョンは2.1.4。
3.ライブラリを追加する
ライブラリマネージャからM5Stackをインストール
自分が試した時点でのバージョンはM5Stack 0.4.6
メモ
・320×240のTFTカラーディスプレイ
・Arduino本体の場所 C:¥Users¥ユーザー名¥Documents¥AppData¥Local¥Arduino15
・データの場所 C:¥Users¥ユーザー名¥Documents¥Arduino¥libraries
サンプル
#include <M5Stack.h>
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(4);
M5.Lcd.setCursor(0,0)
M5.Lcd.print("Hello World")
M5.Lcd.drawString("Hellow World",0,0)
フォント
まずはefont Unicode BDF Font Dataをライブラリに追加
参考
https://karakuri-musha.com/inside-technology/arduino-m5stack-efont_timer01/
スプライト
作成 関数の外で定義
TFT_eSprite sprite = TFT_eSprite(&M5.Lcd);
設定 setupの中で定義
sprite.setColorDepth(8);
sprite.setTextSize(3);
sprite.createSprite(M5.Lcd.width(), M5.Lcd.height());
画面にスプライトを移す
sprite.pushSprite(0, 0);
不要なスプライトを削除してメモリを解放
sprite.deleteSprite();
Jpegの表示
これ自身は次のように簡単だが、何枚か表示しているうちに落ちる。
M5.Lcd.clear(TFT_BLACK);
M5.Lcd.drawJpgFile(SD,"/1.jpg");
何枚か表示しているうちに落ちることについてAIさんは次のように指摘している。
M5Stackの`drawJpgFile()`関数は、microSDカードに格納されたJPEG画像をM5Stackのディスプレイに表示するために使用されます。この関数を使用する際には、JPEGファイルが読み込まれる際にM5Stackの内部メモリ(520KBのSRAM)や外部メモリ(最大16MBのフラッシュメモリ、8MBのPSRAM)を消費することに注意する必要があります。JPEG画像のサイズが大きくなると、メモリ不足が発生する可能性があるため、適切なサイズに調整する必要があるかもしれません.
ボトムを外すとこの問題が起きなくなるのでボトムに引き出されているピンにノイズがのることで起きるのではないかと思う
RGBで色指定
https://qiita.com/nnn112358/items/ea6b5e81623ba690343c
定義済みの色
https://docs.m5stack.com/ja/arduino/m5gfx/m5gfx_appendix
色とかのまとめ
https://karakuri-musha.com/inside-technology/arduino-m5stack-display-01/