超音波距離センサモジュール HC-SR04というのがある。なぜかAmazonで安かった。
HC-SR04 Demo For Arduino
HC-SR04 User Guide[PDF]
TRIG端子にパルスを与えると距離に応じた時間の後ECHO端子に信号がでる。電源を除くと2端子必要。が、Groveの超音波距離センサモジュールのライブラリが使えないかと眺めていたら1端子しか使っていない。同じものに見えるのに?
GROVE - 超音波距離センサモジュール
TRIG端子とECHO端子をショートさせたらどうだろうかと考えたが発振してしまうように思える。調べてみたら抵抗で繋げてしまえばいいらしい。
Hack your HC-SR04 into one pin mode
ForumMain PICAXE ForumActive PICAXE Forum HC-SR04
これらによると 1.8KΩの抵抗で TRIGと ECHOを接続し、TRIG端子を使えば良いとのこと。手持ちの2.2KΩで試してみた。


これをGroveのケーブルで接続する。

ライブラリは Grove用のものをそのまま使った。
Seeed-Studio / Grove_Ultrasonic_Ranger [Github]
注意:Githubからzipでまとめてダウンロードすると後ろに-masterが付くがArduino IDEのライブラリ名はハイフンを許さないので削除
ライブラリインストール後、UltraSonicDisplayOnTermスケッチを使って確認。
ソース中、距離をインチで取得する部分とセンチメートルで取得する部分があるが、この間にディレイを適当に入れてやらないと後に書いたほうが0を返す。ひょっとしたらGroveのセンサと非互換の箇所かもしれない。
ということで2ピン必要なところを1ピンにケチることができた。
HC-SR04 Demo For Arduino
HC-SR04 User Guide[PDF]
TRIG端子にパルスを与えると距離に応じた時間の後ECHO端子に信号がでる。電源を除くと2端子必要。が、Groveの超音波距離センサモジュールのライブラリが使えないかと眺めていたら1端子しか使っていない。同じものに見えるのに?
GROVE - 超音波距離センサモジュール
TRIG端子とECHO端子をショートさせたらどうだろうかと考えたが発振してしまうように思える。調べてみたら抵抗で繋げてしまえばいいらしい。
Hack your HC-SR04 into one pin mode
ForumMain PICAXE ForumActive PICAXE Forum HC-SR04
これらによると 1.8KΩの抵抗で TRIGと ECHOを接続し、TRIG端子を使えば良いとのこと。手持ちの2.2KΩで試してみた。


これをGroveのケーブルで接続する。

ライブラリは Grove用のものをそのまま使った。
Seeed-Studio / Grove_Ultrasonic_Ranger [Github]
注意:Githubからzipでまとめてダウンロードすると後ろに-masterが付くがArduino IDEのライブラリ名はハイフンを許さないので削除
ライブラリインストール後、UltraSonicDisplayOnTermスケッチを使って確認。
ソース中、距離をインチで取得する部分とセンチメートルで取得する部分があるが、この間にディレイを適当に入れてやらないと後に書いたほうが0を返す。ひょっとしたらGroveのセンサと非互換の箇所かもしれない。
RangeInInches = ultrasonic.MeasureInInches();
delay(100); ←これ
RangeInCentimeters = ultrasonic.MeasureInCentimeters();
ということで2ピン必要なところを1ピンにケチることができた。
![]() | HC-SR04 超音波距離センサーモジュール For Arduino サインスマート(SainSmart) 売り上げランキング : 4897 Amazonで詳しく見る by G-Tools |

掲載されている記事の超音波モジュールをarduino fioで使用したいと考えている者です.
大変興味深い記事で読ませていただきました.
お尋ねしたいのですが,この記事の方法ならDpin(PWMは使用しなくていい)1つで制御できるということでしょうか?
また,arduino fioで記事の方法でHC-SR04を1pinで動かしたいのですが,よろしければ参考・使用されたコードを教えていただけると幸いです.
Grove用のコードは未熟ゆえよく意味がわかりませんでした...できればArduino用のコードを探しています.
よろしくお願いいたします.