本格的にArduino > 温度センサー

「本格的にArduino/温度センサー」の編集履歴(バックアップ)一覧はこちら

本格的にArduino/温度センサー」(2010/07/24 (土) 14:02:57) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*温度センサー **LM61CIZ http://akizukidenshi.com/catalog/g/gI-02726/ 4つで200円の温度センサー。 ■汎用の高精度IC温度センサーです ■測定範囲:−30℃〜100℃ ■温度係数:+10mV/℃ ■動作電圧範囲:+2.7〜+10V ■出力インピーダンス:800Ω ・Vo=(+10mV/℃×T℃)+600mV      +100℃/+1600mV       +85℃/+1450mV       +25℃/+850mV         0℃/+600mV       −25℃/+350mV       −30℃/+300mV **単純な温度取得 #image(http://www2.atpaint.jp/arduino/src/OB1237021707221.png) int ledPin = 13; int templPin = 5; void setup() { analogReference(INTERNAL); Serial.begin(19200); } void loop() { int val; double volt; double templ; val = analogRead(templPin); // 0-1023 / 1.1Vで1024になる volt = 1.1*val/1024.0; templ = (volt-0.6)*100.0; // 10mV=1c Serial.print(val); Serial.print(" / "); Serial.print(volt); Serial.print("V / "); Serial.print(templ); Serial.println("C"); delay(1000); } **複数回データを取得して平均する int ledPin = 13; int templPin = 5; void setup() { analogReference(INTERNAL); Serial.begin(19200); } #define SAMPLING_COUNT 30 void loop() { int val; int i; double volt; double templ; val = 0; for(i=0; i<SAMPLING_COUNT; i++){ val += analogRead(templPin); delay(10); } val = val/SAMPLING_COUNT; volt = 1.1*val/1024.0; templ = (volt-0.6)*100.0; // 10mV=1c Serial.print(val); Serial.print(" / "); Serial.print(volt); Serial.print("V / "); Serial.print(templ); Serial.println("C"); delay(700); } ブレが小さくなる。 参考URL -http://nekosan0.bake-neko.net/structure_analog_in.html -http://www.musashinodenpa.com/arduino/ref/index.php?f=0&pos=1949
*温度センサー **LM61CIZ http://akizukidenshi.com/catalog/g/gI-02726/ 4つで200円の温度センサー。 ■汎用の高精度IC温度センサーです ■測定範囲:−30℃〜100℃ ■温度係数:+10mV/℃ ■動作電圧範囲:+2.7〜+10V ■出力インピーダンス:800Ω ・Vo=(+10mV/℃×T℃)+600mV      +100℃/+1600mV       +85℃/+1450mV       +25℃/+850mV         0℃/+600mV       −25℃/+350mV       −30℃/+300mV **単純な温度取得 #image(http://www2.atpaint.jp/arduino/src/OB1237021707221.png) int ledPin = 13; int templPin = 5; void setup() { analogReference(INTERNAL); Serial.begin(19200); } void loop() { int val; double volt; double templ; val = analogRead(templPin); // 0-1023 / 1.1Vで1024になる volt = 1.1*val/1024.0; templ = (volt-0.6)*100.0; // 10mV=1c Serial.print(val); Serial.print(" / "); Serial.print(volt); Serial.print("V / "); Serial.print(templ); Serial.println("C"); delay(1000); } **複数回データを取得して平均する int ledPin = 13; int templPin = 5; void setup() { analogReference(INTERNAL); Serial.begin(19200); } #define SAMPLING_COUNT 30 void loop() { int val; int i; double volt; double templ; val = 0; for(i=0; i<SAMPLING_COUNT; i++){ val += analogRead(templPin); delay(10); } val = val/SAMPLING_COUNT; volt = 1.1*val/1024.0; templ = (volt-0.6)*100.0; // 10mV=1c Serial.print(val); Serial.print(" / "); Serial.print(volt); Serial.print("V / "); Serial.print(templ); Serial.println("C"); delay(700); } ブレが小さくなる。 **LM35DZ http://akizukidenshi.com/catalog/g/gI-00116/ 高精度IC温度センサ LM35DZ 0〜100℃ [LM35DZ] 通販コード I-00116 発売日 2001/12/12 メーカー NATIONAL SEMICONDUCTOR 摂氏(℃)に比例した電圧出力 ◎例:  0℃→0V  20℃→200mV ◆測定温度範囲:0〜100℃ ◆精度:±1℃ ◆温度係数:10.0mV/℃ ◆電源電圧:DC4V〜20V 低消費電流:60μA ◆低出力インピーダンス:0.1Ω ◆T0-92パッケージ ピン配置はLM61CIZと同じだが出力全圧が違う。 **LM61CIZ vs LM35DZ void setup() { analogReference(INTERNAL); Serial.begin(115200); } void task_LM61CIZ() { static int pin = 5; static int sum = 0; static int samples = 0; double volt; double templ; sum += analogRead(pin); samples += 1; if(30<samples){ volt = 1.1*sum/samples/1024.0; templ = (volt-0.6)*100.0; // 10mV=1c Serial.print("LM61CIZ: "); Serial.print(sum); Serial.print(" / "); Serial.print(volt); Serial.print("V / "); Serial.print(templ); Serial.println("C"); sum = 0; samples = 0; } } void task_LM35DZ() { static int pin = 4; static int sum = 0; static int samples = 0; double volt; double templ; sum += analogRead(pin); samples += 1; if(30<samples){ volt = 1.1*sum/samples/1024.0; templ = volt*100.0; // 10mV=1c Serial.print("LM35DZ : "); Serial.print(sum); Serial.print(" / "); Serial.print(volt); Serial.print("V / "); Serial.print(templ); Serial.println("C"); sum = 0; samples = 0; } } void loop() { task_LM61CIZ(); task_LM35DZ(); delay(100); } LM61CIZ: 27723 / 0.96V / 36.07C LM35DZ : 10155 / 0.35V / 35.19C LM61CIZ: 27722 / 0.96V / 36.06C LM35DZ : 10156 / 0.35V / 35.19C LM61CIZ: 27721 / 0.96V / 36.06C LM35DZ : 10153 / 0.35V / 35.18C LM61CIZ: 27728 / 0.96V / 36.08C LM35DZ : 10158 / 0.35V / 35.20C LM61CIZ: 27721 / 0.96V / 36.06C LM35DZ : 10148 / 0.35V / 35.17C LM61CIZ: 27724 / 0.96V / 36.07C LM35DZ : 10155 / 0.35V / 35.19C LM61CIZ: 27726 / 0.96V / 36.08C LM35DZ : 10161 / 0.35V / 35.21C 参考URL -http://nekosan0.bake-neko.net/structure_analog_in.html -http://www.musashinodenpa.com/arduino/ref/index.php?f=0&pos=1949

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。