自作LANケーブルの作り方〜Arduinoとセンサ間をLANケーブルでI2C、1-Wire、電源供給

自作LANケーブルの作り方〜Arduinoとセンサ間をLANケーブルでI2C、1-Wire、電源供給
自作LANケーブルの作り方〜Arduinoとセンサ間をLANケーブルでI2C、1-Wire、電源供給

この記事では、CAT5EのLANケーブルを使った自作LANケーブルの作り方を解説していきます。Arduino(ESP32)とセンサをLANケーブルで繋いで、I2C通信および1-Wireを実現させました。はじめにLANケーブルの作り方をご紹介し、後半ではI2Cや1-Wire通信でLANケーブルを使う場合に気をつけなければならないことをご紹介いたします。

LANケーブルの製作で必要なもの

LANケーブルの製作で必要なものをご紹介いたします。

LANケーブル

CAT5Eの100mケーブルを使いました。

LANプラグ(ジャック)

LANプラグはこちらRJ45を使用します。配線間違いなどで失敗しやすいので、作ってみた経験上ですがLANプラグは多めに用意しておいた方が良いです。

かしめ工具

LANプラグをかしめるための工具が必要となります。Amazonレビュー色々みましたが、安いかしめ工具は評判が悪かったので、少しお値段しましたが評価の高いこちらのかしめ工具を選びました。

LANテスター

完成したLANケーブルが正しく配線されているかチェックするためにLANテスターがあると便利です。

LANケーブルの製作

CAT5EのLANケーブルを用意しました。

CAT5E
CAT5E

ニッパーなどを使って、LANケーブルの絶縁皮膜を2cmほど剥き、ツイストペアをほぐします。

絶縁皮膜を剥く
絶縁皮膜を剥く

ここでLANケーブルのワイヤーの順番ですが、B結線と呼ばれるT568Bが一般的ですので下図のような順番に揃えます。

RJ45プラグ配線
RJ45プラグ配線
RJ45コネクタメス配線
RJ45コネクタメス配線

  1. 茶色
  2. 白茶
  3. 白青
  4. 白緑
  5. オレンジ
  6. 白オレンジ

緑と青だけ順番がイレギュラーなので注意してください。

配線を並べる
配線を並べる

ワイヤーの先端が揃うようにカットします。

先端を揃える
先端を揃える

ワイヤーの順番を保ちながらLANプラグに差し込みます。奥までしっかりと差し込むようにしてください。またこの時、順番が間違ってないか目視でもよく確認します。ここが一番大事な作業です。

ワイヤーをプラグに差し込む
ワイヤーをプラグに差し込む

かしめ工具にそのままプラグを差し込み、ゆっくりハンドルを握ります。一段一段カチカチと音が鳴ります。

かしめ工具で作業
かしめ工具で作業

最後にカチャっと鳴るまで握り込みます。以上でLANケーブルとプラグが接着されました。

かしめ工具で作業
かしめ工具で作業

もう一端も同様にして作業します。

LANケーブルの完成
LANケーブルの完成

完成したLANケーブルをLANテスターでチェックします。間違いなく配線できていれば、下の動画のように2つのLEDライトが同じ順番で点灯されます。

LANテスターで配線チェック
LANテスターで配線チェック

以上でLANケーブルの製作の解説は終わりです。

I2Cや1-Wire通信をLANケーブルで行う場合の注意点

製作したCAT5EのLANケーブルを、ESP32(Arduino)のI2C通信および1-Wire通信に使ってみました。しかし通信エラーのトラブルがありましたので、ここではその改善点、注意点を記します。

I2Cの場合

まず、I2Cの場合です。色々試したところ、CAT5EのLANケーブルでは2m程度しか通信できませんでした。以下の項目も試しましたが効果ありませんでした。

  • SCLとSDAはツイストペアさせない
  • プルアップの抵抗値を低くする
  • I2Cのクロック周波数を低くする

ちなみに、GNDとVddは2本の線を使って配線しました。

さて結論から申しますと、シールド対策されたLANケーブルで改善されました。具体的には、こちらのCAT7のLANケーブル5mで試したところ、I2C通信が正常に動作確認できました。

もっと延長できるのかどうか。また、CAT6でもイケるのかどうかも気になるところです。今後の課題とします。

調べるところによるとI2Cはノイズの影響に弱いようなので、シールドされているLANケーブルが良いとのことです。そもそもI2Cは近距離のデバイス間で通信を前提とした規格のようで、何メートルにも渡ってケーブルを延長するのは無理がありました。

1-Wireの場合

1-Wireの場合は、プルアップ抵抗4.7kΩを入れることでCAT5Eでも安定して通信可能になりました。ESP32のソフトウェアプルアップだとインピーダンスが高いためでしょうか、通信エラーが起こってしまいました。外部抵抗を入れてハードウェア的にプルアップすることでこの問題が解決できました。

ちなみにSPI通信では、以前CAT5eのLANケーブルを使って20mまで通信できた経験がありますので、まだまだ研究の余地がありそうです。

下の写真のようにセンサの中継機を作って、Arduino端末と中継機をLANケーブルでの通信を実現させました。

センサの中継機
センサの中継機

ちなみに、中継機に入っているのはADS1115のADコンバータです。プラスマイナスに変化するアナログ電圧を4チャネル分読み取ることができ、I2CでArduino端末と通信できます。非常におすすめのADコンバータです!

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム

人気のArduino互換機
Arduinoで人気の周辺パーツ
あると便利な道具
Arduinoのオススメ参考書

▼ Arduino初心者向きの内容です。ほかのArduino書籍と比べて図や説明がとてもていねいで読みやすいです。Arduinoで一通りのセンサーが扱えるようになります。

▼ 外国人が書いた本を翻訳したものです。この手の書籍は、目からうろこな発見をすることが多いです。

▼ Arduinoの入門書を既に読んでいる方で、次のステップを目指したい人向きの本です。C言語のプログラミングの内容が中心です。ESP32だけでなく、ふつうのArduinoにも役立つ内容でした。