背景知识视频教程
本教程介绍了如何使用MicroPython固件将DS18B20温度传感器与ESP32和ESP8266结合使用。 您将学习如何从一个DS18B20传感器和多个传感器同时读取温度。 您还将建立一个网络服务器来显示您的传感器读数。
前提
要遵循本教程,您需要在ESP32或ESP8266板上安装MicroPython固件。您还需要一个IDE来编写代码并将其上传到板上。我们建议使用Thonny IDE或uPyCraft IDE:
Thonny IDE安装和刷新固件
uPyCraft IDE安装和刷新固件
DS18B20温度传感器
DS18B20温度传感器是单线数字温度传感器。这意味着只需要一条数据线(和GND)即可与ESP32或ESP8266通讯。
它可以由外部电源供电,也可以从数据线供电(称为“寄生模式”),从而无需外部电源。
每个DS18B20温度传感器都有一个唯一的64位串行代码。这使您可以将多个传感器连接到同一条数据线上。因此,您可以仅使用一个GPIO从多个传感器获得温度。
以下是DS18B20温度传感器最相关规格的摘要:
通过单线总线通信
电源范围:3.0V至5.5V
工作温度范围:-55ºC至+125ºC
精度+/- 0.5ºC(介于-10ºC至85ºC之间)
欲了解更多信息,请参考DS18B20数据手册。
零件需求
您需要以下部分:
原理图
如前所述,DS18B20温度传感器可以通过VDD引脚供电(正常模式),也可以从数据线获取功率(寄生模式)。您可以选择任何一种模式。
ESP32接线示意
寄生模式
正常模式
ESP8266接线示意
寄生模式
正常模式
源代码
将以下代码复制到main.py文件中,并将其上传到您的电路板上。该代码仅从DS18B20温度传感器获取温度,并在shell上显示读数。
>
代码分解
演示
获取多个DS18B20温度传感器温度
多个DS18B20源代码
上载代码后,应该在Shell中显示所有温度读数。
>
网页显示温度
现在您知道如何从DS18B20传感器获取温度和湿度,我们将在网络服务器上显示读数,您可以在本地网络上访问该服务器。