注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题

zhangyadong300的个人空间 http://home.eeworld.com.cn/space-uid-600082.html [收藏] [复制] [分享] [RSS]

日志

【micropython教程】实验2 DHT11温度传感器

已有 52 次阅读2018-6-26 15:06 |个人分类:【micropython教程】

首先在github上下载了DHT系列的驱动库
  1. # DHT11/DHT22 driver for MicroPython on ESP8266
  2. # MIT license; Copyright (c) 2016 Damien P. George

  3. try:
  4.     from esp import dht_readinto
  5. except:
  6.     from pyb import dht_readinto

  7. class DHTBase:
  8.     def __init__(self, pin):
  9.         self.pin = pin
  10.         self.buf = bytearray(5)

  11.     def measure(self):
  12.         buf = self.buf
  13.         dht_readinto(self.pin, buf)
  14.         if (buf[0] + buf[1] + buf[2] + buf[3]) & 0xff != buf[4]:
  15.             raise Exception("checksum error")

  16. class DHT11(DHTBase):
  17.     def humidity(self):
  18.         return self.buf[0]

  19.     def temperature(self):
  20.         return self.buf[2]

  21. class DHT22(DHTBase):
  22.     def humidity(self):
  23.         return (self.buf[0] << 8 | self.buf[1]) * 0.1

  24.     def temperature(self):
  25.         t = ((self.buf[2] & 0x7f) << 8 | self.buf[3]) * 0.1
  26.         if self.buf[2] & 0x80:
  27.             t = -t
  28.         return t

复制代码


DHT11 电路连接和资料





调用驱动库
  1. from machine import Pin
  2. import DHTsensor

  3. dht = DHTsensor.DHT11(Pin("Y4"))

  4. dht.measure()
  5. print("temperature:",dht.temperature())
  6. print("humidity:",dht.humidity())
复制代码





本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-9-20 03:05 , Processed in 0.015380 second(s), 11 queries , Gzip On, Redis On.

Powered by EEWORLD电子工程世界

© 2018 http://bbs.eeworld.com.cn/

返回顶部