M5Stack社の製品にまつわる新情報をまとめてお届けする「M5Stackマンスリーアップデート」のコーナーです。
2020年5月に新販売になった製品はありませんでした。 5月号のATOMの紹介記事の中で「『LEDDisplay』というサンプルプログラムが動かない」と書きましたが、動かす方法が分かったので、それを紹介します。 また、4月の製品の中から、BugCという小型ロボットを動かす作例を「M5Stackカフェ」に書きましたので、そちらも合わせてご覧ください。
5月号のM5ATOMの紹介記事の中の「Arduinoでのプログラミング」で、「LEDDisplay」というサンプルプログラムが何も表示しなかったと書きました。 調べた結果、M5ATOMのライブラリのバグでした。ライブラリのソースコードが公開されているGithubサイトにこのバグの対処方法が公開されていました。
バグがあったのは LED_DisPlay.cpp
というライブラリです。ArduinoのライブラリはArduino IDEの「環境設定」の「スケッチブックの保存場所」で指定しているフォルダの libraries
にあり、 LED_DisPlay.cpp
は以下の場所にあります。
/スケッチブックの保存場所/libraries/M5Atom/src/utility/LED_DisPlay.cpp
このファイルの103行目を次のように修正すると、バグが修正できます。
修正前
xSemaphoreTake(_xSemaphore, portMAX_DELAY);
修正後
xSemaphoreTake(_xSemaphore, 100);
ライブラリを修正してビルドし、サンプルプログラムを動かしたところ、ATOMのLEDマトリックスに「ATOM」という文字が左にスクロールして表示されました。
4月にはRoverC、PuppyC、BugCという3種類の小型ロボットが発売されました。 3種類ともM5StickCで制御します(製品にはM5StickCは含まれておらず、別途購入する必要があります)。 RoverCはメカナムホイールを搭載して前後左右、斜めと全方向に移動できるロボット、PuppyCは4つのサーボモーターで駆動する足がついていて、前後に移動できるロボットです。 BugCはとてもユニークな移動メカニズムをもった小さなロボットです。 このBugCをもう1台のM5StickCを使ってコントロールする作例を「M5Stackカフェ」に書いたので、ご覧ください。