社区导航

 
查看: 525|回复: 0

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

[复制链接]

67

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-6-26 15:06:14 | 显示全部楼层 |阅读模式
首先在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 电路连接和资料
6.jpg
7.jpg
8.jpg
5.jpg

调用驱动库
  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())
复制代码



11.jpg



回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

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

GMT+8, 2018-10-23 05:02 , Processed in 0.055654 second(s), 16 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表