Arduino 第十一章:温度传感器

Arduino 第十一章:LM35 温度传感器

一、LM35 简介

LM35 是美国国家半导体公司(现德州仪器)生产的一款精密集成电路温度传感器。与基于热力学原理的传统温度传感器不同,LM35 能直接将温度转换为电压输出,且输出电压与摄氏温度呈线性比例关系,无需额外的校准即可提供高精度的温度测量。它具有精度高、线性度好、成本低、使用方便等优点,在温度测量和控制系统中应用广泛。

二、工作原理(根据不同温度传感器修改计算方式)

LM35 基于半导体的物理特性工作。半导体材料的带隙电压会随温度变化,LM35 内部电路利用这一特性,将温度变化转化为电压输出。其输出电压与摄氏温度成线性关系,比例系数为 10mV/℃,即温度每升高 1℃,输出电压增加 10mV。例如,在 25℃时,LM35 的输出电压为 250mV(25×10mV) 。

三、硬件连接

(一)所需材料

  • Arduino 开发板(如 Arduino Uno)
  • LM35 温度传感器
  • 杜邦线若干

(二)引脚说明

LM35 通常有三个引脚:

  • VCC:电源正极,接 +5V。
  • GND:电源负极,接地。
  • Vout:温度电压输出端。

(三)连接方式

将 LM35 的 VCC 引脚连接到 Arduino 的 5V 引脚,为传感器供电;GND 引脚连接到 Arduino 的 GND 引脚;Vout 引脚连接到 Arduino 的一个模拟输入引脚,这里选择 A0 引脚。

(四)连接图

在这里插入图片描述

          +5V (Arduino)||[VCC] (LM35)[Vout] ---- A0 (Arduino)[GND] ---- GND (Arduino)

四、代码实现

(一)使用 Arduino IDE 编程

// 定义 LM35 连接的模拟引脚
const int lm35Pin = A0;void setup() {// 初始化串口通信,波特率为 9600Serial.begin(9600);
}void loop() {// 读取模拟引脚的值int sensorValue = analogRead(lm35Pin);// 将模拟值转换为电压(Arduino 模拟输入范围 0 - 1023 对应 0 - 5V)float voltage = sensorValue * (5.0 / 1023.0);// 根据 LM35 特性(10mV/℃)将电压转换为温度(℃)float temperatureC = voltage / 0.01;// 打印温度值到串口监视器Serial.print("Temperature: ");Serial.print(temperatureC);Serial.println(" °C");// 延时 1 秒delay(1000);
}

(二)代码解释

  1. 变量定义
    • const int lm35Pin = A0;:定义 LM35 的输出连接到 Arduino 的 A0 模拟引脚。
  2. setup() 函数
    • Serial.begin(9600);:初始化串口通信,设置波特率为 9600,用于将温度数据发送到计算机的串口监视器。
  3. loop() 函数
    • int sensorValue = analogRead(lm35Pin);:使用 analogRead() 函数读取 A0 引脚的模拟值,范围是 0 - 1023。
    • float voltage = sensorValue * (5.0 / 1023.0);:将模拟值转换为对应的电压值,因为 Arduino 的模拟输入 0 - 1023 对应 0 - 5V。
    • float temperatureC = voltage / 0.01;:根据 LM35 输出电压与温度的线性关系(10mV/℃),将电压转换为摄氏温度。
    • Serial.print()Serial.println():将温度值输出到串口监视器。
    • delay(1000);:延时 1 秒,避免频繁读取数据。

五、应用拓展

(一)温度显示

可以将读取到的温度值通过液晶显示器(如 16x2 LCD)显示出来。结合之前学过的液晶显示器知识,在代码中添加相应的显示控制部分。

(二)温度报警

设置一个温度阈值,当测量的温度超过或低于该阈值时,触发报警装置,如点亮 LED 灯或触发蜂鸣器。

(三)数据记录

将温度数据存储到 SD 卡或通过无线模块发送到远程服务器,实现数据的长期记录和分析。

六、注意事项

  • 电源稳定:为保证测量精度,要确保给 LM35 提供稳定的 5V 电源。不稳定的电源可能导致输出电压波动,影响温度测量结果。
  • 引脚连接:连接时要仔细确认引脚对应关系,避免接错导致传感器无法正常工作。
  • 环境影响:传感器周围的环境因素,如热辐射、气流等,可能会对测量结果产生一定影响。应尽量将传感器放置在通风良好、无明显热源或冷源干扰的位置。

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

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

相关文章

Oracle常用导元数据方法

1 说明 前两天领导发邮件要求导出O库一批表和索引的ddl语句做国产化测试,涉及6个系统,6千多张表,还好涉及的用户并不多,要不然很麻烦。 如此大费周折原因,是某国产库无法做元数据迁移。。。额,只能我手动导…

【案例教程】无人机生态环境监测、图像处理与GIS数据分析综合实践技术应用

专题一、无人机航拍基本流程、航线规划与飞行实践 1.无人机行业应用概况 2.无人机遥感监测简介 3.无人机与传感器类型 4.无人机航线规划设计(谷歌地球软件的使用) 5.无人机飞行软件操作(DJI App设置实践视频) 6.无人机航拍一…

2022java面试总结,1000道(集合+JVM+并发编程+Spring+Mybatis)的Java高频面试题

1、面试题模块汇总 面试题包括以下十九个模块: Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示…

点云配准网络

【论文笔记】点云配准网络 PCRNet: Point Cloud Registration Network using PointNet Encoding 2019_pcr-net-CSDN博客 【点云配准】【深度学习】Windows11下PCRNet代码Pytorch实现与源码讲解-CSDN博客 【点云配准】【深度学习】Windows11下GCNet代码Pytorch实现与源码讲解_…

Curser2_解除机器码限制

# Curser1_无限白嫖试用次数 文末有所需工具下载地址 Cursor Device ID Changer 一个用于修改 Cursor 编辑器设备 ID 的跨平台工具集。当遇到设备 ID 锁定问题时,可用于重置设备标识。 功能特性 ✨ 支持 Windows 和 macOS 系统🔄 自动生成符合格式的…

carbon 加入 GitCode:Golang 时间处理的 “瑞士军刀”

在 Golang 的开发生态中,时间处理领域长期存在着诸多挑战。高效、精准的时间处理对于各类软件应用的稳定运行与功能拓展至关重要。近日,carbon 正式加入 GitCode,为 Golang 开发者带来一款强大且便捷的时间处理利器,助力项目开发迈…

算法学习--链表

引言:为什么进行链表的学习? 考察能力独特:链表能很好地考察应聘者对指针操作、内存管理的理解和运用能力,还能检验代码的鲁棒性,比如处理链表的插入、删除操作时对边界条件的处理。数据结构基础:链表是很多…

域名劫持原理与实践

了解域名及域名劫持 由于点分十进制的IP地址难于记忆,便出现了域名。由于网络传输中最终还是基于IP,所以必须通过一种机制将IP和域名一一对应起来,这便是DNS。全球总共有13台根域名服务器。 域名劫持是互联网攻击中常见的一种攻击方式&…

【论文翻译】DeepSeek-V3论文翻译——DeepSeek-V3 Technical Report——第二部分:(训练硬件)基础设施

论文原文链接:DeepSeek-V3/DeepSeek_V3.pdf at main deepseek-ai/DeepSeek-V3 GitHub 特别声明,本文不做任何商业用途,仅作为个人学习相关论文的翻译记录。本文对原文内容直译,一切以论文原文内容为准,对原文作者表示…

动起来的选择:快走还是慢跑?

文章目录 快走的基础认知慢跑的基础认知运动强度剖析能量消耗对比身体锻炼效果 快走的基础认知 定义 快走(Brisk Walking)是一种介于普通行走与跑步之间的有氧运动形式,强调通过加快步频和优化步伐效率来提升运动强度,同时保持双脚…

MapReduce到底是个啥?

在聊 MapReduce 之前不妨先看个例子:假设某短视频平台日活用户大约在7000万左右,若平均每一个用户产生3条行为日志:点赞、转发、收藏;这样就是两亿条行为日志,再假设每条日志大小为100个字节,那么一天就会产…

Error: llama runner process has terminated: exit status 0xc0000409 问题解决办法

在大模型部署过程中,格式转换环节若使用了高版本的 llama.cpp 库,而系统当前运行的版本较低,就会出现版本不兼容的情况。 这种不匹配会阻碍模型的正常运行,进而导致报错。建议你密切关注模型所需的版本要求,及时将系统…

代码随想录-训练营-day20

今天我们继续回溯: 39. 组合总和 - 力扣(LeetCode) 这个题和我们之前的组合题相比,最大的区别在于我们可以无限次的重复取用某值了,这就让我们的递归参数与之前不同,除此之外,本质上这个题与21…

寒假集训思维训练5题解

A - Full House 2 简单来说就是判断题&#xff0c;可以用讨论&#xff0c;也可以用数组来统计再枚举 #include<bits/stdc.h> using namespace std; int vis[20]; int main() {int x;for(int i1;i<4;i){cin>>x;vis[x];}//3 2 - > 3 1 2 2fo…

ubuntu 本地部署deepseek r1 蒸馏模型

本文中的文件路径或网络代理需要根据自身环境自行删改 一、交互式chat页面 1.1 open-webui 交互窗口部署&#xff1a;基于docker安装&#xff0c;且支持联网搜索 Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台&#xff0c;旨在完全离线操作。它支持各种 LLM…

数据库 绪论

目录 数据库基本概念 一.基本概念 1.信息 2.数据 3.数据库&#xff08;DB&#xff09; 4.数据库管理系统&#xff08;DBMS&#xff09; 5.数据库系统&#xff08;DBS&#xff09; 二.数据管理技术的发展 1.人工管理阶段 2.文件系统阶段 3.数据库系统阶段 4.数据库管…

HTML5 新特性有哪些?

HTML5 引入了许多新特性&#xff0c;主要包括以下几类&#xff1a; 语义化标签&#xff1a;如 <header>、<nav>、<article>、<section>、<aside>、<footer> 等&#xff0c;使代码结构更清晰&#xff0c;利于搜索引擎优化和代码维护。表单…

微软编程之C#如何学习,C#学习路线:从入门到精通

引言 C# 是一种由微软开发的面向对象编程语言&#xff0c;广泛应用于 Windows 应用程序开发、游戏开发&#xff08;Unity&#xff09;、Web 开发&#xff08;ASP.NET&#xff09;等领域。对于初学者来说&#xff0c;掌握 C# 不仅能够打开编程世界的大门&#xff0c;还能为未来…

数据中台是什么?:架构演进、业务整合、方向演进

文章目录 1. 引言2. 数据中台的概念与沿革2.1 概念定义2.2 历史沿革 3. 数据中台的架构组成与关键技术要素解析3.1 架构组成3.2 关键技术要素 4. 数据中台与其他平台的对比详细解析 5. 综合案例&#xff1a;金融行业数据中台落地实践5.1 背景5.2 解决方案5.3 成果与价值 6. 方向…

【DeepSeek】DeepSeek概述 | 本地部署deepseek

目录 1 -> 概述 1.1 -> 技术特点 1.2 -> 模型发布 1.3 -> 应用领域 1.4 -> 优势与影响 2 -> 本地部署 2.1 -> 安装ollama 2.2 -> 部署deepseek-r1模型 1 -> 概述 DeepSeek是由中国的深度求索公司开发的一系列人工智能模型&#xff0c;以其…