KIKI 发表于 2020-9-14 10:11:08

uPyCraft中的Examples Measure ds18b20Demo.py 4.2.1


# DS18B20测量温度
## 准备
### 硬件:

- FireBeetle-ESP32 × 1
- DS18B20数字温度传感器 ([点击查看](https://wiki.dfrobot.com.cn/_SKU_DFR0024_DS18B20%E6%95%B0%E5%AD%97%E6%B8%A9%E5%BA%A6%E4%BC%A0%E6%84%9F%E5%99%A8_V2)模块详情)
[点击购买](https://www.dfrobot.com.cn/goods-71.html)

### 软件:

- uPyCraft IDE
### 代码位置:

- File → Examples → Measure → ds18b20Demo.py
- 引用模块:uPy_lib → ds18x20.py

## 实验步骤
1. 硬件连接如下图


2. 下载运行 ds18b20Demo.py 文件,具体代码如下

```
#硬件平台:FireBeetle-ESP32
#实验效果:这个实验用来测量环境温度。
#硬件连接:本实验需要在IO25外接一个'DS18B20'数字温度传感器。
#下面的信息显示,对于当前版本,ds18b20Demo是可用的。
# IO0IO2IO4IO5IO9IO10 IO12~19
# IO21 IO22 IO23 IO25 IO26 IO27

from machine import Pin
import onewire
import ds18x20
import time

ow = onewire.OneWire(Pin(25))   #创建单总线对象
ds = ds18x20.DS18X20(ow)      #创建ds18b20对象
while True:
roms=ds.scan()                #扫描ds18b20地址
ds.convert_temp()             #温度转换
for rom in roms:
    print(ds.read_temp(rom))    #温度显示
time.sleep(1)
```
## 实验效果


## ds18x20.py库API说明
### 类 — DS18X20
- class DS18X20(object)

### 类函数
- read_temp(rom=None) 函数功能:读取指定ds18x20设备的温度。
- read_temps() 函数功能:读取所有设备的温度。
- convert_temp() 函数功能:将原始数据转换成温度。

gada888 发表于 2020-9-24 07:53:24

不错
页: [1]
查看完整版本: uPyCraft中的Examples Measure ds18b20Demo.py 4.2.1