基于Arduino Uno的简易温度监测系统制作教程
创作时间:
作者:
@小白创作中心
基于Arduino Uno的简易温度监测系统制作教程
引用
CSDN
1.
https://m.blog.csdn.net/fjhcom/article/details/145786046
本文介绍了一种基于Arduino Uno、LCD1602显示屏和DS18B20温度传感器的简易温度监测系统。通过简单的硬件连接和编程,可以实现温度的实时显示。
硬件连接
- LCD1602显示屏:只需连接4个数据线即可(RS、E、D4、D5)
- DS18B20温度传感器:通过单总线协议连接到Arduino的数字引脚13
系统实物图如下:
软件代码
以下是完整的Arduino代码,可以直接通过Arduino IDE上传到开发板:
// 包含LCD显示库、单总线通信库、温度传感器库
#include <LiquidCrystal.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// 配置LCD引脚:RS=12, E=11, D4=7, D5=8, D6=9, D7=10
LiquidCrystal lcd(12, 11, 7, 8, 9, 10);
// 温度传感器数据线连接数字引脚13
#define ONE_WIRE_BUS 13
// 初始化单总线协议实例
OneWire oneWire(ONE_WIRE_BUS);
// 将单总线协议传递给传感器库
DallasTemperature sensors(&oneWire);
void setup() {
// 初始化LCD为16列2行格式
lcd.begin(16, 2);
// 启动温度传感器
sensors.begin();
// 设置传感器分辨率(9-12位,越高精度越慢)
sensors.setResolution(12);
// 显示初始温度标签
lcd.print("Temp: ");
}
void loop() {
// 发送温度采集请求(触发所有传感器测量)
sensors.requestTemperatures();
// 获取第一个传感器的摄氏温度值
float temp = sensors.getTempCByIndex(0);
// 设置光标到("Temp: "后面)
lcd.setCursor(6, 0);
// 显示温度值并保留两位小数
lcd.print(temp, 2);
// 显示摄氏度符号
lcd.write(0xDF); // 特殊字符°
lcd.print("C");
// 延时1秒后更新数据
delay(1000);
}
代码说明
- 库文件包含:使用了LiquidCrystal、OneWire和DallasTemperature三个库文件
- 引脚配置:LCD的控制引脚和温度传感器的数据引脚配置
- setup()函数:初始化LCD和温度传感器,设置传感器分辨率
- loop()函数:循环读取温度数据并在LCD上显示
这个项目非常适合Arduino初学者,通过简单的硬件连接和代码编写,就能实现一个实用的温度监测系统。
热门推荐
危险!国家卫健委紧急提醒:土拨鼠也能传播鼠疫
什么是柔性输电技术?
首个非激素男性避孕药获里程碑突破:已开展人体临床试验
正念呼吸法四大步骤详解:5分钟掌握减压技巧,提升身心健康
信用卡账单日修改后免息期会改变吗?
恶心、呕吐就用甲氧氯普胺?以下 6 种情况千万不能用!
铲屎官把快递搬回家,猫咪秒变安检员,你家也有同款嗅觉特工吗?
建设高标准农田:6个创新技术你必须知道
科普 | 查不出问题的头晕,或可归因于PPPD
新高考45个志愿要填满吗?冲稳保比例怎么安排?
制冷铜管焊接技术详解
饮食指南:猪肉对身体有害吗?
流鼻血是什么原因导致的
武则天的故乡:探寻千古女皇的成长之路
隋唐洛阳城:探秘女皇武则天的明堂与天堂
宋朝传统版《百家姓》,第187名,“左姓”的起源和历史,你知道吗
中国哪里看日出最美?中国最佳看日出的十个地方
这场招聘会火了!中山企业现场收到近2100份简历丨百万英才汇南粤
外媒预测2030年中国海军实力:4艘航母16艘055
《史记》之谜:探寻《汉武帝本纪》的“遗失”
生辰八字测算次数,科学看待预测准确性-完整解析
数显百分表正负反了怎么调?使用与校准技巧
九紫离火运下2025年的个人启示:洞察流年影响
定了!人民大学通州校区9月启用,作为主校区!28个系及研究生搬迁通州!
车贷不还怎么办?民事纠纷处理与法律风险解析
如何判断塑料料性并选择合适的材料?这种塑料料性的判断标准有哪些?
股票市场的头部形态如何识别?这种形态对投资策略有什么影响?
家庭自制环保清洁剂配方大全
新手必看!养狗秘籍大公开,轻松搞定汪星人
手机看电视每小时流量消耗大概多少?