2011年9月20日火曜日

Arduino MEGA と旧Ethernet Shield


Arduino MEGA は、普通のArduino とShield 形状互換になってるので、大抵のシールドはそのまま使用できる。はずなのですが、、、
Ethernet Shield の様に、SPI 接続をしているものは要注意です。

私の使っている 「旧 Ethernet Shield」は、MEGA と互換性がありません。microSD のスロットが付いている「新 Ethernet Shield」は、そのまま MEGA で使用可能です。

原因は、MEGA(ATmega2560) とUno(ATmega328P) でSPI のピンアサインが異なるためです。
旧EthernetShield はATmega168/328 に合わせて、デジタル 11,12,13 番ピンを使っていました。新EthernetShield はどちらでも使えるよう、ICSP のポートからSPI の信号を取るようになっています。

対処法ですが、このように接続することで、プログラムの変更なしに動作させることができました。
(古い情報ではプログラムの修正が必要、というものがありますが、IDE 0022 では修正不要です。)

(Shield) - (MEGA), 11-51, 12-50, 13-52 を接続


詳しく見ると
旧EthernetShield 側


Arduino MEGA 側


MOSI,MISO,SCK の3本を接続します。(SS はそのまま)MEGA 側はDIGITAL でもICSP でも、使いやすい方から取ればOK です。

この接続では、MEGA の11,12,13 と接続したままになってしまいますが、特に問題は無いようです。

0 件のコメント:

コメントを投稿