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

ESP32—C3实现DS18B20(温度传感器)检测温度(Arduino IED )

1源代码(DS18B20)

#include <OneWire.h> // 引入OneWire库,用于与单总线设备通信
#include <DallasTemperature.h> // 引入DallasTemperature库,用于读取DS18B20温度传感器数据// 定义连接到DS18B20数据引脚的GPIO编号
#define ONE_WIRE_BUS 2 // 创建一个OneWire实例,用于与单总线设备通信
OneWire oneWire(ONE_WIRE_BUS);// 创建一个DallasTemperature传感器实例,并将oneWire实例传递给它
DallasTemperature sensors(&oneWire);void setup(void) {// 初始化串口通信,并设置波特率为115200,用于调试信息输出Serial.begin(115200); // 启动传感器,准备进行温度读取sensors.begin(); 
}void loop(void) {// 向DS18B20传感器发送温度读取命令sensors.requestTemperatures(); // 通过索引0读取第一个连接的DS18B20传感器的温度值,单位为摄氏度float temperature = sensors.getTempCByIndex(0); // 通过串口输出温度信息,首先输出字符串"温度: "Serial.print("温度: ");// 输出读取到的温度值,并通过println换行Serial.println(temperature); // 程序暂停1000毫秒,即等待一秒后再次读取温度delay(1000); 
}

2讲解

添加两个库

3具体实现

以下是库实现的一些关键步骤:

  1. 初始化:库通过调用begin()方法初始化,设置1-Wire总线的GPIO引脚。

  2. 设备搜索:使用OneWire库的搜索功能来查找连接到总线上的所有设备。

  3. 发送命令:库通过1-Wire协议发送命令,如开始温度转换的命令。

  4. 数据读取:库通过1-Wire协议读取设备发送的数据。

  5. 数据处理:库处理原始数据,计算实际温度值。

  6. 错误处理:库检查通信错误和数据一致性,确保读取的温度值是准确的。

 

http://www.lryc.cn/news/458748.html

相关文章:

  • Linux系统中安装KenLM步骤及注意事项
  • xss-labs靶场第六关测试报告
  • 传智杯 第六届—E
  • 2024.10月12日--- SpringMVC异常处理
  • 边缘人工智能(Edge Intelligence)
  • C++20主要特性
  • IterComp: 从模型图库中迭代合成感知反馈学习,用于文本到图像的生成
  • 6.Python 函数进阶(函数多返回值、函数多种传参方式、匿名函数)
  • 视频汇聚平台EasyCVR支持云端录像丨监控存储丨录像回看丨录像计划丨录像配置
  • 【Spring】获取 Cookie和Session
  • MyBatis-Plus 的核心插件及其使用介绍
  • 雷池社区版本SYSlog使用教程
  • Leetcode 下一个排列
  • WPF中的布局
  • 【Spring】Spring和SpringMVC为什么需要父子容器
  • Origin制图——双轴线图实现
  • 【算法系列-哈希表】两个集合的交集问题
  • linux 效率化 - zsh + tmux
  • Python学习-函数
  • 点评项目-4-隐藏敏感信息、使用 redis 优化登录业务
  • Redis异步实现解析
  • matlab 相关
  • 从组会尴尬到学术突破:Transformer助力跨域推荐解析
  • 【Flutter、H5、Web?前端个人总结】分享从业经历经验、自我规范准则,纯干货
  • mysql主从配置
  • sklearn pipeline
  • springboot实现服务注册与发现
  • 美格智能亮相2024中国移动全球合作伙伴大会,共赢AI+时代
  • 【LeetCode】动态规划—309. 买卖股票的最佳时机含冷冻期(附完整Python/C++代码)
  • IDE启动失败