環境
OS: windows7 64bit
IDE: Arduino 1.6.9
概要
アナログ温度センサ。
温度センサ: NTC thermistor
温度範囲: -55°C / +125°C
精度: + / – 0.5°C
引用元: https://tkkrlab.nl/wiki/Arduino_KY-013_Temperature_sensor_module
準備
結線
(間違っている??)
「S側」:シグナル。下のサンプルではA5(アナログ5番)。
「中側(middle)」:+5V
「-側」:GND
参考先の上記配線情報をもとに配線しサンプル01を実行すると、センサを温めると表示温度が下降し、冷やすと表示温度が上昇する・・・というアベコベな反応を示します。
このページ(http://forum.arduino.cc/index.php/topic,209133.0.html)の議論によれば、『結線情報が間違っていて+5VラインとGNDラインを交換するとうまくいく』という意見もある一方で、『これはDUEアナログ読み込み(?? DUE analog reading)を用いる際のIDEの問題だと分かった』という意見もあり、結局正しい結論の理解までは至りませんでした。
確かに、以下の通り接続すると、センサを温めると表示温度が上がり、センサを冷やすと表示温度が下がる
「S側」:シグナル。下のサンプルではA5(アナログ5番)。
「中側(middle)」:GND
「-側」:+5V
サンプルコード
サンプル01
参考: https://tkkrlab.nl/wiki/Arduino_KY-013_Temperature_sensor_module
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <math.h> int sensorPin = A5; // select the input pin for the potentiometer double Thermistor(int RawADC) { double Temp; Temp = log(10000.0*((1024.0/RawADC-1))); Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp ); Temp = Temp - 273.15; // Convert Kelvin to Celcius //Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit return Temp; } void setup() { Serial.begin(9600); } void loop() { int readVal=analogRead(sensorPin); double temp = Thermistor(readVal); Serial.println(temp); // display tempature //Serial.println(readVal); // display tempature delay(500); } |
その他
参考
Arduino KY-013 Temperature sensor module – TkkrLabhttps://tkkrlab.nl/wiki/Arduino_KY-013_Temperature_sensor_module
[SOLVED]KY-013 analog temperature sensor incorrect readings.http://forum.arduino.cc/index.php/topic,209133.0.html
コメント