← 返回主页

🌡️ 土壤温度传感器预览

🔌 串口通信

未连接
Ctrl+C 暂停 | Ctrl+D 启动
🌡️

土壤温度

-- °C
等待数据...
🌡️
DS18B20 土壤温度传感器
单总线数字温度传感器
DS18B20是一款高精度的单总线数字温度传感器,具有防水设计,特别适用于土壤温度监测。 该传感器采用独特的单总线接口,仅需一根数据线即可实现通信,具有测量精度高、 稳定性好、抗干扰能力强等特点,广泛应用于农业物联网和环境监测系统。
💻
源代码
土壤温度传感器.py
1
import pyb #导入板载库
2
import onewire #导入onewire单总线库
3
from pyb import Pin #导入管脚
4
5
wd=onewire.OneWire(Pin('Y10')) #定义温度传感器的引脚为Y10
6
7
def DS18X20(): #定义一个函数使用onewire库获取ds18b20温度传感器的温度
8
    wd.reset()
9
    wd.writebyte(0xCC)
10
    wd.writebyte(0x44)
11
    wd.reset()
12
    wd.writebyte(0xCC)
13
    wd.writebyte(0xBE)
14
    d1=wd.readbyte()
15
    d2=wd.readbyte()
16
    return (d1+d2*256)/16
17
18
while True: #不断循环
19
    twd=DS18X20() #将函数接收到温度赋给twd变量
20
    print(twd) #打印温度
21
    pyb.delay(1000) #延时1秒进行
📊
技术规格
🔌 通信接口
单总线
采用1-Wire单总线协议,仅需一根数据线即可通信
📏 测量范围
-55°C ~ +125°C
宽温度测量范围,适用于各种环境条件
⚡ 工作电压
3.0V - 5.5V
宽电压供电范围,兼容性强
🎯 精度
±0.5°C
高精度温度测量,满足精密监测需求
🔗 引脚连接
Y10
连接到TPYBoard的Y10数字引脚
⏱️ 转换时间
750ms
12位分辨率下的温度转换时间
📊 通信日志
📜 行数: 0
📖
使用说明
1
硬件连接
将DS18B20的VDD连接到3.3V电源,GND连接到地线,DQ数据线连接到Y10引脚,并在DQ和VDD之间连接4.7kΩ上拉电阻。
2
导入库文件
导入pyb板载库和onewire单总线库,这些库提供了与DS18B20传感器通信的底层接口。
3
初始化单总线
创建OneWire对象并指定数据引脚(Y10),建立与DS18B20传感器的通信连接。
4
温度读取函数
DS18X20()函数实现了完整的温度读取流程:复位总线、发送转换命令、读取温度数据并进行格式转换。
5
数据处理
读取两个字节的温度数据,通过公式(d1+d2*256)/16计算得到实际温度值,单位为摄氏度。
6
命令说明
0xCC为跳过ROM命令,0x44为启动温度转换命令,0xBE为读取暂存器命令,这些是DS18B20的标准操作指令。