700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 第二十八篇 基于Arduino uno 获取LM35温度传感器的温度值——结果导向

第二十八篇 基于Arduino uno 获取LM35温度传感器的温度值——结果导向

时间:2019-11-03 20:40:19

相关推荐

第二十八篇 基于Arduino uno 获取LM35温度传感器的温度值——结果导向

0、结果

说明:先来看看串口调试助手显示的结果,显示的是空气温度,如果是你想要的,可以接着往下看。

1、外观

说明:虽然LM35温度传感器形态各异,但是原理和代码都是适用的。

2、连线

说明:只需要连接四根线。

uno————LM35温度传感器 5V------------VCC GND------------GND 5V-----1K电阻-----OUT A0------------OUT

3、源程序

说明:采用非阻塞方式编写,一定时间检测一次温度,并将对应功能进行函数化,方便移植。

/****************************************lm35 part****************************************//*接线:5V------VCCGND------GND5V-----1K电阻-----OUTA0------OUT*/#define lm35Pin A0#define lm35TimeInterval 1000//检测一次的时间间隔 unsigned long lm35Times = 0; //记录设备运行时间float lm35Temperature = 0;long value = 0;/****************************************set up and loop part*********************************/void setup() {Serial.begin(9600); //设置串口波特率9600}void loop() {getLm34Data(); //获取温度数据}/****************************************lm35 part****************************************//*获取温度数据*/void getLm34Data() {if (millis() - lm35Times >= lm35TimeInterval) {//一定时间执行一次lm35Times = millis();value = analogRead(lm35Pin); //读取模拟输入lm35Temperature = (value * 5.0 / 1024 * 40); //0~5V对应模拟口读数1~1024,每10毫伏对应1℃Serial.print("Temper: ");//串口打印对应的值Serial.print(lm35Temperature); //串口打印对应的值Serial.println("(C)"); //串口打印对应的值}}

4、注意事项

说明:连线的时候,如果不在OUT引脚接一个上拉电阻,那么数据会拨动的很厉害,这个电阻不建议过大,不然就没那么精准。该传感器温度变化比较慢。

5、基本原理

LM35是一种基于集成电路的温度传感器,可以测量环境温度并将其转换为电压信号输出。在Arduino中使用LM35温度传感器时,您需要将传感器的引脚连接到Arduino的模拟输入引脚上,并使用一些代码将模拟输入值转换为实际温度值。

LM35传感器的工作原理基于温度对半导体材料电阻的影响。根据热电效应原理,当半导体材料受到热量的影响时,会产生一定的电势差。此外,材料的电阻值也会随着温度的变化而发生变化。LM35传感器利用这个原理来测量温度值。

LM35传感器的输出电压与温度成线性正比关系,公式为:Vout = 10mV/℃ × 温度值。例如,如果LM35传感器测量到的温度值为25℃,则输出电压为:Vout = 10mV/℃ × 25℃ = 0.25V。由此可见,通过测量LM35传感器输出的电压值,可以间接得知当前的温度值。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。