【Arduino入門】「iPhone 12 Pro」シリーズの搭載で注目されるLiDAR(ライダー)を手軽に使えるtinyLiDAR ToFレンジファインダセンサーを使用する
■用意したもの
・Arduinoバージョン1.8.13がインストールされているPC(Windows10)
・Elegoo MEGA2560 R3ボード(マイコン)、1個(https://amzn.to/3jtvfjW)
Arduino Unoでも使用可能ですが、今回はElegoo MEGA2560 R3ボードを使用しています。
・tinyLiDAR ToFレンジファインダセンサ、1個(https://item.rakuten.co.jp/robotshopjapan/rb-mce-01/)
・梱包された袋を確認すると、「Made in Canada(カナダ製)」と記載されている。
・GROVEとオスヘッダピン間ケーブル、1個
※GROVEとオスヘッダピン間ケーブルはtinyLiDAR ToFレンジファインダセンサを購入すると付属しています。
■LiDAR(ライダー)(Light Detection and Ranging)への理解
LiDAR(ライダー)とは、「Light Detection and Ranging」の略語です。パルスレーザーの形をした光を使って距離(可変距離)を測定するリモートセンシング(遠隔からセンサーを使って感知する)技術です。これは新しい技術そのものではないです。
アメリカ航空宇宙局(NASA)は、これを宇宙ミッションに利用しています。また気象学者は、LiDARを使うことで、精度の高い天気予報します。
またこの技術を利用して、3D地図を作成することもできます。さらには自動車の自動運転技術の研究開発にも使われています。
iPhone 12 Proシリーズにも搭載されており、LiDAR(ライダー)を使うことで、レーザー光が当たるものは、すべてで感知し、人間の目のような奥行きを知覚できます。これにより、拡張現実(AR)とそれを超えた可能性が広がります。
ちなみに、遠隔からセンサーを使って感知するため、手を触れずに感知できます。新型コロナウイルスによる感染症対策である、3密(密集・密接・密室)、ソーシャルディスタンスでの距離の測定にも使えます。なお、距離だけでなく、形状まで正確に検知できます。
今回使うtinyLiDARは、Indiegogoにてクラウドファンディングにより、製品化されたものである。
■tinyLiDAR ToFレンジファインダセンサにGROVEとオスヘッダピン間ケーブルを接続する
では、tinyLiDAR ToFレンジファインダセンサを使用しますので、まずはtinyLiDAR ToFレンジファインダセンサにGROVEとオスヘッダピン間ケーブルを接続します。
接続する前に、tinyLiDAR ToFレンジファインダセンサには上記の表記があることを確認しておきます。
■GROVEとオスヘッダピン間ケーブルと、MEGA2560 R3ボードを接続する
接続後、GROVEとオスヘッダピン間ケーブルと、MEGA2560 R3ボードを接続します。
配線を間違えないようにします。
■MEGA2560 R3ボードをPC(パソコン)に接続する
接続後、MEGA2560 R3ボードをUSBケーブルを使って、PC(パソコン)に接続する。
■MEGA2560 R3ボードにコードを書き込む
PC(パソコン)にインストールしてある「Arduino」が起動し、Arduino IDEを表示させます。
表示後、コードを書き込みますが、書き込む前に「Arduino I2C Master Library rev5」ライブラリの追加を行います。ライブラリはこちらからダウンロードできます(https://github.com/DSSCircuits/I2C-Master-Library)。
ダウンロード先のページを表示すると「Code」というボタンがあるのでクリックし、「Download ZIP」をクリックします。
クリックすると、ダウンロードが開始され、Webブラウザで指定されている保存場所に「I2C-Master-Library-master.zip」というファイルがダウンロードされます。
ダウンロード後、Arduino IDEに戻ります。Arduino IDEから「スケッチ」の「ライブラリのインクルード」をクリックします。クリックするとプルダウンメニューが表示されますので、「.ZIP形式のライブラリをインストール..」をクリックします。
クリックすると「インストールするライブラリを含むZIPファイルまたはフォルダを指定してください。」というウインドウが表示されますので、「I2C-Master-Library-master.zip」を選択し、「開く」ボタンをクリックします。
クリックすると、Arduino IDEの下部に「ライブラリが追加されました。」と表示されます。これでライブラリが追加されました。
先程のArduino IDEから「スケッチ」の「ライブラリのインクルード」を確認すると、「提供されたライブラリ」に「I2C-Master-Library-master」が追加されていることが確認できます。
確認後、「tinyLiDAR ToF Range Finder Sensor Datasheet(https://www.robotshop.com/media/files/pdf/tinylidar-tof-range-finder-sensor-datasheet.pdf)」内に記載されている「Sample Arduino UNO Sketches for tinyLiDAR(tinyLiDAR用のサンプルArduinoUNOスケッチ)」に表示されているコードをArduino IDEに記述します。今回はこちら(https://microedco.s3.amazonaws.com/index.html)でも公開されている「minimalRead_DUE.ino」というスケッチ、コードを書き込みます。
記述後、「Arduino」の上部にある「マイコンボードに書き込む・書込装置を使って書き込み」ボタンをクリックします。クリックする際は、接続したPC(パソコン)でMEGA2560 R3ボードが認識されているかを確認し、クリックします。
クリックすると、Arduino IDEの下部に「ボードへの書き込みが完了しました。」と表示されます。これでスケッチ、コードの書き込みは完了します。
■tinyLiDAR ToFレンジファインダセンサーによる距離の読み取り検証
スケッチ、コードの書き込み後、Arduino IDEの上部右側に「シリアルモニタ」ボタンがあるので、クリックします。
クリックすると、tinyLiDAR ToFレンジファインダセンサーからレーザー光が照射され、物体までの距離が出力されます。なお、シリアルモニタでの出力が文字化けする場合は、「Serial.begin(115200);」といったコード表記になっていますが、「Serial.begin(9600);」に変更すると改善します。
コメント