Blog ソフトウェア マニュアル

ArduinoでPingソナーを使用する

本記事では、Arduinoを使用して Pingソナー からデータを読み取り、結果を出力する方法を解説します。

Pingソナーは、多目的に利用できる シングルビーム測深機 です。
ROVやAUVの 高度計、USVに搭載した 測深作業、さらには障害物回避用ソナー など、さまざまな用途に使用されています。

シリアル通信に対応しているため、Arduinoをはじめとする各種マイクロコントローラと容易に接続・連携できます。

Pingソナー高度計/エコーサウンダー

Pingソナーは、高度計およびエコーサウンダーとして使用できるソナーです。
最大測定距離は100m、ビーム幅は25度で、シリアル通信に対応しています。

部品および工具

本ガイドで使用する主なコンポーネント

必要なもの

Ping ソナー高度計/エコーサウンダー
・測定レンジ:最大100m
・ビーム幅:25度
・通信方式:シリアル通信
BLUART USB–TTL シリアル/RS485 アダプター
・0.1インチヘッダおよび JST-GH コネクタ搭載
6インチ ストレート Micro-USB − USB-A ケーブル
・コンパクトなスペースや筐体内への組み込みに適しています

さらに必要なモノ

  1. Arduino マイクロコントローラ ×1
    ※本チュートリアルでは Arduino Uno を使用します
  2. USB A − B ケーブル ×1(Arduino ボードを接続するため)
  3. Arduino IDE
  4. Ping-Viewer

旧型 Ping ソナーのファームウェアバージョンとボーレート

本ガイドで使用する ping1d-simple スケッチは、Arduino Uno のようにハードウェアシリアルインターフェースが1つしかないArduino ボードとの互換性を確保するため、SoftwareSerial ライブラリを使用しています。

SoftwareSerial を使用する場合、Ping ソナーは 9600 ボーで通信する必要があります。
最新の Ping ソナー用ファームウェアでは、接続時に自動的に適切なボーレートへ切り替わります。

Ping ソナーの機種別ファームウェアについて

▶ 新型の Ping ソナー(本体が全黒) の場合
すでに 最新のファームウェア がインストールされています。
そのため、このセクションはスキップ可能で、新たにファームウェアをインストールする必要はありません。

▶ 旧型の Ping ソナー(本体が黒で、トランスデューサーリングが青) を使用している場合
自動ボーレート切り替えに対応した最新ファームウェアをインストールする必要があります。

Arduino Mega のように複数のハードウェアシリアルインターフェースを備えたArduino ボードを使用する場合は、SoftwareSerial を使用せず、115200 ボーのハードウェアシリアルを利用できます。
この場合、ファームウェアの変更は不要です。

代わりに、ping1d-simple-mega スケッチを使用してください。

Ping ファームウェアの更新手順

  1. Ping ソナーを BLUART または USB–シリアル変換アダプタでコンピューターに接続します。
    ※詳細は Ping Sonar クイックスタートガイドを参照してください。
  2. Ping Viewer を起動します。
  3. デバイスが正常に通信していることを確認してください。
    通信しない場合はトラブルシューティングを参照してください。

  4. 歯車アイコンをクリックしてファームウェアパネルを開き、
    円形の矢印が付いた3番目のアイコンをクリックします。

  5. ファームウェアを
    「auto」ファームウェア(ping-V3.28_auto 以降)
    に設定します。
  6. 信頼性の高い USB ポートに接続されていることを確認してください。
  7. 「ファームウェアのアップグレード」をクリックします。
  8. 更新が完了すると、再びデータのストリーミングが開始されます

    通信速度は低下します。

配線接続

  1. Ping の赤色の線(5V)を Arduino の 5V ピンに接続します。
  2. Ping の黒色の線(GND)を Arduino の GND ピンに接続します。
  3. Ping の白色の線(TX)を Arduino の デジタルピン 9(RX)に接続します。
  4. Ping の緑色の線(RX)を Arduino の デジタルピン 10(TX)に接続します。

Arduino ライブラリのインストール

Arduino IDE を使用する方法

  1. Arduino IDE を起動します。
  2. [スケッチ]→[ライブラリを含める]→[ライブラリを管理…]
    を選択します。

  3. 「Blue Robotics ping-arduino」を検索し、[インストール]をクリックします。

ZIP ファイルを使用する方法

  1. 最新の ZIP ファイルをダウンロードします。
    こちらからダウンロードできます。
  2. 解凍したフォルダを Arduino/libraries フォルダに配置します。

シンプルなサンプルの使用

シンプルなサンプルスケッチを Arduino にアップロードし、Ping ソナーから距離(深度)と信頼度を取得します。

  1. [ファイル]→[スケッチ例]→[ping-arduino]→[ping1d-simple]
    を開きます。

  2. Arduino にアップロードします。
  3. シリアルモニターを開きます。
  4. ボーレートを 115200 に設定します。

正常に動作していれば、距離(mm)と信頼度(%)が表示されます。

高度な使用方法

Ping ソナーは深度取得以外にもさまざまな制御・通信が可能です。

高度な機能を試すには、ping1d-advanced サンプルを使用してください。

  1. [ファイル]→[スケッチ例]→[ping-arduino]→[ping1d-advanced]
    を開きます。
  2. アップロードします。
  3. シリアルモニターを開き、ボーレートが 115200 であることを確認します。
  4. シリアルモニターに印刷されたデータは以下の通りです。

機器の購入・水中調査のご相談

水中ドローンを使った業務、機材の導入、操縦者の養成など、ぜひ、水中ドローンの専門家である弊社へご相談ください。

水中ドローンメール問い合わせ

022-739-8861

水中ドローンの株式会社チック
〒981-3203
宮城県仙台市泉区高森4-2-342
電話:022-739-8861
Mail:info@xd-fun.com

  • この記事を書いた人
  • 最新記事

株式会社チック-スタッフ

株式会社チック。水中ドローンや無人船、ブルーボートの開発・販売に注力。海洋調査や水中探査の現場で、水中ドローンを活用した豊富な調査経験を持ち、その実績を基に、専門家や企業に信頼される高性能な製品を提供しています。

-Blog, ソフトウェア, マニュアル