2017年1月27日金曜日

Arduino で温度センサを使ってみた

概要

Arduino で温度センサを使ってみました

環境

配線

arduino_temp_sensor_circuit.jpg

Arduino の 3.3v を AREF ピンに接続する必要があります
センサは写真の左から 5.5v, A0, GND に接続しています

センサの 5.5v, GND にセラミックコンデンサを挟んでいます
その方が値が安定するみたいです

スケッチ

アナログ値から温度を求めるスケッチは以下の通りです

const int voutPin = 0;

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

void loop() {
  int reading = analogRead(voutPin);
  // Analog -> mV
  float voltage = ((long)reading * 3300) / 1024;
  Serial.print(voltage);
  Serial.print(" mV, ");

  // mV -> 摂氏
  float tempC = (voltage - 500) / 10;
  Serial.print(tempC);
  Serial.println(" degress C, ");

  delay(1000);
}

AREF に 3.3v を接続し analogReference(EXTERNAL); しているので基準電圧は 3.3v (3300) になります
1024 は分解能です、取得したアナログ値を 1024 までの範囲に変換する必要があります

そのあとで 500 を引いています
これは 0 度のときに 500mV になるため引いています
10 で割っているのは 1 度あたりの電圧が 10mV になっているためです

動作確認

スケッチを書き込んでシリアルモニタで確認してください

arduino_temp_sensor_ret.png

最後に

Arduino で MCP9700 の温度センサを使ってみました
精度が ±4 度あるらしいのであしからず

この後は ESP-WROOM-02 でも使ってみたいと想います

参考サイト

0 件のコメント:

コメントを投稿