0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用带有热敏电阻的Arduino来读取温度并在LCD上显示

科技观察员 来源:circuitdigest 作者:潘卡伊·卡特里 2022-11-23 17:15 次阅读

使用热敏电阻是一种简单而廉价的感测温度的方法。为了用热敏电阻测量精确的温度,需要一个微控制器。因此,在这里我们使用带有热敏电阻的Arduino来读取温度,并使用LCD来显示温度。它可用于各种项目,例如远程气象站,家庭自动化以及工业电子设备的保护和控制。

在本教程中,我们将把热敏电阻与Arduino接口,并在LCD上显示温度。

所需组件:

NTC热敏电阻 10k

Arduino (任何版本)

10k 欧姆电阻器

连接线

电路图

poYBAGN95DOAZVKcAAHGyyhZgoc256.png

热敏电阻根据其中电阻的变化提供温度值。在该电路中,Arduino中的模拟引脚与热敏电阻连接,只能提供ADC值,因此不直接计算热敏电阻的电阻。因此,通过将已知的10k欧姆电阻与NTC串联,使电路类似于上图所示的分压器电路。使用此分压器,我们可以获得热敏电阻两端的电压,使用该电压我们可以得出热敏电阻在该时刻的电阻。最后,我们可以通过将热敏电阻的电阻放入斯坦-哈特方程中获得温度值,如下一节所述。

热敏电阻

该电路中的关键元件是热敏电阻,它已被用于检测温度升高。热敏电阻是温度敏感电阻,其电阻随温度变化。有两种类型的热敏电阻NTC(负温度系数)和PTC(正温度系数),我们使用NTC型热敏电阻。NTC热敏电阻是一种电阻器,其电阻随着温度的升高而减小,而在PTC中,电阻会随着温度的升高而增加。

pYYBAGN95KeARcAnAAAf9tbMeig356.jpg

poYBAGN95KiAfukzAAAwhsDJh7Y161.jpg

使用热敏电阻计算温度:

我们从分压器电路中得知:

pYYBAGN95K6AdtxpAAAnOuQ4IuY367.png

Vout= (Vin * Rt) / (R + Rt)

因此,Rt 的值将是:

Rt = R (Vin/Vout) – 1

这里,Rt将是热敏电阻的电阻,R将是10k欧姆电阻。

该公式用于根据输出电压Vo的测量值计算热敏电阻电阻。我们可以从 Arduino 引脚 A0 处的 ADC 值中获取电压输出的值,如下所示的 Arduino 代码。

根据热敏电阻电阻计算温度:

在数学上,热敏电阻电阻只能借助斯坦-哈特方程计算。

T = 1 / (A + Bln(Rt) + Cln (Rt)3 )

其中,A、B 和 C 是常数,Rt 是热敏电阻电阻,ln 表示对数。

项目中使用的热敏电阻的常量值为A = 1.009249522×10−3, B = 2.378405444×10−4, C = 2.019202697×10−7.这些常数值可以通过输入热敏电阻在三种不同温度下的三个电阻值从计算器中获得。您可以直接从热敏电阻的数据表中获取这些常数值,也可以获得不同温度下的三个电阻值,并使用给定的计算器获取常数值。

poYBAGN95LCAPUSEAAAvb0tV1b8559.png

因此,为了计算温度,我们只需要热敏电阻电阻的值。从上面给出的计算中获得 Rt 的值后,将值放入斯坦-哈特方程中,我们将得到单位开尔文的温度值。由于输出电压的微小变化会导致温度变化。

阿杜伊诺热敏电阻代码
本文末尾给出了用于将热敏电阻与Arduino接口的完整Arduino代码。在这里,我们已经解释了其中的几个部分。

为了执行数学运算,我们使用头文件“#include ”,LCD头文件是“#include ”。我们必须使用代码分配LCD的引脚

LiquidCrystal lcd(44,46,40,52,50,48);
为了在启动时设置LCD,我们必须在void设置部分编写代码

Void setup(){
lcd.begin(16,2);
lcd.clear();
}
为了使用热敏电阻的电阻通过斯坦-哈特方程计算温度,我们在代码中执行一些简单的数学方程,如上面的计算中所述:

float a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07;
float T,logRt,Tf,Tc;
float Thermistor(int Vo) {
logRt = log(10000.0*((1024.0/Vo-1)));
T = (1.0 / (A + B*logRt + C*logRt*logRt*logRt));// We get the temperature value in Kelvin from this Stein-Hart equation
Tc = T - 273.15; // Convert Kelvin to Celsius
Tf = (Tc * 1.8) + 32.0; // Convert Kelvin to Fahrenheit
return T;
}
在下面的代码中,功能热敏电阻从Arduino的模拟引脚读取值,

lcd.print((Thermistor(analogRead(0))));
并在下面的代码中获取该值,然后开始打印计算

float Thermistor(int Vo)

使用热敏电阻和Arduino测量温度:

pYYBAGN95LSAapUUAAEAigpDgNc619.jpg

要为 Arduino 供电,您可以通过 USB 将其供电到笔记本电脑或连接 12v 适配器。LCD与Arduino接口以显示温度值,热敏电阻根据电路图连接。模拟引脚(A0)用于每时每刻检查热敏电阻引脚的电压,在通过Arduino代码使用Stein-Hart方程进行计算后,我们能够获得温度并将其以摄氏度和华氏度显示在LCD上。

#include

#include "LiquidCrystal.h"

LiquidCrystal lcd(44,46,40,52,50,48);

float A = 1.009249522e-03, B = 2.378405444e-04, C = 2.019202697e-07;

float T,logRt,Tf,Tc;

float Thermistor(int Vo) {

logRt = log(10000.0*((1024.0/Vo-1)));

T = (1.0 / (A + B*logRt + C*logRt*logRt*logRt)); // We get the temperature value in Kelvin from this Stein-Hart equation

Tc = T - 273.15; // Convert Kelvin to Celcius

Tf = (Tc * 1.8) + 32.0; // Convert Kelvin to Fahrenheit

return T;

}


void setup(){

lcd.begin(16,2);

lcd.clear();

}


void loop()

{

lcd.setCursor(0,0);

lcd.print("Temp:");

lcd.print((Thermistor(analogRead(0))));

lcd.print("k ");



lcd.setCursor(0,1);

lcd.print((Tc));

lcd.print(" C ;");


lcd.setCursor(9,1);

lcd.print((Tf));

lcd.print(" F");

delay(800);

}


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • lcd
    lcd
    +关注

    关注

    34

    文章

    4426

    浏览量

    167548
  • 热敏电阻
    +关注

    关注

    14

    文章

    1168

    浏览量

    101537
  • Arduino
    +关注

    关注

    188

    文章

    6470

    浏览量

    187135
收藏 人收藏

    评论

    相关推荐

    什么是热敏电阻 热敏电阻的参数

    热敏电阻(thermistor)是对温度敏感的一种电子器件,其电阻值会随着温度的变化而发生改变。 热敏电阻按照
    的头像 发表于 08-28 17:26 3022次阅读
    什么是<b class='flag-5'>热敏电阻</b> <b class='flag-5'>热敏电阻</b>的参数

    转:Arduino读取热敏电阻温度

    本次使用的通用的25度时阻值为5K的热敏电阻,为了提高测量精度,采取分段式计算,每五度分成一个小段,然后采取斜率计算温度值。温度表和分段的斜率先算出来,如下所示 然后在程序里定义数组
    发表于 06-12 14:30

    如何用热敏电阻采集温度

    如何用热敏电阻采集温度
    发表于 10-20 06:34

    通过NTC热敏电阻读取STM8单片机温度

    温度采集是产品开发过程中必不可少的,读取温度的方法有很多种,有专用温度采集芯片,温度传感器,热敏电阻
    发表于 02-16 06:47

    通过NTC热敏电阻读取STM8单片机温度

    温度采集是产品开发过程中必不可少的,读取温度的方法有很多种,有专用温度采集芯片,温度传感器,热敏电阻
    发表于 03-30 14:01

    如何用热敏电阻测量温度

    如何用热敏电阻测量温度
    发表于 11-03 06:01

    labview热敏电阻温度串口波形显示

    labview热敏电阻温度串口波形显示
    发表于 12-16 08:34 32次下载

    热敏电阻如何测温度

    热敏电阻的主要应用之一就是测量温度的,下面和大家聊聊,如何使用一颗热敏电阻测试温度显示出来呢
    发表于 05-17 15:01 1.3w次阅读
    <b class='flag-5'>热敏电阻</b>如何测<b class='flag-5'>温度</b>

    热敏电阻温度系数详解

    ,导致电阻值越低的趋势。 热敏电阻的负温度系数可以用一个简单的公式表达:Rt=R0*(1+A*(T-T0)),其中,Rt表示热敏电阻
    的头像 发表于 09-08 10:44 4370次阅读

    如何使用Arduino设置热敏电阻创建温度

    在本教程中,我们将指导您如何使用Arduino设置热敏电阻以创建基本温度计。提供的原理图、试验板图和示例代码将使热敏电阻工作变得简单明了。
    的头像 发表于 02-11 10:37 2544次阅读
    如何使用<b class='flag-5'>Arduino</b>设置<b class='flag-5'>热敏电阻</b><b class='flag-5'>来</b>创建<b class='flag-5'>温度</b>计

    温度系数热敏电阻与负温度系数热敏电阻的区别

    在电子元件的广阔领域中,热敏电阻作为一类对温度敏感的电阻器,其在温度检测、控制以及电路保护等方面具有广泛的应用。热敏电阻根据其
    的头像 发表于 05-22 16:31 2026次阅读

    热敏电阻温度升高电阻怎么变化

    热敏电阻是一种具有温度敏感性的电阻器,其电阻值随温度的变化而变化。 一、热敏电阻的工作原理
    的头像 发表于 07-18 10:37 1368次阅读

    热敏电阻温度系数是正还是负

    热敏电阻是一种利用半导体材料的电阻温度变化的特性测量温度的元件。它的温度系数是描述
    的头像 发表于 07-18 14:19 893次阅读

    什么是正温度系数热敏电阻和负温度系数热敏电阻

    温度系数热敏电阻(Positive Temperature Coefficient Thermistor,简称PTC热敏电阻)和负温度系数热敏电阻
    的头像 发表于 08-07 16:30 2102次阅读

    热敏电阻导通时的温度变化

    热敏电阻是一种特殊的电阻,对温度感知灵敏,其电阻值会随着温度的变化而变化。因热敏电阻具有体积小,
    的头像 发表于 12-06 17:06 205次阅读
    <b class='flag-5'>热敏电阻</b>导通时的<b class='flag-5'>温度</b>变化