Arduino Nanoを用いて超音波センサを実装したので、そのやり方について紹介したいと思います。
この記事を読むことで、安価なマイコンであるArduino Nanoで超音波センサが実装できるようになります。
超音波センサは以前も安価なものを実装しました。
超音波センサを使うことで、センサから障害物までの距離が計測できるので、ロボットの自動運転ができるようになります。これを組み合わせることで最近流行りのSLAMなども実装できるようになる。
前回実装した超音波センサ (HC-SR04)はアナログ観測のみの観測範囲が4mまでで、分解能も荒かったのに対し、今回のMB1013はアナログ、パルス、シリアルでの通信が可能なのに加え、5mの観測範囲、観測角度90°、パルス計測では高分解能を有しています。
自動運転にはできるだけ高性能なものを利用することで、安全性を担保できるので、このように性能にこだわる必要もありそうです。
ESP32版はこちら
Arduino Nano, KY-040の簡単な説明
Arduino Nano
Arduino Nanoは超安価で購入ができるマイコンで、電気やプログラミングの深い知識を持っていない電子工作初心者でも扱いやすい、オープンソースマイコンです。
Arduinoと比較すると、性能は劣るものの、安価で広い用途で使用可能なので初心者に適しています。
ちなみに、上記が純正品ですが、互換品である以下も性能面では変わらないので強いこだわりがない限りは、互換品の方がおすすめです。
超音波センサ
実験構成
- Arduino Nano
- 超音波センサ (MB1013)
- ジャンパ線多数
Arduino Nano、超音波センサは上記のものを使用しています。
ジャンパ線は何を使用してもいいですが、一応リンクを張っておきます。
実験
配線
まず配線は以下のようにします。
配線ができると以下のような画像のようになります。
実行コード
ここまで出来たら以下のコードを実行することで動作確認ができます。
今回は超音波センサの数値をシリアルモニタで確認できるようにしています。
アナログの時と、パルスの時で関数を切り替えれば使い分けができるようになっています。
アナログは容易に使用できますが、電圧入力が可能であれば、パルスを使った方が精度が高く、処理も早いようです。
まとめ
今回は、Arduino Nanoで超音波センサを動かすために必要なものの紹介と、サンプルプログラムの紹介をしました。