
基于Arduino的ESP32-S3 +DS18B20(3pin)
发布日期:2025-03-28 00:43:11
浏览次数:8
分类:精选文章
本文共 3597 字,大约阅读时间需要 11 分钟。
文章写完后,目录可以自动生成,可以参考右边的帮助文档。
文章目录
前言
DS18B20作为经典的单总线数字温度传感器,因其独特的单线通信和多点组网能力,在物联网领域得到了广泛应用。本文以ESP32-S3-DevKitC-1为核心开发板,详细介绍了从硬件连接到代码实现的完整测温方案,并提供了OLED屏幕扩展方案。相比传统模拟传感器,DS18B20具有更强的抗干扰能力,提升了接收信号的稳定性。
一、硬件准备
1.1 器件对比
1.2 接线方案
接线示意:
VCC - 3.3V / 5V
DQ - GPIO6(需4.7K上拉电阻) GND - GND 图片描述:(查看图片描述)二、驱动实现
2.1 开发环境配置
添加库文件: - OneWire库(支持单总线协议) - DallasTemperature库(高级温度控制)
2.2 核心代码解析
代码如下:
```cpp #include#include #define DSB_PIN 6 OneWire oneWire(DSB_PIN); DallasTemperature sensors(&oneWire); void setup() { Serial.begin(9600); sensors.begin(); sensors.setResolution(12); } void loop() { sensors.requestTemperatures(); float temp = sensors.getTempCByIndex(0); if(temp != DEVICE_DISCONNECTED_C) { Serial.print("温度:"); Serial.print(temp); Serial.println("℃"); } delay(1000); } ``` 关键函数说明:
- `sensors.begin()`:初始化单总线设备,自动检测连接数量 - `setResolution(9~12)`:调节测量精度 - `getTempCByIndex(n)`:获取第n个传感器的摄氏温度三、拓展应用
3.1 OLED屏显集成
#include#include #define SDA 47 #define SCL 21 SH1106Wire display(0x3c, SDA, SCL); void oledbegin(); void displaysensor(); void displayTemp(); void setup() { Serial.begin(9600); oledbegin(); } void loop() { displaysensor(); displayTemp(); } void oledbegin() { if(!display.init()) { Serial.println("OLED init failed"); while(1) delay(100); } display.flipScreenVertically(); display.clear(); display.setFont(ArialMT_Plain_10); } void displaysensor() { display.drawString(0, 0, "Hello World"); display.drawString(0, 10, "oled"); display.drawString(0, 20, "电磁阀"); display.display(); } void displayTemp() { float temp = 0.0; display.drawString(0, 20, String(temp)+"℃"); display.display(); } 3.2 多点测温方案
void checkDevices() { int count = sensors.getDeviceCount(); Serial.print("发现"); Serial.print(count); Serial.println("个传感器"); for(int i=0; i四、常见问题排查
总结
本文通过验证了《基于Arduino的ESP32-S3-DevKitC-1对DS18B20传感器的驱动》,完整展示了从硬件接线到软件实现的全流程...
发表评论
最新留言
很好
[***.229.124.182]2025年04月11日 21时29分36秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Hyper-V系列:windows11开启系统自带安卓虚拟机并安装apk包
2023-01-23
Hyper-V系列:微软官方文章
2023-01-23
idea打war包的两种方式
2023-01-23
Java系列:【注释模板】IDEA中JAVA类、方法注释模板教程
2023-01-23
Kali 更换源(超详细,附国内优质镜像源地址)
2023-01-23