查看: 1387|回复: 2

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

[复制链接]

53

主题

55

帖子

430

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
430
发表于 2020-5-24 21:44:02 | 显示全部楼层 |阅读模式
Stduino Uno/Nano-37种传感器(五)热敏电阻模块

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



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

05-ST公式.png

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

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

t=T +273.15

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

Tsteinhart = 1/(A+B*log(Rth)+C*pow(log(Rth),3))-273.15

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

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

至于热敏电阻的当前阻值,需要利用欧姆定律来计算。A0测得的是其分压,则有

A0的范围为0~4095,而V总为5V,定值电阻R0为10KΩ,若A0测得数值为RawADC,则R0两端电压为:

05-R0.png

则利用欧姆定律可以求得热敏电阻大小为:

05-V0.png


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


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


电路连接:
05-热敏电阻NTC-电路图.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℃。
微信图片_20200525100216.jpg
这是整个IDE布局:
布局.png


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








回复

使用道具 举报

0

主题

1

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2021-5-16 16:21:10 | 显示全部楼层
大佬,请问热敏电阻的ABC系数哪里可以翻到
回复

使用道具 举报

27

主题

59

帖子

922

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
922
发表于 2021-5-17 09:19:52 | 显示全部楼层
我认为可以! 发表于 2021-5-16 16:21
大佬,请问热敏电阻的ABC系数哪里可以翻到

问卖家要资料找下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

今天在文涛老大的帮助下我的stm32zet6终于把simlpefoc库跑起...
今天在文涛老大的帮助下我
[md]首先本身是刚刚从MDK转到arduino过来的新人,只因为要完开源的simplefoc,期间由
Stduino UNO mini与7线oled显示屏实现Message Box
Stduino UNO mini与7线ole
[md]手头上有块7线的Oled显示屏一直想用stm32驱动下,正好现在通过Stduino UNO mini和
DS1302时钟库分享
DS1302时钟库分享
大家好,最近发现IDE自身的库没有DS1302,因此依据网上的资料写了DS1302的库。这里将
如何实现stm32arduino在官方ide里的tools中的usb设置?
如何实现stm32arduino在官
[md]在官方ide里添加了stm32官方arduino库之后会有tool选项,这个会影响有usb的库的条
stm32 小蓝板快速点亮一颗LED灯(一),无需刷Bootloader
stm32 小蓝板快速点亮一颗
关键词:stm32 小蓝板 STM32F103C8T6 Stduino IDE Stduino Nano 点亮一颗LED灯 通过St
下载库并打开示例教程Arduino框架
下载库并打开示例教程Ardu
[md]注意是Arduino框架!Arduino框架!Arduino框架下! 在对应项目工作空间安装库后,如
37种传感器(五)热敏电阻模块+Stduino Nano&UNO
37种传感器(五)热敏电阻
Stduino Uno/Nano-37种传感器(五)热敏电阻模块 关键词:51 stm32 arduino stduino
©2001-2018  Stduino官网  Powered by©Discuz!   ( 皖ICP备17011998号 )
快速回复 返回顶部 返回列表