[SPI] イーサーネットボード (ENC28J60)

10BASE-T のイーサーネットボードです。MAC アドレスが付属しないので、インターネットに接続する場合には MAC アドレスをどうにかしましょう



購入

Amazon 等で購入できます (購入時価格: ¥320)。なお、HR911105A というのはRJ-45 コネクタの品番であって、このボードの品番ではありません。シールはさっさと剥がしましょう (^^;A

Arduino Nano のシールドとして使えるものもあるようです。

製品によって微妙にピン配置が異なるのがモヤっとします。ヘッダピンが 10 本のものは 3.3V 専用のようですね。ヘッダピンが 12本のものにはレギュレータが付いており、5V でも動作します。



動作確認

接続は SPI なので以下のようになります。

英語が苦手な私が言うのも何ですが、ピンヘッダの所のシルク印刷が意味不明です。

5v GND
LNT CLK
SO WOL
SCK ST
RST CS
Q3 GND

OCR で読み取ったみたいになっています。或いは電子部品に詳しくない人が他のボードを見ながら手入力したか、です。

5V GND
INT CLK
SO (MISO) WOL
SCK SI (MOSI)
RST CS (SS)
3.3 GND

正しくはこうです。SPI と 5V / GND の 6 本を接続すれば動作します。

ENC28J60 自体は 3.3V 動作のハズで、このモジュールは裏面にレギュレータ (AMS1117 3.3V) が載っています。5V トレラントという事ですが、「5V で使う場合、SPI 信号をレベル変換しなくていいのかな?」 と思わなくもないです。

ライブラリは IDE から ENC28J60 を検索すると幾つか出てきますが、私は uIPEthernet を使ってみました。標準の Ethernet / Ethernet 2 library と使い方が殆ど同じです。

ZIP で DL して Arduino IDE インストールフォルダの libraries フォルダ以下に配置するか、[スケッチ | ライブラリをインクルード | .zip 形式のライブラリをインストール...] でインストールします。

このまま使ってもいいのですが、2 つの理由でコンパイル時にワーニングが出ますので、ライブラリフォルダにある library.properties をテキストエディタで開き、赤字の部分を変更または追加しておくといいかと思います。

name=UIPEthernet
author=ntruchsess
email=Norbert Truchsess <norbert.truchsess@t-online.de>
sentence=Ethernet library for ENC28J60
paragraph=implements the same API as stock Ethernet-lib. Just replace the include of Ethernet.h with UIPEthernet.h
url=https://github.com/ntruchsess/arduino_uip
architectures=avr
version=1.4
dependencies=
core-dependencies=arduino (>=1.5.0)
category=Communication

サンプルスケッチは [ファイル | スケッチ例 | UIPEthernet] にあります。インクルードするヘッダファイルを変更するだけで Ethernet シールド用のスケッチがそこそこ動作します。

V1 (W5100) V2 (W5500) UIP (ENC28J60)
Ethernet.h Ethernet2.h UIPEthernet.h
EthernetUdp.h EthernetUdp2.h UIPUdp.h

See Also:


ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。

メニュー: