概要
最近使われることが多くなってきたGrove端子について調べてみました。ATOMなどにはPH2.0と記載されていますが、HY2.0が正しいです。
Grove端子とは?
Grove端子とはSeeed社が展開している4端子の汎用コネクタです。「Grove is an open source」とリンク先のページの最初に書いてありますが、個人的にはわりとクローズな規格だと思っています。。。
電源とGNDの他に2本信号線が来ており、センサーなどとケーブルで接続することでかんたんに利用することができます。
Arduino UNOだとGroveシールドが安いので、非常に使いやすいシステムだと思います。また、M5Stackなどのボードでも互換コネクタが採用されています。
Raspberry Pi用HATなどもありますが、ボード自体にADCが搭載されていない場合、シールド側にADCなどを搭載している関係で非常に高くなっています。
Groveの電源電圧
実はGroveの電源はセンサーなどにより対応電圧が違います。基本的にはArduino UNO用に5Vで動くものが多いですが、3.3Vに対応しているものもあります。
ただし、個別にセンサーなどのページで調べないと対応電圧がわかりません。一度一覧を作ろうと準備しましたが、商品によって記述方法がばらばらだったので諦めました。
ただし、M5Stack社の製品に関してはすべて5Vに統一されています。ESP32だと3.3Vで動いているに、戻りの信号が5Vになるのは本当は良くないと思いますが、その仕様で販売しているようです。
Groveの信号線
接続するセンサーなどによって違いますが、どんな種類で動いているのかがわかりにくいです。特にSeeed社の製品はちゃんと書いていないので、サンプルプログラムを見てどうアクセスしているのかで確認する必要があります。
アナログ
距離センサーや、明るさセンサーなどはアナログ信号の場合が多いです。2本ありますが外側の1本のみ利用して、analogRead()で値を取得するパターンが多いです。
アナログ出力も可能ですが、利用しているのを見たことがありません。DAC出力から外付けスピーカーなどを接続することも可能です。
デジタル
ボタンなどの入力装置の場合にはデジタル入力が多いです。出力も利用可能ですが、それなりに電流を流したい場合には電源端子から電源を供給して、信号線をLOWに落として吸い込む方向で利用したほうが安定します。
こちらも外側の1本のみ利用するパターンが多いです。
I2C
少し複雑な信号をやり取りする場合に利用します。I2C HUBなどを利用すると複数台並行に接続することができます。たくさんつなぎすぎると信号がなまるので限度がありますが、I2Cの切り替えができるスイッチや中継機を入れることで信号を安定させることができます。
I2Cなので信号線は2本とも利用します。
UART(Serial)
無線通信やカメラなどでI2Cより高速で通信を行いたい場合に利用されます。UARTの場合送信と受信で信号がクロスするので、ピンアサインを気にしながら利用する必要があります。
UARTなので信号線は2本とも利用します。
その他
Grove端子の他に専用ケーブルで接続するという、Groveの理念ってなんだろうみたいなセンサーもあります。。。せめて複数本のGroveケーブルで接続してほしかった、、、
Groveの端子について
オス端子(ボード側)

普通のと、L型に90度曲がったタイプの端子が市販されています。L型は秋月電子さんが安いです。
メス端子(ケーブル側)
ケーブル自体は売られていますが、端子は販売されていません!
Groveと互換性のある端子(HY2.0-4P)
やっと本題ですが、Groveと互換性がある端子としてHY2.0-4Pがあります。これはHY型コネクタのピッチ2.0ミリの4端子を意味しています。

おそらく一般的なのが、左にある白いXH型コネクタか、似た形のPH型コネクタ、黒いデュポン(QI)コネクタがよく使われています。しかしながら、GroveはHY型を採用しています。
また、ブレッドボードなどは2.54ミリピッチで設計されていますが、Groveは2.0ミリと少しコンパクトになっています。コネクタが小さくなる利点はありますが、ブレッドボードにはピッチがあわないので、そのまま挿すことができません。
HY自体は4P以外にもっといろいろな端子数がありますが、Grove互換として使う場合には4Pのみ知っていれば問題ないと思います。
GroveとHY2.0-4Pの違い

左が純正Groveケーブルで、黄色が外側になるのが目印です。真ん中がM5Stack用のケーブルで、白が外側にあるのが目印です。右側がAliExpressで購入したHY2.0-4Pコネクタです。
ケーブルの色に意味はないので、この配列じゃなくてもかまわないと思います。

裏側です。GroveとM5Stackのケーブルは同じ形状をしていますが、私の購入したHY2.0-4Pは爪がついています。基本的には普通に購入できるコネクタは爪ありだと思います。

ボードのメス側コネクタはGroveでも爪用のでっぱりがでているので、ケーブルを固定できます。ただし、M5Stackなどの横から隙間に指すタイプだと爪が邪魔になってケーブルが奥まで差し込むことができないようですので注意してください。
オス端子(ボード側)

私が買ったコネクタは基板に固定するタイプじゃないので長いです。Groveの純正と同じタイプのコネクタも販売していました。

こんな感じでオスとメスを接続すると17.5ミリぐらいあります。

コンタクトピンは長めの12ミリでした。コネクタの形状じゃなくて、コンタクトピンの形状がボード側がオスなので、オス端子と呼ぶみたいです。
ケーブル側のコンタクトピン(メス端子)

6ミリぐらいの短いピンですね。YST200とかの型番だと思います。
自作ケーブルに必要な機材
圧着ペンチ
外国産の安いのもありますが、エンジニアのPA-09かPA-20、PA-21あたりが定番です。ペンチでケーブルの品質が左右されるので、なるべく国産を選んだほうが安全です。
私はPA-09を購入しました。微妙に型番によって得意としている端子が違うので注意してください。
普通のペンチで潰して、はんだ付けでもなんとかなりますが、コネクタ自体の性能はかなり落ちると思います。
ワイヤーストリッパ
この辺は少し安いのにしました。TWS-1を持っていますが、普通の電子工作だと細線用のTWS-2のほうが適している気がします。
ケーブル
ケーブルは太さがいろいろあります。太い方が安心できますが、取り回しが面倒になったり固くなったりします。
私のワイヤーストリッパはAWG24より太い線しか使えないので、AWG24の複数色のケーブルと、電力用の少し太いAWG20のケーブルを用意しています。
AWGはケーブルの太さの単位で、数字が少ないほど太くなります。通常はAWG30ぐらいの細さから、AWG20ぐらいの範囲までを使って、標準の太さはAWG24か26ぐらいになります。
安いケーブルは見た目は太いのですが、中身の電線自体は細かったりするので気をつけましょう!
コネクタ
Grove純正品はAmazonなどでも購入できますが、ケーブル側コネクタは国内だと手に入らないみたいです。
aitendoさんで取り扱っていた時期もありますが、今はないかな?
私が購入したのは上のショップです。ここ以外でも取り扱いがあります。下のほうが安いですが、上の店だとメスだけ10個とかも頼めるみたいです。
ただし、メス10個にした場合どっちのコネクタが来るのか怖いので頼んだことありません。ほしいのはケーブル側なのでメス端子なんですが、外のハウジングはオスだけれど、コネクタピンはメスって組み合わせです。間違って到着しそうな気がプンプンするのでセットで頼んでいます、、、

最初に1つ頼んでみて、使えそうだったので追加2つで届いたのが上の写真です。中国からなのでそれなりに時間かかります。
コンタクトピン
既存のケーブルを切って、好きな長さのケーブルを作りたい場合にはコンタクトピンだけあればハウジングは流用できます。
上記以外にも取り扱いがありますが、100個単位での購入だと結構高いです。コネクタ込みで購入してもそう変わらない気がします。
箱には15,000個入っているので、もう少し大きな単位でAlibabaで頼むとかしたほうが安いかな?
端子リリースツール
ハウジングからコンタクトピンを取り外すためのツールです。なくてもなんとかなりますが、あったほうが便利かもしれません。
参考サイト
まとめ
ケーブルを極限まで短くして、Grove端子にUnitが生えているような端子を作っている人がいます!
自分で作れるようになると工作の幅が広がるのでぜひチャレンジしてみてください。ただし、私は機材はあるけれど、もったいないのでブレッドボードにジャンパー線で回路組んでいるので、ユニバーサル基板とかケーブルの在庫が泣いています、、、
コメント
I have been trying and trying to get . the M5Stamp Pico to play mp3 files on this dfplayer , a very comman smal mp3 player . I have tried tasmoda firmware and esp easy32 fireware , but cannot cannot get it to send serial to RX pin on the dfplayer .. what do you think this would be a great project if it worked
I have tried it at 3.3volts on both but no good
ESP8266 Audio is recommended.
https://github.com/earlephilhower/ESP8266Audio