ds18b20 树莓派3B+
时间: 2025-05-26 22:22:26 浏览: 16
### 配置和使用 DS18B20 温度传感器
要在树莓派 3B+ 上成功配置和使用 DS18B20 温度传感器,需要完成硬件接线、系统设置以及编写 Python 示例代码。
#### 硬件接线
DS18B20 是一种单总线数字温度传感器,其引脚定义如下:
- **VDD**: 连接到树莓派的 3.3V 引脚。
- **GND**: 连接到树莓派的地 (GND) 引脚。
- **DQ**: 数据引脚,连接到 GPIO4(物理针脚第 7),并通过一个 4.7kΩ 的上拉电阻连接到 VDD[^2]。
#### 启用 One-Wire 接口
为了使树莓派识别 DS18B20,需启用 One-Wire 接口:
1. 打开终端并运行 `sudo raspi-config`。
2. 导航至 “Interfacing Options”,选择 “One-Wire” 并启用该选项。
3. 完成后重启树莓派:`sudo reboot`。
#### 查看设备文件夹
启动完成后,在 `/sys/bus/w1/devices/` 下会生成以 `28-` 开头的目录。这些目录对应已连接的 DS18B20 设备。可以通过以下命令查看:
```bash
ls /sys/bus/w1/devices/
```
如果只有一个 DS18B20 连接,通常会出现类似于 `28-00000cb51493` 的条目[^2]。
#### 示例代码
以下是基于 Python 实现的 DS18B20 温度读取代码:
```python
from w1thermsensor import W1ThermSensor
sensor = W1ThermSensor(W1ThermSensor.THERM_SENSOR_DS18B20, "00000cb51493") # 替换为实际 ID
temp_celsius = sensor.get_temperature()
print(f"Temperature: {temp_celsius:.2f}°C")
```
此代码依赖于 `w1thermsensor` 库。若尚未安装,请先执行以下命令:
```bash
pip install w1thermsensor
```
对于多个 DS18B20 传感器的情况,可遍历所有可用设备并分别读取它们的温度值[^2]:
```python
from w1thermsensor import W1ThermSensor
sensors = W1ThermSensor.get_available_sensors([W1ThermSensor.THERM_SENSOR_DS18B20])
for i, sensor in enumerate(sensors):
temp = sensor.get_temperature()
print(f"Sensor {i}: Temperature is {temp:.2f}°C")
```
以上方法允许同时管理多个 DS18B20 传感器,并逐一打印各自的温度测量结果。
---
阅读全文
相关推荐


















