5383浏览
查看: 5383|回复: 7

[入门教程] DHT11温湿度传感器掌控下使用(纯代码模式)

[复制链接]
本帖最后由 yywudao 于 2019-4-29 13:35 编辑

DHT11,最常用的温湿度传感器,坛子里已经有基于mPython X下的图形化程序示意,放个纯代码的。
micropython固件里已经内置了 DHT模块,有DHT11和DHT12两个对象,使用起来分别是
[mw_shl_code=python,true]import dht   # 导入 dht模块
dht.DHT11(Pin(n))  #  n:对应的控制引脚
dht.DHT12(Pin(n))  #  n:对应的的控制引脚[/mw_shl_code]

DHT的使用需要加入计时器进行数据读取,否则如果单纯的使用dht.measur()会频繁执行数据读取,影响效率。

示例:以DHT11传感器接掌控引脚 P1 为例:
[mw_shl_code=python,true]from mpython import *
from machine import Timer
import dht

def DHT11(t):
    d = dht.DHT11(Pin(Pin.P1))  # 掌控的P1引脚
    d.measure()     # 运行DHT11进行数据读取
    oled.fill(0)    # 清屏
    temp = d.temperature()
    hum = d.humidity()
    oled.text('Humi: {}%'.format(hum), 0, 0)
    oled.text('Temp: {}C'.format(temp), 0, 20)
    oled.show()

tim = Timer(-1)
tim.init(period=2000, mode=Timer.PERIODIC, callback=DHT11)

try:
    while True:
        pass
except:
    tim.deinit()
    print('stopped')[/mw_shl_code]

P.S.  tim = Timer(-1)   #  在ESP8266控制板上,编号 -1,表示使用虚拟计时器。(掌控为ESP32,使用方式类似。)
                            PYB控制板使用编号为1~14。
      period=2000        #  间隔时间为 2s
      mode=Timer.PERIODIC    #   循环方式为一直  

gada888  版主

发表于 2019-5-24 10:03:40

MP功能呀
回复

使用道具 举报

一介布衣  见习技师

发表于 2019-7-9 09:36:46

我想问下dht这个包能弄出来嘛,还是已经集成在固件里了。。。。
回复

使用道具 举报

yywudao  高级技师
 楼主|

发表于 2019-7-9 11:37:47

一介布衣 发表于 2019-7-9 09:36
我想问下dht这个包能弄出来嘛,还是已经集成在固件里了。。。。

DHT已经集成在掌控的固件里了
回复

使用道具 举报

一介布衣  见习技师

发表于 2019-7-9 14:57:12

yywudao 发表于 2019-7-9 11:37
DHT已经集成在掌控的固件里了

那我用其他IDE比如Mu就用不了是吗。。。。
回复

使用道具 举报

一介布衣  见习技师

发表于 2019-7-9 15:04:05

yywudao 发表于 2019-7-9 11:37
DHT已经集成在掌控的固件里了

这个固件能给下我吗,怎么刷进去呢。。。。
回复

使用道具 举报

yywudao  高级技师
 楼主|

发表于 2019-7-9 15:06:24

一介布衣 发表于 2019-7-9 14:57
那我用其他IDE比如Mu就用不了是吗。。。。

集成到固件的意思,就是使用的时候直接代码里 import dht,就可以用dht的相应模块功能了。
用Mu编程,有个问题是程序无法直接刷入掌控板子里吧。。。
你可以用thonny (https://randomnerdtutorials.com/ ... -ide-esp32-esp8266/)。
李时念老师那边有整一个中文翻译版本的thonny(https://www.bunnyzoo.com/download.html#thonnybox)
回复

使用道具 举报

yywudao  高级技师
 楼主|

发表于 2019-7-9 15:13:24

一介布衣 发表于 2019-7-9 15:04
这个固件能给下我吗,怎么刷进去呢。。。。

掌控板固件刷入的话,推荐用mPython X
mPython X 0.3.3 更新

1. 内置固件优化,释放更多ROM空间(0.3.3新增)
2. 允许刷入main.py之外的其他文件(0.3.3新增)
3. 文件系统增加选取任意*.py文件运行的功能(0.3.3新增)
4. “事件”分类增加掌控板被抛起的事件(0.3.3新增)
5. 现有图形化block有所优化(0.3.3新增)
6. 修正已知bug

下载地址
https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html

或点击软件“帮助--检查更新”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail