当前位置: 首页 > article >正文

别再死记硬背时序了!用Arduino+DS18B20,5分钟搞定温度监测(附完整代码)

用ArduinoDS18B20快速搭建温度监测系统在创客和物联网项目中温度监测是最基础也最常用的功能之一。传统单片机教程往往要求学习者从底层时序开始啃起这对于初学者来说无异于一道高墙。而今天我要分享的方法将让你在5分钟内完成从硬件连接到温度读取的全过程——借助Arduino生态的便利性我们完全不必深究复杂的单总线协议细节。1. 为什么选择Arduino库方案对于刚接触硬件的开发者而言直接操作DS18B20的底层时序会遇到几个典型痛点时序精度要求苛刻单总线协议对微秒级延时极其敏感稍有偏差就会导致通信失败代码复杂度高需要编写初始化、位发送/接收、字节发送/接收等多层嵌套函数调试困难没有可视化的调试手段只能通过逻辑分析仪抓取波形Arduino生态提供了现成的解决方案#include OneWire.h #include DallasTemperature.h这两个库已经封装了所有底层操作我们只需要关注业务逻辑。下表对比了两种实现方式的差异实现方式代码量开发时间维护成本学习曲线裸机时序200行2小时高陡峭Arduino库30行5分钟低平缓提示对于需要精确控制硬件的场景仍然建议学习底层协议。但对于快速原型开发库方案是更优选择。2. 硬件准备与库安装2.1 所需材料清单Arduino开发板UNO/Nano皆可DS18B20温度传感器TO-92封装4.7kΩ上拉电阻面包板及连接线接线示意图DS18B20引脚说明 1. GND - Arduino GND 2. DQ - Arduino D2 4.7kΩ上拉到VCC 3. VCC - Arduino 5V2.2 库安装步骤打开Arduino IDE点击工具-管理库搜索OneWire并安装搜索DallasTemperature并安装常见问题如果库安装失败可以尝试在GitHub下载zip包通过项目-加载库-添加.ZIP库手动安装。3. 三步实现温度读取3.1 基础代码框架// 引入所需库 #include OneWire.h #include DallasTemperature.h // 定义数据引脚 #define ONE_WIRE_BUS 2 // 初始化单总线实例 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(oneWire); void setup() { Serial.begin(9600); sensors.begin(); // 启动传感器 } void loop() { // 温度读取逻辑将放在这里 }3.2 完整温度读取实现在loop()函数中添加sensors.requestTemperatures(); // 发送温度转换请求 float tempC sensors.getTempCByIndex(0); // 获取第一个传感器的温度值 Serial.print(Temperature: ); Serial.print(tempC); Serial.println( °C); delay(1000); // 每秒读取一次3.3 多传感器支持当总线上挂载多个DS18B20时可以通过索引访问// 获取总线上传感器数量 int deviceCount sensors.getDeviceCount(); for(int i0; ideviceCount; i) { float temp sensors.getTempCByIndex(i); Serial.print(Sensor ); Serial.print(i); Serial.print(: ); Serial.println(temp); }4. 进阶应用与性能优化4.1 温度数据可视化将数据输出到OLED屏幕#include Adafruit_SSD1306.h // 初始化OLED(128x64) Adafruit_SSD1306 display(128, 64, Wire, -1); void setup() { display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); } void loop() { float temp sensors.getTempCByIndex(0); display.clearDisplay(); display.setTextSize(2); display.setCursor(0,0); display.print(Temp:); display.setCursor(0,30); display.print(temp); display.print( C); display.display(); delay(1000); }4.2 精度设置技巧DS18B20支持9-12位分辨率设置// 在setup()中添加 sensors.setResolution(12); // 最高精度(默认) // 可选值9,10,11,12 // 获取当前分辨率 Serial.print(Resolution: ); Serial.println(sensors.getResolution());不同分辨率下的转换时间对比分辨率转换时间温度增量9位93.75ms0.5°C10位187.5ms0.25°C11位375ms0.125°C12位750ms0.0625°C4.3 异常处理机制在实际应用中需要添加错误检查float temp sensors.getTempCByIndex(0); if(temp DEVICE_DISCONNECTED_C) { Serial.println(Error: Sensor not connected); return; }5. 常见问题解决方案5.1 传感器无响应排查检查接线是否正确特别注意上拉电阻确认电源电压稳定(4.0-5.5V)尝试更换数据引脚检查传感器是否损坏可测量VCC与GND间电阻5.2 精度优化技巧避免长距离布线建议20米使用屏蔽线缆减少干扰在噪声环境中可降低总线速度#define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS, true); // 第二个参数启用低速模式5.3 低功耗设计对于电池供电场景void setup() { sensors.begin(); sensors.setWaitForConversion(false); // 启用非阻塞模式 } void loop() { sensors.requestTemperatures(); delay(750); // 12位分辨率需要750ms转换时间 float temp sensors.getTempCByIndex(0); // 读取后进入深度睡眠 ESP.deepSleep(60e6); // 睡眠60秒 }通过实际项目验证这套方案在智能温室、设备监控等场景中表现稳定。我曾在一个农业物联网项目中部署了30个这样的节点连续运行6个月无故障。

相关文章:

别再死记硬背时序了!用Arduino+DS18B20,5分钟搞定温度监测(附完整代码)

用ArduinoDS18B20快速搭建温度监测系统 在创客和物联网项目中,温度监测是最基础也最常用的功能之一。传统单片机教程往往要求学习者从底层时序开始啃起,这对于初学者来说无异于一道高墙。而今天我要分享的方法,将让你在5分钟内完成从硬件连接…...

MedGemma-1.5-4B多模态对齐效果:影像区域定位与对应文本描述精准匹配示例

MedGemma-1.5-4B多模态对齐效果:影像区域定位与对应文本描述精准匹配示例 1. 引言:当AI“看懂”医学影像 想象一下,你是一位医学研究者,面对一张复杂的胸部X光片,你想知道:“图像中左肺上叶的阴影是什么&…...

Mask2Former性能对比分析:R50到Swin-L各主干网络的优劣选择

Mask2Former性能对比分析:R50到Swin-L各主干网络的优劣选择 【免费下载链接】Mask2Former Code release for "Masked-attention Mask Transformer for Universal Image Segmentation" 项目地址: https://gitcode.com/gh_mirrors/ma/Mask2Former Ma…...

从零开始:用Chipyard和FireSim在云端FPGA上仿真你的第一个RISC-V SoC

从零开始:用Chipyard和FireSim在云端FPGA上仿真你的第一个RISC-V SoC 在数字时代,RISC-V架构以其开放性和灵活性正在重塑计算领域。对于渴望探索SoC设计的开发者而言,云端FPGA资源与开源工具链的结合,彻底打破了硬件开发的高门槛。…...

SenseVoice语音识别模型在Windows/Linux双平台部署全攻略(附SpringBoot API封装技巧)

SenseVoice语音识别模型在Windows/Linux双平台部署全攻略(附SpringBoot API封装技巧) 语音识别技术正加速渗透企业级应用场景,从智能客服到会议纪要自动化,SenseVoice作为开箱即用的高精度模型,其跨平台兼容性尤为突出…...

为什么选择Practical Modern JavaScript:探索ES6未来发展方向

为什么选择Practical Modern JavaScript:探索ES6未来发展方向 【免费下载链接】practical-modern-javascript 🏊 Dive into ES6 and the future of JavaScript 项目地址: https://gitcode.com/gh_mirrors/pr/practical-modern-javascript Practic…...

如何生成USearch API文档的PDF手册:快速创建可打印版本指南

如何生成USearch API文档的PDF手册:快速创建可打印版本指南 【免费下载链接】usearch Fastest Open-Source Search & Clustering engine for Vectors & 🔜 Strings in C, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang,…...

基于模拟退火算法优化的最小二乘支持向量机(SA-LSSVM)数据分类预测及Matlab代码实现...

基于模拟退火算法优化最小二乘支持向量机(SA-LSSVM)的数据分类预测 SA-LSSVM数据分类 matlab代码,采用交叉验证抑制过拟合问题注:采用交叉验证在一定程度上抑制了过拟合问题。 注:要求 Matlab 2018B 版本及以上最近在搞分类预测的项目&#x…...

老旧Mac重获新生:OpenCore Legacy Patcher如何突破苹果硬件限制

老旧Mac重获新生:OpenCore Legacy Patcher如何突破苹果硬件限制 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你的Mac因官方不再支持而无法更新系统&#…...

乙巳马年春联生成终端参数详解:长文本生成稳定性保障机制

乙巳马年春联生成终端参数详解:长文本生成稳定性保障机制 1. 引言:当传统春联遇见现代AI 每到新年,家家户户贴春联是传承千年的习俗。一副好春联,不仅要对仗工整、平仄协调,更要蕴含美好的寓意。但创作一副原创的、有…...

AI大模型进化地图:小白也能看懂的技术架构与未来趋势(收藏版)

本文深入剖析AI模型的技术架构、能力瓶颈及商业压力,揭示未来AI模型的四类形态:通用基础大模型、深度推理模型、边缘轻量模型和垂直领域专业模型。文章通过DeepSeek-R1和Google Gemini的案例,量化分析不同模型类型的业务逻辑差异,…...

从卡顿到流畅:Win11Debloat开源工具3步解决Windows系统优化难题

从卡顿到流畅:Win11Debloat开源工具3步解决Windows系统优化难题 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改…...

遥感影像处理避坑指南:为什么你的SHP裁剪总失败?ArcMap与ENVI协作全解析

遥感影像裁剪实战避坑手册:从坐标系校准到多工具协同 当你在深夜盯着屏幕上那个扭曲变形的裁剪结果时,是否曾怀疑过人生?遥感影像的矢量裁剪看似简单,实则暗藏玄机。本文将带你深入剖析那些教科书上不会告诉你的实战细节&#xff…...

收藏!程序员转型AI大模型应用开发,必学四大核心技能(小白友好版)

当下AI大模型风口持续爆发,越来越多程序员想抓住机遇转型入局,但大多陷入“盲目跟风、无从下手、学了没用”的困境——其实,转型AI大模型应用开发无需急于求成,不用追求“面面俱到”,先吃透核心技能,搭建完…...

LFM2.5-1.2B-Thinking-GGUF部署教程:解决‘返回为空’问题的max_tokens调优策略

LFM2.5-1.2B-Thinking-GGUF部署教程:解决返回为空问题的max_tokens调优策略 1. 模型简介与部署准备 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型,特别适合在资源有限的环境中快速部署使用。这个模型采用GGUF格式和llama.cpp运行时&…...

打造沉浸式音乐体验:Apple Music-Like Lyrics 全栈技术指南

打造沉浸式音乐体验:Apple Music-Like Lyrics 全栈技术指南 【免费下载链接】applemusic-like-lyrics 一个基于 Web 技术制作的类 Apple Music 歌词显示组件库,同时支持 DOM 原生、React 和 Vue 绑定。 项目地址: https://gitcode.com/gh_mirrors/ap/a…...

造相-Z-Image实战手册:基于Z-Image的AIGC版权合规提示词生成规范

造相-Z-Image实战手册:基于Z-Image的AIGC版权合规提示词生成规范 1. 项目概述与核心价值 造相-Z-Image是一款专为RTX 4090显卡优化的本地化文生图系统,基于通义千问官方Z-Image模型构建。这个项目最大的特点是将强大的AI图像生成能力带到了个人电脑上&…...

QWEN-AUDIO开箱即用指南:无需conda/pip,纯Docker镜像启动

QWEN-AUDIO开箱即用指南:无需conda/pip,纯Docker镜像启动 想体验一下“有温度”的AI语音合成吗?以前你可能需要折腾Python环境、安装各种依赖、处理版本冲突,光是配置环境就能劝退一大半人。今天,我要分享一个完全不同…...

MODSERIAL:嵌入式UART高可靠缓冲与事件驱动库

1. MODSERIAL:面向嵌入式实时系统的高可靠性串行通信缓冲库MODSERIAL 是一个专为 ARM Cortex-M 系列微控制器(尤其是基于 mbed OS 和 STM32 HAL 生态)设计的轻量级、中断安全、线程安全的串行通信增强库。其核心目标并非替代标准 HAL_UART 或…...

3步实现Zotero SciPDF插件:科研文献PDF自动下载的终极解决方案

3步实现Zotero SciPDF插件:科研文献PDF自动下载的终极解决方案 【免费下载链接】zotero-scipdf Download PDF from Sci-Hub automatically For Zotero7 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-scipdf 还在为学术文献PDF获取困难而烦恼吗&#…...

别再手动画点阵了!用PCtoLCD2002搞定LCD/OLED汉字显示,附STM32移植代码

嵌入式开发实战:PCtoLCD2002字模生成与STM32显示全链路解析 在嵌入式设备上实现中文显示一直是开发者面临的经典难题。传统的手动绘制点阵方式不仅效率低下,而且难以保证显示效果的一致性。本文将深入探讨如何利用PCtoLCD2002工具链,从字模生…...

在供应链与资本获取驱动下,近半数全球高管计划于未来12个月内拓展美国业务布局

• 45%的企业高层管理人员计划在未来12个月内设立美国法律实体;另有27%表示将在未来两至三年内考虑进入美国市场 • 65%的受访者将供应链或制造效率视为推动赴美扩张的首要驱动因素 • 88%的企业将联邦及州层面的税务申报认定为美国合规中最具挑战性的领域 CSC最新研…...

Contriever论文精读:手把手拆解对比学习与MoCo如何‘炼成’通用文本嵌入

Contriever技术解析:对比学习与MoCo如何重塑文本嵌入模型 在自然语言处理领域,文本嵌入模型一直是核心基础技术之一。传统的有监督训练方法虽然在某些特定领域表现出色,但当面临跨领域应用时,其性能往往大幅下降。Facebook Resear…...

Fish Speech-1.5镜像资源管理:模型热更新与多版本共存部署方案

Fish Speech-1.5镜像资源管理:模型热更新与多版本共存部署方案 1. 引言:语音合成的新选择 想象一下,你需要为产品演示视频添加多语言配音,或者为在线课程制作不同语言的语音内容。传统方法要么成本高昂,要么效果生硬…...

Stable Diffusion工作流升级:Pixel Fashion Atelier预设Prompt库详解

Stable Diffusion工作流升级:Pixel Fashion Atelier预设Prompt库详解 1. 项目概述 像素时装锻造坊(Pixel Fashion Atelier)是一款基于Stable Diffusion与Anything-v5模型的图像生成工作站。这个创新工具将复古日系RPG的视觉风格与现代AI图像…...

GPEN快速上手教程:手机自拍模糊修复,30秒获取高清证件照

GPEN快速上手教程:手机自拍模糊修复,30秒获取高清证件照 你是不是也遇到过这种情况:急着要用证件照,翻遍手机相册却发现每张自拍都模糊不清?要么是光线太暗,要么是手抖拍糊了,要么就是像素太低…...

Z-Image-GGUF开发者案例:集成至内部CMS系统,支持运营人员一键生成Banner

Z-Image-GGUF开发者案例:集成至内部CMS系统,支持运营人员一键生成Banner 1. 项目背景与挑战 想象一下这个场景:你是一家电商公司的运营人员,明天就是“618”大促了,你需要为50个不同的商品制作Banner图。设计团队已经…...

Nunchaku FLUX.1 CustomV3镜像免配置:预装ComfyUI+Custom Workflow+LoRA权重一体化方案

Nunchaku FLUX.1 CustomV3镜像免配置:预装ComfyUICustom WorkflowLoRA权重一体化方案 想体验最新的AI绘画模型,但被复杂的安装、配置和模型下载劝退?今天给大家介绍一个“开箱即用”的终极方案——Nunchaku FLUX.1 CustomV3镜像。它把文生图…...

DeEAR语音情感三维建模:如何用DeEAR输出可量化的Arousal-Nature-Prosody指标

DeEAR语音情感三维建模:如何用DeEAR输出可量化的Arousal-Nature-Prosody指标 1. 语音情感分析的新维度 传统语音情感识别系统通常只能识别"喜怒哀乐"等基础情绪,而DeEAR(Deep Emotional Expressiveness Recognition)系统通过wav2vec2深度学习…...

别再试图让 Agent 适应你的代码库,而是让代码库和流程适应 Agent。AI Coding Agent 时代,工程师不再是“码农”?Harness Engineering 实战 playbook

AI Coding Agent 时代,工程师不再是“码农”?Harness Engineering 实战 playbook 最近刷到 OpenAI 内部大动作:Greg Brockman 发帖说,他们工程师的工作从去年 12 月开始彻底变了。以前用 Codex 写单元测试,现在 Agent…...