ホーム > カテゴリ > ロボット・電子工作・マイコン >

温度センサーの使い方 [Arduino]

-8mV/℃の温度係数を持つ温度センサーの使い方です。

Voutから出力される電圧の値をADコンバーターで取得して温度に変換するタイプです。基準となる0℃の出力電圧は1.748Vです。(計算方法は後述)

[-8mV/℃の温度係数]
・温度が1℃温度が上がると-8mV電圧が小さくなる
・温度が1℃温度が下がると+8mV電圧が大きくなる

使用部品・材料

総額で約370円です。(Arduino本体の値段を除く)

部品/材料値段備考
ブレッドボード¥270秋月電子の通販コード(P-00315)
高精度3端子CMOS温度センサ S8100B¥100秋月電子の通販コード(I-00113)
カーボン抵抗器数円1MΩ(1個)を使用

配線図

次の写真は公式データシート(S8100B.pdf)より引用

1Vdd(入力電圧)
2Vss(グラウンド)
3Vout(出力電圧)

スケッチ(プログラム)

シリアルモニターに「温度」を表示します。

void setup() {
  Serial.begin(9600);
}

void loop() {  
  const float coefficient   = 0.008; // ±1℃変化した際の温度係数(8mV)
  const float temperature0  = 1.748; // 0℃の出力電圧
  
  // ADコンバーターから読み取った値を電圧に変換する
  int val = analogRead(A0);
  float voltage  = (val / 1024.0) * 5.0;
  Serial.print("電圧:");
  Serial.print(voltage);
  Serial.print(" ");

  // 温度
  Serial.print("温度:");
    
  // 0℃より高い
  if(voltage < temperature0){   
    Serial.print((temperature0 - voltage) / coefficient);
        
  // 0℃
  }else if(voltage == temperature0){
    Serial.print("温度:0");
    
  // 0℃より低い  
  }else if(voltage > temperature0){
    Serial.print("-");
    Serial.print((voltage - temperature0) / coefficient);
  }
  Serial.println("℃");
  
  delay(1000);  
}

[実行例]

抵抗値の計算

データシートに「CMOS出力バッファの出力インピーダンスが高い為、出力電圧が低下する事があります。その場合は、プルアップ抵抗(1MΩ以上)を付加してください。」と記載されています。

0℃の出力電圧の求め方

次表はデータシートにある入力電圧が5Vの場合の出力電圧です。

条件type.
Ta = -20℃1.908V
Ta = +30℃1.508V
Ta = +80℃1.095V

冒頭の「0℃の出力電圧は1.748V」という値はデータシートの何処にも記載されていません。計算方法は次の通りです。

今回は「Ta = +30℃」の電圧を基準とします。(3種類どれでも可)

そして、温度係数8mVを使って30℃の電圧を求めます。

0.24V = 30 x 0.008

「Ta = +30℃」の標準電圧に温度を-30℃にした場合の電圧を加算します。

1.748V = 1.508 + 0.24

高精度にするには...

現状のままですと、実際の温度と「±5℃」ぐらい差があると思います。

実際の温度に近づけるには、デジタルテスターでArduinoの5V電源の電圧を計測します。その結果が4.93Vならばスケッチの11行目の「5.0」を4.93に変更します。

11行目 float voltage = (val / 1024.0) * 5.0;

恐らく、これで「±2℃」ぐらいになるはずです。

・・・

更に高精度を求める場合は、スケッチの7行目を次のように変更します。

7行目 const float temperature0 = 1.748 / (xxx/5.0);

xxxには先ほど計測したArduinoの5V電源の電圧を入力します。

これで、実用的な「±1℃」の誤差になります。





掲示板

ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。

関連記事



公開日:2017年05月18日 最終更新日:2017年08月20日
記事NO:02380


この記事を書いた人

💻 ITスキル・経験
サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。

画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ
プチモンテ代表、アーティスト名:プチモンテ
🎵 音楽制作
BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~

オリジナル曲を始めました✨

YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte

【男性ボーカル】DA・KA・RA | 新たな明日が風と共に訪れる

【男性、女性ボーカル】時空を超越する先に | 時空と風の交響曲

【女性、男性ボーカル】絆 | 穏やかな心に奏でる旋律