实验十:DS18B20温度传感器实验
来自丢石头百科
Arduino
实验现象
- 串口打印出检测的温度值。
电路连接
DS18B20传感器模块 Arduino UNO R3 VCC 5V OUT D2 GND GND
安装库
主要程序
#include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); void setup(void) { Serial.begin(9600); Serial.println("Dallas Temperature IC Control Library Demo"); sensors.begin(); } void loop(void) { Serial.print(" Requesting temperatures..."); sensors.requestTemperatures(); Serial.println("DONE"); Serial.print("Temperature for Device 1 is: "); Serial.print(sensors.getTempCByIndex(0)); delay(500); }
树莓派
电路连接
DS18B20模块 Raspberrypi BCM编号 物理引脚序号 VCC 3.3V 3.3V OUT GPIO4 7 GND GND GND
程序运行
Python
- 安装gpiozero库
- 可以使下面命令来安装该库
sudo apt update sudo apt install python3-gpiozero
- 其它树莓派上的系统可以使下面命令来安装该库:
sudo pip3 install gpiozero
- 运行以下语句可以查看树莓派GPIO口定义
pinout
- 相关配置
- 打开 1-Wire总线
sudo raspi-config 选择Interfaces oOptions -> 1-Wire -> Would you like the one-wire interface to be enabled?选择Yes -> “The one-wire interface is enabled” 选择Yes -> 选择finish
- 重启树莓派系统
sudo reboot
- 安装设备驱动程序并确认设备是否有效
sudo modprobe w1-gpio sudo modprobe w1-therm cd /sys/bus/w1/devices/ ls
- 检查当前温度
cd 28-0000004145bb ls
- 查看设备数据
cat w1_slave
cd raspberrypi/10/python_gpiozero python sensor.py
- 此时可看见树莓派在正确运行DS18B20程序不断打印检测到的温度值,若想退出,按ctrl+C即可
- 更多指令请查看gpiozero文档