Ethernet Shield

新しいイーサーネットシールドが出ました。
しばらく回路図が公開されず、写真だけで判断している状態でしたが、
http://www.arduino.cc/en/Main/ArduinoEthernetShield
に新しいschematic http://arduino.cc/en/uploads/Main/arduino-ethernet-shield-05-schematic.pdf
が公開されていました。

まずは標準ライブラリが動作するかチェックしますが、何の問題もありません。
付属の例題を動かしてみます。

1) WebServer.pdeですが、mac[]=, ip[]=を自分の環境に合わせるだけです。
MACアドレスはシールドの裏にシールが貼ってあります。
これをアップロードするとウェブサーバになるので、設定したIPアドレスをブラウザに入れると、
アナログデータA0-A5の値を表示します。適当なセンサをつないでおけば、遠隔地からでもモニタできます。

2) WebClient.pdeについては以前からそうですが、そのままでは動かない場合があります。
私の場合はMACアドレスとIPアドレス以外にgatewayとsubnetを設定する必要がありました。

byte gateway[] = {10, xx, xx, xx};
byte subnet[] = {255, 255, 0, 0};

を追加した後、setup()の中で

- Ethernet.begin(mac, ip);
+ Ethernet.begin(mac, ip, gateway, subnet);

のようにしました。

3) ChatServerもWebClientと同様です。

4)DHCP
MACアドレスは仕方ないとしてもIPアドレスはDHCPで自動的にできると便利ですが、ライブラリは既にあります。
http://gkaindl.com/software/arduino-ethernet
こちらは付属のEthernetライブラリとは独立していて、DNSとBonjourというのもあります。

http://blog.jordanterrell.com/post/Arduino-DHCP-Library-Version-04.aspx
こちらは付属のEthernetライブラリに追加する形になっています。

将来的にはDHCPの機能は標準ライブラリに取り込まれる予定のようです。

■SDカード
新しいシールドの大きな変更点はmicroSDカードスロットが付いたことです。以前のものにもSDカードのスペースはありましたが、設計ミスのためか使えなくなっていました。
SDカードを使うためのライブラリとしては
http://code.google.com/p/sdfatlib/
がおそらくポピュラーと思われます。(現時点ではsdfatlib20100818.zip)
examples/SdFatAnalogLoggerというサンプルがあるので、
使ってみると書き込み時にエラーが出て、回路図もないので放置していました。
最近、http://www.ladyada.net/learn/arduino/ethfiles.html
というチュートリアルが出て、情報が増えました。
ここで、

+ pinMode(10, OUTPUT);
+ digitalWrite(10, HIGH);
- card.init(SPI_HALF_SPEED);
+ card.init(SPI_HALF_SPEED, 4);

という変更が必要とされていて、その理由はethernet shieldのSS(Slave Select) pinがD4である
とあります。sdfatlib付属のコードにその修正を加えると動きました。

もう一つ、sparkfunのmicro SD shieldも動かないので、このせいかなと思って調べました。
Sd2Card.cppでコンストラクタは

uint8_t Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin)

となっています。
SD2PinMap.hでAVRのチップで場合分けして、
SPIポート(SS,MOSI,MISO,SCK)を定義しています。
一応ATmega328/168では
SS_PIN = 10となっているはずですが、
SS_PINが定義されていませんでした。
そこで、

#define SS_PIN 10

と定義すると動きました。これはバグと思われるので修正されると思いますが。

というわけで、Ethernet Shieldの情報が出揃ったところでまとめました。

広告
カテゴリー: Arduino
Ethernet Shield」への1件のコメント
  1. […] shieldについては以前https://stastaka.wordpress.com/2010/08/31/ethernet-shield/で書きました。 […]

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

カテゴリー
2010年8月
« 7月   9月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
%d人のブロガーが「いいね」をつけました。