概要
Arduino で温度センサを使ってみました
環境
- Arduino UNO
- Arduino IDE 1.6.9
- 温度センサ MCP9700-E/TO
- 0.1μF セラミックコンデンサ
配線
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 で MCP9700 の温度センサを使ってみました
精度が ±4 度あるらしいのであしからず
この後は ESP-WROOM-02 でも使ってみたいと想います
0 件のコメント:
コメントを投稿