見出し画像

M5Stackで距離センサーを使う

M5Stackで、距離センサーを試してみました。入門書そのままです。

距離センサー

書籍で使用されていたセンサーはこれ。

あれ?この電子部品、なんか見覚えがあるぞ。と思ってジャンクパーツをごそごそしてみると。。。あったあった。

画像1

これこれ、目玉みたいでかわいいデザインのセンサー。以前Arduinoを使って衝突回避機能付きの車のおもちゃを作ったときのやつ。

Grove

これそのまま使えるんじゃと思ったら、入門書には「Groveセンサー」って書いてある。何?「Grove」って??

なるほど。ArduinoやRaspberry Piは、外部のセンサなどをつなぐ際、ジャンパワイヤをマイコンの所定の位置に差し、ブレッドボードを使って、電子部品(LEDや各センサ)の回路を組むのが普通。

M5Stackも、もちろんそういう使い方は可能。それに加えて、「Groveポート」というのがあって、もっと簡単に接続可能ってことか。

で、これが、M5Stackの「Groveポート」。

画像3

で、どんなものか買ってみました。

画像2

電子部品って、お店でばら売りされてるのが普通だけど、これ、ちゃんと個包装されてる。しかもケーブル付きだし。

コーデイング

部品はそろったのであとは書籍通り入力。まずは超短波距離センサーモジュールのライブラリをダウンロードして組み込み(zip直リンク)。
https://github.com/Seeed-Studio/Grove_Ultrasonic_Ranger/archive/master.zip

コーディングは非常に短い。実際センサーから値取得してるのは、

 RangeInCentimeters = ultrasonic.MeasureInCentimeters();

の、1行っぽい。

え?1行?以前Arduinoのときには、そんな簡単じゃなかった記憶があるけど。。

うん。サンプルソースみたいに、たしかセンサーの距離を計算で出したような気がします(はっきり覚えていませんが^^;)。ここを「ultrasonicライブラリ」で、cm変換までやってくれてるのかな。すごいな。

で、Arduino IDEでオブジェクトを書き込むと。。

完成!!

画像4

おおっ!!動いた!!
自分で入力したコードは大したことなくても、ライブラリ他環境がやってくれてるのだな。ありがたい。

折角なので、距離に応じて、背景色を、白→青→黄→赤、と変えるようにしてみました。

画像6

実践テスト

手近にあったプラモを使って、それっぽい感じで実践テスト。接近戦になると赤くなって警告します。DANGER!!DANGER!!DANGER!!

画像5

面白かった!

ブレッドボードやジャンパワイヤを使ったり、実際にはんだ付けするのも電子工作の醍醐味ではあるけれど、手軽につないで、ここまでサクッとできる手段もあるに越したことはない。やっぱりすごいな!!


この記事が気に入ったらサポートをしてみませんか?