新しいものづくりがわかるメディア

RSS


今度は諦めない! M5Stackでセンサーを使いこなそう

電子工作を始めたくてM5Stackを購入したのに、最初でつまずき使いこなせない。公式以外のセンサーを使うと、途端に難しくなり諦めてしまったなど、M5Stackをうまく利用できず放置している方もいるのではないでしょうか。

私が初めて触ったマイコンはArduino Unoでした。電子工作ブームから乗り遅れること2015年に、ハッカソンで知り合った方に教えてもらったのがきっかけです。しかし、Lチカ後のステップが分からず、何カ月も学習が停滞したこともあります。

電子工作はセンサーの使い方(供給電圧が異なる、IOの接続ピンが決まっているなど)を理解するごとに、少しずつ作れるものが増えていきます。いろいろなセンサーを使えるようになると、センサーを軸に面白いアイデアが浮かんできて、すぐに形にしてみたくなるはずです。

この記事では、M5Stackでサンプルを動かし、書き込みの基本を理解した上で、M5Stack公式のセンサーを使った場合と、非公式のセンサーを使った場合で、どのように手順が異なるかを紹介します。

今は電子工作が難しいと考えている方でも、諦めずに続ければ、私がそうであったように、プログラミングや電子工作の知識がなくても、アイデアを形にできると感じてもらえると思います。

M5Stackと他のマイコンの違い

電子工作の世界では、マイコンボードを購入し、使いたいセンサーやパーツを取り付けていきます。身近なところで言うと手芸の感覚に近いかもしれません。慣れてくると、センサーは高いものを使い、LCDは小さいものを使うなど、予算やアイデアによって仕上がりの異なる、世界で1つだけのものを作れるようになります。

M5Stackは他のマイコンと異なり、ディスプレイ、ボタン、加速度センサー、SDスロット、Wi-Fi、Bluetoothなどがすでに実装されており、追加購入せずにM5Stackの付属パーツを使い電子工作を始めることができます。

photo

M5Stackとプログラム環境

M5stackではプログラムを開発できる環境が4種類あります。M5Stackが公式にリリースしている開発環境である「UIFlow」、M5Stackに搭載されているESP32の開発元であるEspressif Systemsがリリースしている「ESP-IDF」、そしてArduinoの開発環境である「Arduino IDE」と「Arduino Web Editor」です。これらはM5StackやM5Stackに搭載されているESP32に対応しており、多くのM5StackユーザーはArduino IDEで開発を行っています。

Arduino Web EditorはArduino IDEのWebエディター版です。Arduino IDEのようにPCへインストールする必要がなく、環境構築に時間がほとんどかからないため、ちょっと触ってみたい初心者に最適です。

photo

サンプルプログラムを動かす

Arduino Web Editorを使った開発を紹介しながら、サンプルを動かしていきます。

まずはArduino Web Editorにアクセスしてください。サインインを求められるので、アカウントを新規登録するか、ソーシャルログインを使いログインしてください。ログインに成功すると次のような画面が表示されます。

photo

左側のメニューから「Libraries」>「LIBRARY MANAGER」を選択し、M5Stackを検索します。M5Stackの星印を選択している状態で「DONE」ボタンをクリックします。
これでM5Stackが使えるようになりました。

photo

M5Stackのプログラムは使用できるようになりましたが、PCとM5Stackを接続しても認識されません。

そこで、PCがデバイスを認識してプログラムを書き込めるように Arduino Web Editorのプラグインである「Arduino Create Agent」をインストールします。Arduino Create Agentが正常にインストールされると下の画面が表示されます。インストールが完了したら、再びArduino Web Editorに戻りましょう。

photo

モニターに出力するサンプルを動かしてみます。左側のメニューから「Examples」でM5Stackを検索し、「Basics」>「Display」を選択すると、プログラムエリアにプログラムが表示されます。

photo

M5StackをPCに接続し、ボードを設定してプログラムを書き込みます。下の画面の通りボード設定エリアをクリックし、「Select Other Board & Port」を選択します。ボードで「M5Stack」を検索し「M5Stack-Core2」を選択します。「OK」をクリックしボードが設定されれば完了です。

photo

検証ボタン「✔︎ 」をクリックしてプログラムに問題がないか確認した後、書き込みボタン「→」をクリックして、プログラムをM5Stackに書き込みます。

photo

正常にM5Stackにプログラムが書き込まれると、写真のようにM5Stackのモニターが激しく変わるプログラムが実行されます。

センサーの使い方を覚えよう

M5Stackには、難しい配線を行わずにすむGroveコネクターを搭載した、M5Stackで使えるセンサー類が多数販売されています。

手軽に使えるセンサーやサンプルプログラムが用意されているため、初心者でもすぐにプログラムが動かせる反面、Groveコネクターがないセンサーを使用する場合、途端につまずきやすくなるのが難点です 。

M5StackのGroveコネクターを実装したカラーセンサーを例にとり、Groveコネクターのないカラーセンサーを使用した場合では、どのような違いがあるのかを紹介します。

■使用するカラーセンサー

M5Stack用カラーセンサユニット[U009]
https://www.switch-science.com/catalog/5218/

TCS34725使用 カラーセンサーモジュール(白色LED搭載)
https://akizukidenshi.com/catalog/g/gM-08220/

「M5Stack用カラーセンサユニット[U009]」に実装されているTCS3472はTexas Advanced Optoelectronic Solutionsが製造しているセンサーです。現在国内で手に入るセンサーはTCS34725となります。

Arduino Web Editorの左側のメニューから「Libraries」をクリックし、M5STACKの「Examples」>「Unit」>「COLOR_TCS3472」を選択します。プログラムエリアに表示されたら、プログラムの下部に下記を追加します。読み取った色をモニターに表示するプログラムです。

//ディスプレイカラー表示
 M5.Lcd.fillRect(60, 150, 200, 60, _color); //x,y,w,h

「M5Stack用カラーセンサユニット[U009]」をM5Stackに接続しプログラムを書き込みます。

photo

プログラムの書き込み後、センサー部分に色紙に乗せると、M5Stackのディスプレイにカラーが表示されます。
※ライティングによっては読み取られる色が実際の色と異なる場合があります。

photo

続いて、Groveコネクターを使用せず「TCS34725使用 カラーセンサーモジュール(白色LED搭載)」を使う例を紹介しましょう。通常、全く異なるセンサーを利用する場合はプログラム自体を書き換える必要がありますが、「M5Stack用カラーセンサユニット[U009]」と「TCS34725使用 カラーセンサーモジュール(白色LED搭載)」はほぼ同じなので、プログラムはそのまま利用します。

photo

「TCS34725使用 カラーセンサーモジュール(白色LED搭載)」はピンヘッダを取り付ける必要があるので、はんだを使いピンヘッダを取り付けます。

photo

M5StackのGroveコネクターは5V、GND、SDA、SCLと同じです。TCS34725のVINをM5Stackの5Vに、GNDをM5StackのGに接続し、SDA、SCLはそれぞれセンサーとM5Stackを同じピン同士で繋ぎます。

photo

ここで1点気を付けたいのはセンサーの電源電圧です。センサーの基盤にはVINやVCCと書かれていることが多く、起動に必要な電圧が記載されていません。しかし電圧を間違えると、センサーが壊れてしまうことがあります。必ず、購入したサイト、もしくは製品のデータシートを見て電圧を確認してください。

今回、センサーを購入したサイトでは「電源電圧:3.3V~5V」と記載がありました。ここから3.3v〜5vであれば起動できることがわかります。M5Stackの電源を入れて、先ほど書き込んだプログラムが実行され、カラーセンサーが動けばOKです。

photo

カラーセンサーの読み取り部分に色紙を当てて、カラーセンサーの読み取りを確認します。

photo
photo

この記事では、M5Stackを購入したけれど使いきれていないという方向けに、簡単なサンプルの動かし方から、Groveコネクターを使用したセンサーの利用と、Groveコネクターを使用しない場合の方法を紹介しました。

Groveコネクターを利用すると簡単にモジュールとM5Stackを接続できますが、Groveコネクターが使えない場合には急に難しく感じます。記事を参考に、少しずつGroveコネクターを使用しない場合の接続方法を試してみてください。また次回も、電子工作を楽しみましょう!

おすすめ記事

 

コメント

今人気の記事はこちら

  1. cmレベルの高精度RTK-GPS測位ができる拡張ボード「GPS-RTK HAT for Raspberry Pi」
  2. 放射性中性子を排出しないクリーンな核融合——コンパクトで高効率な水素-ボロン核融合炉を計画
  3. ラズパイとLTEを搭載——防塵防水55インチ4Kモニター発表
  4. 発がん性物質などを含まない、光造形3Dプリンター用レジン「エキマテ」改良版が発売
  5. ラズパイやJetson Nanoを最大8個搭載可能なクラスターケース
  6. DINレール対応ラズパイケース——Raspberry Pi 4B用アルミケース発売
  7. ラズパイとの違いは? 初心者向けArduinoの使い方とオススメキット
  8. 第1回 ラズパイってなんですか
  9. カットもできる、10万円以下の組み立て式レーザーカッターLazervidaを使ってみた
  10. ラズパイにハードウェアクロックを——「Raspberry Pi 400用 RTCモジュール」

ニュース

編集部のおすすめ

連載・シリーズ

注目のキーワード

もっと見る