Arduino UNO USBエクステンダー
Arduino
IoTデバイス開発において、 Raspberry Pi とならんで Arduino は手軽にプログラミングできるワンボードマイコンです。様々な拡張ボードやセンサも用意されており、それらと組合すことで無限大の可能性を秘めています。
Arduino はスタンドアローンで動作しますが、 PC と常時接続しておき情報をリアルタイムで処理することもできます。またスタンドアローンで動作させるための開発段階で、 PC と常時接続してデバッグを行うこともあります。そのとき利用するのは USB ケーブルになります。
今回、私も Arduino Uno Rev3 を使用しており、開発段階から Arduino を室外に設置する必要がありました。本番環境ではスタンドアロンで動作させるものの、開発段階ではそこまで USB ケーブルで接続するひつようがあり、その長さは 13m になります。そこで、 Arduino で利用可能な USB ケーブルについて調査しましたので、それについて紹介します。
USB エクステンダー
Arduino に接続する USB コネクタは USB 2.0 Type B の規格になりますので、延長するケーブルも USB 2.0 でなければいけません。また USB 2.0 ケーブルの長さは上限が 5m と決まっています。これ以上延長したい場合は、リピータケーブルを利用する必要があります。このリピータケーブルには、
- パッシブタイプ
- アクティブリピータタイプ
- 光リピータタイプ
などがあります。
通常、パッシブタイプは単純にケーブルを伸ばしただけですので、長い距離は延長できません。アクティブリピータタイプと光リピータタイプは、途中で信号を増幅させるリピータ機能が付いています。また、アクティブリピータタイプよりも光リピータタイプの方が距離を長く延長することができます。 しかし、光リピータタイプは非常に高価ですので、今回は対象としませんでした。
アクティブリピータタイプ
私の環境では 13m の延長が必要です。以前の「 Intel RealSense USBエクステンダー 」で紹介した「 サンワサプライ USB3.0アクティブリピーターケーブル10m KB-USB-R310 」があったので試してみました。こちらのケーブルは、USB 3.0 10m のアクティブリピータータイプです。このケーブルは付属のアダプターがあり、セルフパワーだけでなくバスパワーでも利用することができます。
結果としては、 Arduino IDE から標準のサンプルを Arduino UNO Rev3 に書き込んだところ、セルフパワーで問題なく動作しました。ただしこのケーブルは 10m ですので、まだ私の必要とする長さには届きません。
※補足
今回利用したアクティブリピータケーブルは USB 3.0 のもので少々お値段が高いです。試していないので正確なことは判りませんが、同じメーカーの USB 2.0 12m の「 サンワサプライ 12m延長USB2.0アクティブリピーターケーブル Aオス-Aメス KB-USB-R212 」もあり半額以下で入手できますので、 Arduino 用であればこちらでも大丈夫かもしれません。こちらのケーブルはデイジーチェーン接続で 41m まで延長できるようです ( 20m のものを利用すれば最長 45m!)。
アクティブリピータタイプ 10m + USB ケーブル 4.9m
「 サンワサプライ USB3.0アクティブリピーターケーブル10m KB-USB-R310 」 には 通常のケーブルと組み合わせ 12m まで大丈夫なように書かれていますが、それは USB 3.0 の話ですね。 Arduino で利用するのは USB 2.0 なので 5m まで大丈夫なように思われます。
そこで Amazon ブランドの「 Amazonベーシック USB2.0ケーブル 4.9m (タイプAオス - タイプBオス) 」を購入してみました。本当は 3m のもので十分だったのですが、値段も 100 円未満の差だったので調査も含めて長いのにしました。もちろん 4.9m の USB ケーブルだけでも動作することは確認済みです。
アクティブリピータタイプ 10m + USB ケーブル 4.9m の結果としては、こちらも Arduino IDE から標準のサンプルを Arduino UNO Rev3 に書き込んだところ、セルフパワーで問題なく動作しました。合計 14.9m の長さになります。
まとめ
結果をまとめると、次のようになりました。
- USB 2.0 ケーブル 4.9m => OK
- アクティブリピータタイプ 10m + 付属のUSB 2.0 ケーブル 0.3m => OK
- アクティブリピータタイプ 10m + Amazonベーシック USB 2.0 ケーブル 4.9m => OK
Arduino は、アクティブリピータケーブルを利用して接続を延長することが可能であることが判りました。今回はセルフパワーでしたので、もし転送状況に問題があればバスパワーにもできる安心感があります。とりあえず、この状態でしばらく利用してみたいと思います。もし問題が出てきたら、またブログ記事で紹介したいと思います。
TKS2では、Arduino を用いた IoT プロジェクトも可能ですので、もしお困りのときはぜひお声がけください。