DHT11温湿度传感器掌控下使用(纯代码模式)
本帖最后由 yywudao 于 2019-4-29 13:35 编辑DHT11,最常用的温湿度传感器,坛子里已经有基于mPython X下的图形化程序示意,放个纯代码的。
micropython固件里已经内置了 DHT模块,有DHT11和DHT12两个对象,使用起来分别是
import dht # 导入 dht模块
dht.DHT11(Pin(n))#n:对应的控制引脚
dht.DHT12(Pin(n))#n:对应的的控制引脚
DHT的使用需要加入计时器进行数据读取,否则如果单纯的使用dht.measur()会频繁执行数据读取,影响效率。
示例:以DHT11传感器接掌控引脚 P1 为例:
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')
P.S.tim = Timer(-1) #在ESP8266控制板上,编号 -1,表示使用虚拟计时器。(掌控为ESP32,使用方式类似。)
PYB控制板使用编号为1~14。
period=2000 #间隔时间为 2s
mode=Timer.PERIODIC # 循环方式为一直
MP功能呀 我想问下dht这个包能弄出来嘛,还是已经集成在固件里了。。。。 一介布衣 发表于 2019-7-9 09:36
我想问下dht这个包能弄出来嘛,还是已经集成在固件里了。。。。
DHT已经集成在掌控的固件里了 yywudao 发表于 2019-7-9 11:37
DHT已经集成在掌控的固件里了
那我用其他IDE比如Mu就用不了是吗。。。。 yywudao 发表于 2019-7-9 11:37
DHT已经集成在掌控的固件里了
这个固件能给下我吗,怎么刷进去呢。。。。 一介布衣 发表于 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) 一介布衣 发表于 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
或点击软件“帮助--检查更新”
页:
[1]