最近使っていなかったが、考えれば手元にあるM5Stick Cは、ともかくM5Stack Core2はモータとステアリング操作に、I2C、GPSとの通信にUART、RTKにWi-Fi、アピールに音、操作関係にはタッチパネル。
ちょっとパフォーマンスの心配はあるが、サーボをI2Cでやってしまえば可能性ありかと。
本当はパフォーマンスを考慮してRaspberry pi PICO Wを使いたかったんですが、まだ技適前。自分で研究用で申請してしまうのもありだが、そのものが手に入らない。 Arduino IDEでアプリ組めるし。 と思っていたが、また次回のお遊び用に。
さて、M5StackCore2のリハビリを兼ねて数字を表示するスケッチを。
#include <M5Core2.h>
static int i;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200); //USB to PC
delay(100);
M5.begin();
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextColor(GREEN , BLACK);
M5.Lcd.setTextSize(2);
M5.Lcd.println("M9 Started");
Serial.println("M9 Started");
}
void loop() {
i = i + 1;
M5.Lcd.setCursor(0,15);
M5.Lcd.println(i);
M5.Lcd.println("123456");
Serial.println(i);
delay(500);
}
あれ? うまくいくときもあるが、再書き込みで止まったり、リスタートボタンの横のLEDが消えていたり、動作がおかしい。 リスタートボタンをおしてもウンスンではないか。。。
もしや、ESP32やUnoで時々苦しめられたRSTの信号不安定か?
ググってみると。 Core2においては、同現象に悩まされている人もいるが、それほど多くはない。
過去のセオリー通りにRSTとGND間にコンデンサをつけている人も確かにいる。
幸いCore2には端子もある。。。 おもちゃオシロで見てみるべきか。。。
こんな時にはリビング行ったり、冷蔵庫空けたり、、、、そういえば、Fall Guysが無料になっているんですよね。 なんとなく、Fall Guysの名前が覚えられなくて、Whole Foodsが頭の中に出てくることこの頃。
ってなことを考えながら、再度PCの前に。。。 Delayを増やしたり、カーソル処理を外したり。。。 あれ? ダウンロードするときに Time Out起こすことも、ますますCore2がひねくれている。
こうゆうときは、一度工場出荷へ。 EasyLoader_M5Core2_FactoryTest.exe を使って、最初のアプリをロード。 あれ? 動くじゃん。 リスタートも何度やっても問題ない。 これのアプリ部分だけ入れ替えたいなぁ。。。
ん?
OSが原因か? ボード情報を取得してみると、対象外? んん? M5StackのCore2のボードと設定しているが、中身がこっそり変わっていたか??? ファームのスタイルが変わっていてIDEと一致していなかったのかも。
さっそく、ボードマネージャでM5Stackを検索。 インストールは1.0.6 最新は2.0.3。 これかぁ。。
最新に上げて、ダウンロードして事なきを得た。 コンパイルが長くてたまらん。 PCの性能もあるが、何とかしてくれ!!! 昔もコンパイル間に仮眠をとっていた時代が懐かしい。 これが原因だったのね。
すると、これまでESP32でトラブっていたのもこれが原因だったのでは??? と疑ってしまう。
動作確認して良好を確かめ一安心。 念のためにライブラリのM5Core2も0.1.2から0.1.4に挙げておいた。
再度動作確認して問題のないことを再確認してComplete!