« AVR - ATmega48,88,168リセッター | トップページ | Arduino - ArduinoでSDカード »

Arduino - Arduino 2009とEthernetShield

Arduino2009_2

Arduino DuemilanoveEthernet Shieldをゲットしましたhappy01
といってもバラに注文していたものが、先週に両者揃ったというところです。

Arduinoは2009版の最新で、リセット関係と電源周りが変更になったくらいで後は同じです。
以前のDiecimilaに比べると価格が更に下がり、2,800円ほどで手に入るのでお手ごろになりました。
なので、もう1つ買おうかと思っているのだけど、限定カラーセットが売られているのを見てめちゃ欲しくなりました。

10color

スイッチサイエンスさんで28,000円・・・安いけど高い。。。いいなぁ

Ethernetシールドの方はSDカードのソケット自体が無くなっていた・・・
現状ではSDカードはサポートされてないから分るけど、使えなくても付けておいて欲しかった。
結線自体はされているようで、自前でドライバ起こせば使えそうだと思っていたのになぁ・・・このタイプのソケットってなかなか無いんですよね。

というわけで取り敢えずはテストしてみましょう。

Arduino_ethershld

ArduinoにEthernetシールドを装着し、USBとEthernetケーブルを接続。
無事に通電すると各LEDが点灯。
LEDは計8個あって、電源用が1つ、ArduinoのDigital13番と連動するLEDが1つ、残り6個がEthernetの状態表示。

状態表示は100Mと書かれたLEDがあるので、リンク速度が10Mbpsと100Mbpsの自動認識となっているようで、Half/Full DuplexのLED、LINK時のLED、送受信に2つのLED、最後の1つにCOLLとあるのだけど意味は分らないsweat02
それとは別にRJ45端子自体に送受信のLEDが組み込まれていて、アクセス時はなかなか賑やか。

 

早速サンプルを探してみたところ、建築発明工作ゼミ2008さんのところに詳しく書かれていたので利用させて頂きました。
ありがとうございますm(_ _)m

ArduinoIDE(バージョンは0012)を起動してソースをコピペ。
ここで変更しなければならないのは、自分の環境に合わせたIPアドレスへの書き換え。
MACアドレスはスイッチサイエンスさんで購入したので裏にシールが貼ってあるのだけど、面倒なのでそのまま書き換えずに利用してしまったcoldsweats01
そのうち書き換えます・・・

で、基本的にEthernetシールドを繋げたからといって、それ自体がIPアドレスやMACアドレスを持っているわけではないのです。
Arduino側にそれらの値を書き込んだソースを転送し、それを実行してはじめてネットワーク機器として意味を持ちます。
逆に言えば、ソースを書き換えれば好きな値に設定可能なこと。です。

ソースの変更が終わったらコンパイルしてArduino本体に転送。
そしてブラウザを起動して、設定したIPアドレスにアクセス。

Kousakuwebsite

おぉ~、出ました出ましたnote
この画面が出たら成功ですよ~

このプログラムはAnalog0番の値を読み取ってブラウザに表示するようになっているので、一番上に表示されている「ANALOG INPUT」の項目の値は何も接続していないので不安定なユニーク値になってます。
というわけで、ここに何か接続してみましょう。

何かすぐに用意できるセンサーはないかと探したら、こういう時に限って手間の掛かるものばかりで手ごろなのが見つからない・・・
仕方が無いのでChiptuneで使用している可変抵抗を繋げてみた。

 

Ethsld_http1

こんな感じで接続してブラウザで観察してみると、抵抗を最小にしたところでブラウザでは 0 となっているので成功。

Ethsld_http2

続いて中間あたりにツマミを回してみたところ、914 と出ました。
中間なら500あたりの値になるはずなんだけど、安物ボリュームだから仕方がないか。
いろいろ見てみると中間値がまったりカーブで、両先端ほど鋭くなる感じだった。

Ethsld_http3

そして最後にツマミを最大にしたところ、1023 と出たので問題無し。
以上でテスト終了。

 

と、これだけではつまらないので、更にProcessingも使って連動させてみた。

Arduino_processing_serial

一応、可変抵抗のツマミのイメージを模してみて、ツマミを回すと青い丸がグルグル連動して動きます。
左下の数値は取得した値で、バイト型の送信のためArduino側で 0 ~ 255 の範囲に加工している。
ArduinoIDEを起動しているとシリアルポートを捕まえたままなので、IDEを終了させておかないとProcessingで接続できなくなるので注意。


ArduinoIDEのソース変更部分


Processingのソース

 

なんだかこんなに簡単に使えてしまっていいのだろうか?、と思ってしまうほどあっさりサーバーになってしまうのには驚きです。
出来れば無線化したいけどWiPortとか高いし、XBeeだとちょっと違うし、接続できる安い無線LANモジュールないかしら。

年末はLCDも接続してRSSリーダーにしてみようかと思ったけど、キャラクタ液晶しかないから漢字が出せないしXMLパーサーも埋め込まないとならないしで、ちょっと大変なので別のを考案中sweat01
パーサーはなんとかなるとしても漢字はグラフィック液晶でないと無理か・・・

 

それにしてもブレッドボードでArduinoを組んでいたのと違って、完成されたものはやはり小回りが利いて便利ですね。
プロトシールドも注文しようと思ったけど、liquidwareというサイトではプロトシールドを拡張した「DoubleTall ExtenderShield」という2倍にしたモジュールなどが販売されていて、出来ればこちらを買いたいところ。

そのliquidwareではArduinoをベースとした魅力的なモジュールが沢山あって、拡張しまくると本体の8倍近い大きさにまでなるそうです。
三角形になっているシールドなどもあり、なによりもタッチスクリーンのLCDが興味あるなあ。
購入したいけど、通販の説明が見つからず海外発送してくれるのかすら分らなかった。
どうやって買うんだろう。。。商品の写真が小さ過ぎるし。

|

« AVR - ATmega48,88,168リセッター | トップページ | Arduino - ArduinoでSDカード »

電子工作」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/204580/43511837

この記事へのトラックバック一覧です: Arduino - Arduino 2009とEthernetShield:

« AVR - ATmega48,88,168リセッター | トップページ | Arduino - ArduinoでSDカード »