Arduino UNO R3自学笔记13 之 Arduino使用LM35如何测量温度?

news2024/10/2 5:11:24

注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。

前言:学习使用传感器测温。

1.LM35介绍

        一般来讲当知道需求,就可以 通过既定要求的条件来筛选需要的器件,多方面的因素最终选定了器件的型号和厂家,就可以通过其数据手侧开始使用。

        LM35 是由National Semiconductor 所生产的温度传感器,其输出电压为摄氏温标。LM35是一种得到广泛使用的温度传感器。

        其电源供应模式有单电源与正负双电源两种,其引脚正负双电源的供电模式可提供负温度的量测;两种接法的静止电流-温度关系,在静止温度中自热效应低(0.08℃),单电源模式在25℃下静止电流约50μA,工作电压较宽,可在4—20V的供电电压范围内正常工作非常省电。

        工作电压4~30V,在上述电压范围以内,芯片从电源吸收的电流几乎是不变的(约50μA),所以芯片自身几乎没有散热的问题。这么小的电流也使得该芯片在某些应用中特别适合,比如在电池供电的场合中,输出可以由第三个引脚取出,根本无需校准。

        ●  精度:0.5℃精度(在+25℃时);

        ●  比例因数:线性+10.0mV/℃;

        ●   非线性值:±1/4℃;

        ●  额定使用温度范围:-55~+150℃。

        ●  引脚说明:①电源负GND;②电源正VCC;③信号输出S;

2.传感器使用

        通过阅读手册我们知道了其引脚线序以及测量的方法,本次使用的LM35其主要参数为“比例因数:线性+10.0mV/℃”,这意味着温度与其输出的电压信号关系为温度增加1℃,其输出电压值升高10mV。

3.关系式推导

        数据手册给出了其温度与电压的关系:

                ●  比例因数:线性+10.0mV/℃;

则:我们可以得出:

U_{0}=\frac{10* T}{1000}   

                                               其中:      

                                                                  T:    为温度,℃。

                                       U_{0}:  为T温度下传感器输出电压,单位V。

电压的测量与模拟值的关系,前面一章有讲过:Arduino UNO R3自学笔记8 之 Arduino如何测电压?-CSDN博客

公式为:U=\frac{ADC}{1024}*5

将公式的U代换,则得到ADC值与温度的关系,如下:

\frac{10* T}{1000}=\frac{ADC}{1024}*5

计算得:

T=\frac{5*1000*ADC}{1024*10}

化简得:

T=\frac{125*ADC}{256}

近似后:T=0.48828*ADC

因此,我们只需要读取出V_{OUT}的值,就能计算出近似的温度值。

4.接线原理图

5.代码实现

float T=0.0; //定义浮点变量存温度值
void setup()    
{
 pinMode(A0,INPUT); //设置A0引脚为输入模式
}
void loop()
{
 T = float (analogRead(A0))*0.48828;   //读取AD值后换算为温度
 delay(1000);
}

上一篇:Arduino UNO R3自学笔记12 之 Arduino在调试过程中串口的使用

下一篇:Arduino UNO R3自学笔记14 之 Arduino如何测量距离?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2183805.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c语言实例

大家好,欢迎来到无限大的频道 今天给大家带来的是c语言 题目描述 创建一个双链表,并将链表中的数据输出到控制台,输入要查找的数据,将查找到的数据删除,并且显示删除后的链表 下面是一个用C语言实现的双链表&#…

数据结构-4.2.串的定义和基本操作

一.串的定义: 1.单/双引号不是字符串里的内容,他只是一个边界符,用来表示字符串的头和尾; 2.空串也是字符串的子串,空串长度为0; 3.字符的编号是从1开始,不是0; 4.空格也是字符&a…

Windows 11 安装配置 Git 教程

目录 Git Windows 11 环境安装配置 Git Git Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。Git是目前世界上最流行的版本控制系统,广泛应用于软件开发中。 以下是Git的一些关键特…

Python空间地表联动贝叶斯地震风险计算模型

🎯要点 使用贝叶斯推断模型兼顾路径和场地效应,量化传统地理统计曲线拟合技术。使用破裂和场地特征等地质信息以及事件间残差和事件内残差描述数学模型模型使用欧几里得距离度量、角距离度量和土壤差异性度量确定贝叶斯先验分布和后验分布参数&#xff…

使用Qt实现实时数据动态绘制的折线图示例

基于Qt的 QChartView 和定时器来动态绘制折线图。它通过动画的方式逐步将数据点添加到图表上,并动态更新坐标轴的范围,提供了一个可以实时更新数据的折线图应用。以下是对代码的详细介绍及其功能解析: 代码概述 该程序使用Qt的 QChartView…

【Python报错已解决】 Encountered error while trying to install package.> lxml

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

黑马linux笔记(转载)

学习链接 视频链接:黑马程序员新版Linux零基础快速入门到精通 原文链接:黑马程序员新版Linux零基础快速入门到精通——学习笔记 黑马Linux笔记 文章目录 学习链接01初识Linux1.1、操作系统概述1.1.1、硬件和软件1.1.2、操作系统1.1.3、常见操作系统 1.…

10/01赛后总结

T1隔离 题目传送门:隔离http://bbcoj.cn/contest/1027/problem/1 实在是太刁钻了,有两种情况没有考虑: 1.隔离后做完全部的是再回去 2.在路程上花的时间如果大于在隔离一次花的时间,那还不如隔离,然后做完全部的事…

阿里云域名注册购买和备案

文章目录 1、阿里云首页搜索 域名注册2、点击 控制台3、域名控制台 1、阿里云首页搜索 域名注册 2、点击 控制台 3、域名控制台

聊聊Mysql的MVCC

1 什么是MVCC? MVCC,是Multiversion Concurrency Control的缩写,翻译过来是多版本并发控制,和数据库锁一样,他也是一种并发控制的解决方案。 我们知道,在数据库中,对数据的操作主要有2种&#…

Java项目实战II基于Java+Spring Boot+MySQL的购物推荐网站的设计与实现(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者 一、前言 随着互联网技术的飞速发展,电子商务已成为人们日常生活中不可或缺的一部分。然而&#xf…

论文笔记:基于细粒度融合网络和跨模态一致性学习的多模态假新闻检测

整理了MMAsia2023 Cross-modal Consistency Learning with Fine-grained Fusion Network for Multimodal Fake News Detection 论文的阅读笔记 背景模型筛选模块 实验消融实验超参数讨论可视化 背景 尽管以往的工作已经观察到假新闻中文字与图像的不匹配,但他们仍致…

大数据毕业设计选题推荐-民族服饰数据分析系统-Python数据可视化-Hive-Hadoop-Spark

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

DNS with libevent

DNS with libevent: high-level and low-level functionality libevent提供了少量用于解析DNS名字的API,以及用于实现简单DNS服务器的机制。 我们从用于名字查询的高层机制开始介绍,然后介绍底层机制和服务器机制。 Portable blocking name resolution…

八、SPOOLING技术

1.早期脱机技术 外围控制机更高速的设备--磁带 作用:缓解设备与CPU的速度矛盾,实现预输入、缓输出 批处理阶段引入了脱机输入/输出技术(用磁带完成): 引入脱机技术后,缓解了CPU与慢速I/O设备的速度矛盾。另一方面,即使CPU在忙碌&#xff0…

【Windows】在任务管理器中隐藏进程

在此前的一篇,我们已经介绍过了注入Dll 阻止任务管理器结束进程 -- Win 10/11。本篇利用 hook NtQuerySystemInformation 并进行断链的方法实现进程隐身,实测支持 taskmgr.exe 的任意多进程隐身。 任务管理器 代码: // dllmain.cpp : 定义 …

MongoDB微服务部署

一、安装MongoDB 1.在linux中拉去MongoDB镜像文件 docker pull mongo:4.4.18 2. 2.创建数据挂载目录 linux命令创建 命令创建目录: mkdir -p /usr/local/docker/mongodb/data 可以在sshclient工具查看是否创建成功。 进入moogodb目录,给data赋予权限777 cd …

2024-09-04 深入JavaScript高级语法十五——浏览器原理-V8引擎-js执行原理

目录 1、浏览器的工作原理1.1、认识浏览器内核1.2、浏览器渲染过程 2、JS引擎2.1、认识 JavaScript 引擎2.2、浏览器内核和JS引擎的关系2.3、V8引擎的原理2.4、V8引擎的架构2.5、V8执行的细节 3、全局代码的执行过程3.1、初始化全局对象3.2、执行上下文栈(调用栈&am…

World of Warcraft [CLASSIC][80][Grandel] Call to Arms: Victory in Wintergrasp

Wintergrasp 冬拥湖 120 VS 120 Victory in Wintergrasp - Quest - 魔兽世界怀旧服WLK3.35数据库_巫妖王之怒80级魔兽数据库_wlk数据库

逆向-下字符串查找的条件断点

为了跟踪console程序在访问某个文件时失败的问题,在内核中下了断点,但是内核中文件部分调用太频繁了,无法等到自己的文件。所以最好还是根据条件来下断点。 程序如下 想要在FileName是指定文件时停下来,例如FileName是c:\temp\f…