uPyCraft中的Examples Measure ds18b20Demo.py 4.2.1

2020-09-148314
AI 快速预览详细 收起
本文介绍了如何使用FireBeetle-ESP32和DS18B20数字温度传感器,通过uPyCraft IDE进行环境温度测量。硬件连接简单,只需将DS18B20连接到FireBeetle-ESP32的IO25引脚。通过运行ds18b20Demo.py文件,可以轻松读取并显示温度数据。该实验适用于STEM教育场景,适合编程初学者学习微控制器的应用。

DS18B20测量温度

准备

硬件:

软件:

  • uPyCraft IDE

    代码位置:

  • File → Examples → Measure → ds18b20Demo.py

  • 引用模块:uPy_lib → ds18x20.py

实验步骤

  1. 硬件连接如下图
    uPyCraft中的Examples Measure ds18b20Demo.py 4.2.1图1

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

#硬件平台:FireBeetle-ESP32
#实验效果:这个实验用来测量环境温度。
#硬件连接:本实验需要在IO25外接一个'DS18B20'数字温度传感器。
#下面的信息显示,对于当前版本,ds18b20Demo是可用的。
# IO0  IO2  IO4  IO5  IO9  IO10 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)

实验效果

uPyCraft中的Examples Measure ds18b20Demo.py 4.2.1图2

ds18x20.py库API说明

类 — DS18X20

  • class DS18X20(object)

类函数

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

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
gada888
gada888
不错
- 没有更多了 -