読者です 読者をやめる 読者になる 読者になる

標準出力

新しいもの、変わらないこと 自分の頭を通して考えてみました (stdout)

Arduino始めました

今更感が果てしないですがArduino始めました
雑誌等で名前は聞いたことがあってこの度
あることをやりたくなってそれがArduinoでやるのが早そうなんで初めて見ました

そのあることは、だいぶ勉強が必要そうなので成功した折には、投稿するということで

秋葉原千石電商に買いに行って来ました
事始めの課題としては、温度センサの値を「簡易Webサーバーから見れるようにする」です。

まず、買ってきたEthernetシールドのMACアドレスをメモします。
Arduino Uno上に実装してしまうと見えづらくなってしまうので注意が必要です。

こちらが、接続状況外観。Arduino Uno上にEthernetシールドを実装しております。温度センサには、「LM35DZ」(こちらは、秋月電子で購入)を使用。

こちらは、ブレッドボード側。
そして、こちらがArduino側。
きちんとLM35DZのデータシートを見て接続します。

次にArdunioのIDEのインストール。Arduinoサイトより自分のプラットフォームの物をDLし、解凍。
なお、今回の開発は、Windowsで行なっています。次にArduinoとPCをUSBケーブルで接続します。ディバイスマニジャーを開き「不明なディバイス」と表示されているArduinoの項目を探して、プロパティより、「ドライバの更新」を選択。IDEのインストールディレクトリ内のdrivers\FTDI USB Drivers\を指定する。これでドライバのインストールは完了。ここで、セットされたCOMポートを確認しておく。

そして、\libraries\Ethernet\examples\WebServerディレクトリを自分の好きな開発用のディレクトリにコピーしてくる。これは、アナログポートの値を表示する簡易Webサーバーのサンプルである。
ここいらの情報は、適宜ググっていただきたい。

サンプルの変更ができたらいよいよ、プログラムをROMに書き込む。ここでIDEの「ツール-シリアルポート」ドライバインストール時に指定したCOMポートが選択されていることを確認する。

そして、ROMにプログラムを書き込み、Ethernetシールドに割り当てたIPアドレスにアクセスした結果が以下である。


analog input0が温度センサの出力である。Arduino のADコンバータは、量子化ビットが10bitである。そして、LM35DZは、今回の回路の場合0℃で0mV且つ10mV/℃で出力する。さらに入力電圧は、5Vである。

ゆえに温度は、

59/1024 x  5 x 1000 /  10 = 28.8 (℃)

となる。