目次
はじめに
M5Stack Core2を購入したはいいけど、何ができて何をしたらいいのかわからない方も多いと思います。
そんな人のためにサンプルコードを全部試してみました。
開発環境の作り方からサンプル動作まで、イチから説明しているのでよかったらご覧ください。
Arduino IDEでM5Stack Core2の開発環境を準備しよう
今回はArduino IDEを使って書き込みます。なんだそれ?って方はこちらの記事で丁寧に説明されていますので先にご覧ください。
PCとM5Stack Core2を接続するためのドライバを用意しよう
PCとM5Stack Core2を付属のUSB-A<->USB-Cでただ接続しても、PCは何が接続されたか認識することができません。
PCとM5Stack Core2はUSBで接続されるんですけど、M5Stackの脳みそであるESP32はUSBそのままの規格では通信できないんです。内部のICでUARTというシリアル通信の規格に変換しないといけないんですね。
そういったことをされると今度はPC側が困惑してしまうわけです。この通信の翻訳方法をPCに教えてくれるものがデバイスドライバになります。
M5Stack Core2には通信方式変換のためにCP2104というICが使用されているため、CP2104のデバイスドライバをPCにインストールしましょう。
ただし、最近のWindows 10には最初からデバイスドライバがインストールされてる可能性があります。
まずはそれを確認しましょう。
デバイスドライバが既にあるかの確認方法
M5Stack Core2を付属のケーブルでPCに接続します。
Windowsキーを押して[デバイスマネージャ]と入力。
下の画像のツールが出てくるのでクリックします。
[ポート(COMとLPT)]ツリーを開く。
[Silicon Labs CP210x USB to UART Bridge]の表記があればドライバがインストールされており、正しくM5Stack Core2との通信ができる状態です。
※文末の(COM{数字})は後で使用するのでここから確認できることを覚えておきましょう。
もしここに表示されない場合は、ドライバがありません。以下のサイトからダウウンロードしてインストールして下さい。
サンプルコードの入手方法
公式のサンプルコードをGit Cloneしよう
M5Stackの公式サンプルコードのリポジトリはこちらです。
こちらのリポジトリをローカルにgit cloneしましょう。git cloneがわからない人は[Code] -> [Download ZIP]でzipファイルをダウンロードして解凍しましょう。
今回はzipファイルをダウンロードして解凍しました。違いはgitでプロジェクトが管理されているかどうかだけなのでどちらでもいいです。
この機会にgitもインストールしたい方はこちらの記事をどうぞ。
解凍SSしたら、Arduino IDEが自動で認識してくれるフォルダに置きましょう。デフォルトだと下記のどちらかです。
C:\Users\ユーザーの名前\ドキュメント\Arduino
C:\Users\ユーザーの名前\OneDrive\ドキュメント\Arduino
これで下準備は完了です。
サンプルコードを書き込んでみよう
サンプルコードの用意ができたら実際にM5Stack Core2に書き込んでみましょう。
まずはM5Stack Core2を接続し、Arduino IDEを開きます。
[ツール] -> [ボード] -> [M5Stack-Core2]を選択。これが無い方は冒頭に戻って開発環境を整えてください。
[ツール] -> [シリアルポート]からM5Stack Core2のポート番号を選択。私の環境では[COM3]です。
※ポートは新しいスケッチを開くたびに再設定が必要なため注意!!!
ここまで来たらあとはサンプルスケッチを書き込むだけです!
[ファイル] -> [スケッチブック] -> [M5Core2-master] からサンプルを選べます。
今回は全部やってみます。
mpu6886
まずは6軸+温度センサのmpu6886のサンプルコード。
下の画面の通りに[ファイル] -> [M5Core2-master] -> [Basics] -> [mpu6886]をクリックしましょう。
サンプルコードが開いたら、[マイコンボードに書き込む]をクリックしましょう。
下の画像のように表示されれば成功です!
M5Stack Core2には6軸センサが搭載されているので加速度・各速度・起動時の向きを基準とした角度、そして温度が表示されています。
もし私の画面のようにほとんど0が表示されてしまった場合は、後ろの6軸センサ部分を取り外してしまっているため。取り付ければ直ります。
初期ノイズを除去してカルマンフィルタを実装すると6軸でもかなりの精度が出ます。なかなかいい感じです。
record
次はマイクとI2Sデジタルスピーカーのサンプルです。
[ファイル] -> [M5Core2-master] -> [Basics] -> [record]をクリック。書き込み。
こちらはタッチパネルの左のボタンを押しっぱなしにしている間、1秒間録音 -> 1秒間再生 -> 1秒間録音……
と繰り返されるようですね。
他の機能は無いです。注意点としては、取り外し可能な裏面のパーツにマイクが実装されているためそこに向けて録音しないと音が入りづらいです。
録音機能をこのまま何かに応用するのは難しそうかも…
rtc_wakeup
このサンプルはシャットダウン状態から自動で再起動する機能のサンプルコードみたいですね。
[ファイル] -> [M5Core2-master] -> [Basics] -> [rtc_wakeup]をクリック。書き込み。
特筆することは無い…
コメント