サーミスタ(温度センサー)
概要
サーミスタ(温度センサー)を使って、シリアルモニタに
距離を表示します。
材料
Arduino Uno x 1
ブレッドボード x 1
サーミスタ (温度センサー) x 1
抵抗 10 Ω (バランス抵抗用) x 1
デュポンワイヤー x 数本
広告
製品説明
サーミスタは、温度に敏感で抵抗が温度とともに変化する非線形抵抗器です。
通常、多結晶半導体でできています。一連の特別な電気的特性があります。
これらの中で最も重要なのは、その抵抗が温度によって大きく変化することです。
サーミスタは、温度感度が高く、熱慣性が小さく、寿命が長く、
サイズが小さく、構造がシンプルで、さまざまな形状と構造があります。
それらは産業および農業生産、科学技術で広く使用されています。
温度測定、温度制御、温度補償、液体レベルの測定、圧力測定、
火災警報、気象観測、スイッチ回路保護、過負荷保護、電圧スパイク抑制、
自動ゲイン調整、レーザーおよびマイクロ波電力測定、 その他。
技術的パラメータ
アナログ信号 :出力
温度範囲 :-30℃ー+125℃
温度測定精度 :0.5°C
抵抗値 :10 Ω
B値 :3950(±1%)
精度 :5%
動作電圧 :DC 5V
配線図
サンプルコード
/*
* サーミスタセンサーモジュール(アナログ温度計)
*
*/
float B = 3950; // B定数の設定
float T0 = 298.15; // 摂氏25度のケルビン温度
float R0 = 10000; // 摂氏25度のサーミスタ抵抗
float R1 = 10000; // 分圧測定のための抵抗
int TmpValue = analogRead(A0); // アナログ0ピンから読み込み
// ———————— 最初に一度だけ実行されるコード 開始 ————————
void setup()
{
Serial.begin(9600); // シリアル通信のデータ転送レートをbpsで指定。
Serial.println("Temp sensor module"); // Temp sensor module と出力(print)して改行
}
// ———————— 最初に一度だけ実行されるコード 終了 ————————
// ———————— 繰り返し実行されるコード 開始 ————————
void loop()
{
/* 計算 */
int TmpValue = analogRead(A5); // アナログ入力0でデータ読み取り
float vout = (float)TmpValue / 1023.0f * 5.0f; // 分圧した出力電圧の計算
float rth = (5.0f / vout - 1) * R1; // サーミスタ抵抗計算
float tempK = 1 / (1 / B * log(rth / R0) + (1 / T0)); // 温度計算(ケルビン)
float tempC = tempK - 273.15; // 摂氏に変換
float tempF = (tempC * 9.0) / 5.0 + 32.0; // 華氏に変換
Serial.print("Law Value: "); // Law Value: と出力(print)
Serial.println(TmpValue); //センサーからのRawデータを出力(print)して改行
delay(500); // 0.5秒待機
Serial.print("Kelvin: "); // Kelvin: と出力(print)
Serial.print(tempK); // 計算結果のケルビンを出力(print)
Serial.println(" K"); // K と出力(print)して改行
delay(500); // 0.5秒待機
Serial.print("Temp: "); // Temp: と出力(print)
Serial.print(tempC); // 計算結果の摂氏を出力(print)
Serial.println(" *C"); // *C と出力(print)して改行
delay(5000); // 5秒待機
}
// ———————— 繰り返し実行されるコード 終了 ————————
0 件のコメント :
コメントを投稿