M5Stackについては、IoT界隈でちょくちょく聞く名前だなーとは思っていたものの
新しいガジェットを遊ぶのもしんどいなと思ってスルーしていたのだが、
どうやらArduinoと似たようなものだし、Groveのモジュールも使えそうっぽいことを知ったので、買ってみた。
到着
届いてた! pic.twitter.com/sidgt9Sa5R
— なかまえ (@ryo_naka) 2019年5月8日
開封
とりあえずLチカ
とりあえずLチカ的なことを目標にセットアップ/開発環境構築をスタート
arduino IDE
- インストール
- Wio LTEを触った際にIDEそのものはインストール済みなので割愛
- arduino-esp32のインストール
- インストールしていなくても、ライブラリ管理画面に出てくる。なので、試しにインストールを押下してみる。
なんかインストールできたっぽいので試してみようかと思ったが、ボードにM5Stackが出てこない。
ここに出すためのものを必要なのかな。
なのでちゃんとarduino-esp32をインストールしてみる。
以下実行してクローン
cd <スケッチブックの場所>\hardware\espressif
git clone https://github.com/espressif/arduino-esp32.git esp32
git submodule update --init --recursive
※hardware\espressifの部分のフォルダがなかったら自分で作成。
esp32まで作ってしまうとclone実行時に「もう存在しているで」って怒られる。
上記後にtoolsフォルダの中にあるget.exeもしくはget.pyを実行
これでIDEを再起動すると、
ボード一覧にM5Stack-Core-ESP32が出てくるようになっているので選択。
端末にUSBで接続するとシリアルポートもわかるようになっているはずなので、それも指定。
Hello World
〇スケッチ例:[Display]
スケッチサンプルの[Display]を書き込んでみる
コンパイルされたうえで書き込まれる。
チカチカして気持ち悪いがちゃんと動いている。
〇スケッチ例:[Speaker]
音声も出してみようと[Speaker]を書き込んでみる。
ボタンには反応しているのだが、beepもtoneも実施されていない?
それとも音量が小さいだけ?
ググってもわからなかったのでつぶやいてみたら、すぐにどこからともかく解答っぽいのが飛んでくるからIoT界隈は好きだわ。
失礼します。M5.Speakerから音が出ない件でしたら、
— らびやん (@lovyan03) 2019年5月11日
ライブラリを0.2.5に変更するか、githubからリリース前の最新の状態のライブラリを入手して試してみてください。
ということで、ライブラリの管理から0.2.5に変更して試してみる。
が、コンパイルエラー
Arduino:1.8.5 (Windows 10), ボード:"M5Stack-Core-ESP32, QIO, 80MHz, Default, 921600, None"
libraries\M5Stack\M5Display.cpp.o:(.literal._ZN9M5Display5beginEv+0x8): undefined reference to `TFT_eSPI::begin(unsigned char)'
libraries\M5Stack\M5Display.cpp.o: In function `M5Display::begin()':
C:\Users\RyoNakamae\Documents\Arduino\hardware\espressif\esp32\libraries\FS\src/FS.h:47: undefined reference to `TFT_eSPI::begin(unsigned char)'
libraries\M5Stack\M5Display.cpp.o:(.rodata._ZTV9M5Display[vtable for M5Display]+0x18): undefined reference to `TFT_eSPI::drawPixel(int, int, unsigned int)'
libraries\M5Stack\M5Display.cpp.o:(.rodata._ZTV9M5Display[vtable for M5Display]+0x30): undefined reference to `TFT_eSPI::drawChar(unsigned short, int, int, unsigned char)'
libraries\M5Stack\M5Display.cpp.o:(.rodata._ZTV9M5Display[vtable for M5Display]+0x34): undefined reference to `TFT_eSPI::drawChar(unsigned short, int, int)'
collect2.exe: error: ld returned 1 exit status
「SD.h」に対して複数のライブラリが見つかりました
使用済:C:\Users\RyoNakamae\Documents\Arduino\hardware\espressif\esp32\libraries\SD
未使用:C:\Program Files (x86)\Arduino\libraries\SD
exit status 1
ボードM5Stack-Core-ESP32に対するコンパイル時にエラーが発生しました。
クリーンビルドしたいのだが、よくわからないので、一回それぞれのヘッダをリネームして、コンパイル。エラーを出させた後に、名前を戻して、コンパイル。
無理やりリビルド。
で、書き込みしたら音がでた!
音出た! pic.twitter.com/7GZ0agYw5C
— なかまえ (@ryo_naka) 2019年5月11日
〇スケッチ例より:[TFT_Clock]
これを腕時計にしたらスマートウォッチになるのか?
とりあえずはここまで。
参考
- 技術書典6で購入したプリン本
- http://tutuurara.com/m5stack-arduino/