37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO

37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO

本文转载自:http://www.stduino.com/forum.php?mod=viewthread&tid=27&extra=page%3D1=

关键词:
51、stm32、arduino、stduino、单片机、stduino UNO&Nano、热敏电阻模块

说明:
热敏电阻按照温度系数不同,可以分为正温度热敏电阻器(PTC)和负温度热敏电阻器(NTC)。
热敏电阻典型特点是对温度敏感,不同的温度下表现出不同的电阻值,因此其两端电压随温度变化。正温度系数热敏电阻器(PTC)在温度越高时电阻值越大,负温度系数热敏电阻器(NTC)在温度越高时电阻值越低。
NTC的电阻随温度的变化,可以利用Steinhart-Hart方程来表示:
1/T = A + B•ln® + C•[ln®]

注意:T 为热力学温度,单位为开尔文(k);R 为电阻,单位是欧姆(Ω)。

热力学温度与摄氏温度(t,单位为摄氏度,℃)存在这样的关系:

t=T +273.15

则可知,当前温度(Tsteinhart)的计算公式在C语言中的表达为:

Tsteinhart = 1/(A+Blog(Rth)+Cpow(log(Rth),3))-273.15

这里: T 为绝对温度K(开尔文温度),R 单位是欧姆。

其中系数A\B\C由热敏电阻本身性质决定,本模块采用103电阻(10KΩ),其A\B\C分别为:0.001129148;0.000234125;0.00000008760741。

至于热敏电阻的当前阻值,需要利用欧姆定律来计算。A0测得的是其分压,则有
37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第1张图片

A0的范围为0~4095,而V总为5V,定值电阻R0为10KΩ,若A0测得数值为RawADC,则可得:
37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第2张图片
37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第3张图片
实验目的:
利用热敏电阻器,监测环境温度变化。

实验器材:
Stduino Uno/Nano;热敏电阻模块。

电路连接:
37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第4张图片
代码展示:

#include 
double Thermister(int RawADC)
{
    double Temp;
    Temp = log((40960000/RawADC)-10000);
    Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp))* Temp);
    Temp = Temp - 273.15;
    return Temp;
}
void setup() 
{
    pinMode(A0,INPUT_ANALOG);
    Serial.begin(9600);
}
void loop()
{
    Serial.print("当前温度:");
    Serial.print(Thermister(analogRead(A0)));
    Serial.println("c");
    delay(500);
}

实验效果:
打开串口监视器,可以看到现在的温度是23.7℃。此时室外温度是27℃。
37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第5张图片
37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第6张图片

这是整个IDE布局:
37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第7张图片

附:你也可以采取自己搭件电路的方式。
37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第8张图片

37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第9张图片

37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO_第10张图片

你可能感兴趣的:(Stduino)