Arduino Ethernet Shield(シールド) について

記事公開日:2015年6月3日

こんばんは。
今回はArduino UNOに搭載できる
SDカード付Ethernetシールド(shield)について、
SDカードから読み込めないという事態に長い間苦労させられ、
それがやっと解決できたので、お知らせします。

スポンサーリンク


このデバイス
けっこう高価ですが、介護などで電子工作を画期的に役立たせるためには、
インターネット接続は絶対必要です!!
ですから、これが動作しないと、意味ないんです・・・。
これの一番の問題はスケッチの例を使ってもSDカードが動作しないことでした。
プログラムがおかしいんじゃないか?  と思って、
いろいろと、Goole などで検索しまくってみて、英語サイトも調べてみました。
でも、ダメ・・・。
ちゃんと pinMode(SS , OUTPUT) とセットアップしてました。
電源を立ち上げた時だけ 1回だけ読み込むことはあったのですが、稀でした。
ん? 待てよ・・・、電源立ち上げ時ってことは・・・
試しに12V ACアダプターを挿して立ち上げてみたところ、
完璧に動きました!!
ここまで来るのに、どれだけの精神の落ち込み無駄な時間がかかったことか・・・・・。
試しに、PCとUSB接続して、5V ACアダプターを同時挿しても、問題なくSDを読み込みました。
ちなみに、とても参考にさせていただいた なんでも作っちゃう、かも さんのページに
「SDカードの電源は十分な容量を確保してください。」 と書いてあります。
外国のページでは、この件で悩んでいる人が結構いたと思います。
disitalWrite(4, HIGH);
disitalWrite(4, LOW);
をSDを読み込む度に指令しなきゃいけないとか・・・。
しかし、 SDカードは意外と多量の電流を消費し、電圧が下がって誤動作するんだったんですねぇ~~。
勉強になりました!!

最新の
Ethernet Shield2 を現在使用しておりますが、
確実に動くようにするためには、
void setup() のところで、
Arduino UNO の場合
pinMode(4, OUTPUT);
pinMode(10, OUTPUT);
digitalWrite(4, HIGH);
Arduino MEGA の場合
pinMode(4, OUTPUT);
pinMode(53, OUTPUT);
digitalWrite(4, HIGH);
とすれば、私の場合、トラブルなしで動いております。お試しあれ・・・
必ず、Arduino IDE 1.7.2以上を使い、ライブラリ を
#include <Ethernet2.h>
をインクルードしてください。
それでは、また・・・。

[ ホーム(home) ]

【参考リンク】


・何でも作っちゃう、かも
http://arms22.blog91.fc2.com/blog-entry-502.html
・Arduino 日本語リファレンス
http://www.musashinodenpa.com/arduino/ref/

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください