motogp fan

motogp ファンによる、雑ブログ、ガジェットネタも

電子工作初心者がIoT挑戦!温度センサーLM35DZ

3回目はAruduinoに温度センサー繋いで計測します。
何故温度?それは工作する回路が簡単だから。

 

ちなみにAruduinoボードの購入は、お得感があるセンサーセットにしました。
下記です。

http://www.amazon.co.jp/dp/B00UKXHKXC

 

この商品の注意書きに「説明書は付属しませんので、「Arduinoをはじめよう」もご購入されることをお勧めします。」とあります。
本は困ったら購入するとして、まずはブロガーの皆様の記事を参考に始めます。

 

このセット商品に、温度センサーが1個あり。
センサーはLM35DZ。
Amazonで調べると162円のセンサーでした。安い。

 

f:id:motagp:20160711075342p:plain

 

 では、このセンサーの使い方がわからないのでグーグル先生に確認。

 yadoranさんの記事が詳しかったので参考にさせて頂きました。 
ありがたや。

denshi.blog.jp

 

 

Arduinoの5V出力とアナログ入力にセンサーを直結します。

f:id:motagp:20160711082459j:plainf:id:motagp:20160711082325j:plain

 

f:id:motagp:20160711082427j:plain

 

シンプル。

 

プログラムは、まず何の信号(数値が)何が戻ってくるか確認。

 

// ***********************************
//  温度センサーテスト LM35DZ
// ***********************************

// 宣言
float fin = 0;         // アナログ入力値(0〜203)

// 初期化
void setup() {
  Serial.begin(9600);  // シリアル通信速度
}

// メイン処理
void loop() {
  // アナログ0から値取得(0〜203)
  fin = analogRead(0);
  // 改行しながら出力
  Serial.println( fin );
  // 1秒待機
  delay(1000);
}

 結果、何か数字が戻ってくるけど温度じゃないよ。

 

f:id:motagp:20160711070826p:plain

 

 

 

これを温度変換。

// ***********************************
//  温度センサーテスト LM35DZ
// ***********************************

// 宣言
float fin = 0;         // アナログ入力値(0〜203)
float ftemp = 0;       // 摂氏値( ℃ )

// 初期化
void setup() {
  Serial.begin(9600);  // シリアル通信速度
}

// メイン処理
void loop() {
  // アナログ0から値取得(0〜203)
  fin = analogRead(0);
  // 入力値を摂氏に換算
  ftemp = ((5 * fin) / 1024) * 100;
  // 改行しながら出力
  Serial.println( ftemp );
  // 1秒待機
  delay(1000);
}

 結果、0.00って何?不安定ですね。

 

f:id:motagp:20160711071603p:plain

 室温が25度で実行したから、合っている数値もあります。

f:id:motagp:20160711082253j:plain

 

 

なんだ、この不安定、センサーが安いから?

こんな時はブロガーの先輩たちの記事を探しましょう。

 

SIESTAさんのページに詳しく理由が書いてありました。
AVR(Arduino)にLM35をつなげた場合に正しくA/D変換出来ないトラブル

このサイト、萌えイラストと電子工作記事、不思議な感じです。
いや、これぞ秋葉原、そんなサイトです。
勉強になります、ありがとうございます。

 

 

説明1の抵抗を付けるを試してみた。
抵抗はセンサーセットに同梱の物。

f:id:motagp:20160711082529j:plain f:id:motagp:20160711082600j:plain

 

回路を変更したら0.00は無くなりました。
接触悪かったのか?

 

下記、抵抗を付ける前の結果。

f:id:motagp:20160711073759p:plain

 下記、抵抗ありの結果。

f:id:motagp:20160711074214p:plain

 

大して変わらない、違う理由みたい。

 

手順2にコンデンサーを付けるとあり。
コンデンサーを調達して回路を作成、実験したが改善せず。

何かが変です・・・
センサー変えてみよう。
この話は暫く凍結。(Amazonでセンサー注文します)

 

簡単な温度計測と思ったら大間違いでした。
奥深いですね。

以上 

 

[追記]

同じ温度センサーを162円で購入(安)。
但し送料が150円、支出合計は312円です。

そして交換結果は正常な温度を表示。
満足。

 

 

motagp.hatenablog.com