你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【更好用的单片机】【Stduino】37种传感器(五)热敏电阻...

[复制链接]
stduino 发布时间:2020-7-22 21:05
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测得的是其分压,则有
热敏电阻两端电压01.png
A0的范围为0~4095,而V总为5V,定值电阻R0为10KΩ,若A0测得数值为RawADC,则可得:
热敏电阻两端电压02.png

热敏电阻.jpg

实验目的:
利用热敏电阻器,监测环境温度变化。

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

电路连接:

热敏电阻电路连接图.png

代码展示:
  1. #include <math.h>
  2. double Thermister(int RawADC)
  3. {
  4.     double Temp;
  5.     Temp = log((10240000/RawADC)-10000);
  6.     Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp))* Temp);
  7.     Temp = Temp - 273.15;
  8.     return Temp;
  9. }
  10. void setup()
  11. {
  12.     pinMode(A0,INPUT_ANALOG);
  13.     Serial.begin(9600);
  14. }
  15. void loop()
  16. {
  17.     Serial.print("当前温度:");
  18.     Serial.print(Thermister(analogRead(A0)));
  19.     Serial.println("c");
  20.     delay(500);
  21. }
复制代码



实验效果:
打开串口监视器,可以看到现在的温度是23.7℃。此时室外温度是27℃。
热敏电阻-串口通信示数.png
微信图片_20200525100216.jpg
这是整个IDE布局:
布局.png


附:你也可以采取自己搭件电路的方式。
热敏电阻接线图.png





室温.jpg

公式3.png
收藏 1 评论0 发布时间:2020-7-22 21:05

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版