2017年8月21日 星期一
microPython DHT11測試 1 : 連續測量溫溼度
#===============DHT11-1-main.py=================================
#測試 1 : 連續測量溫溼度
#=============================================================
# leds 0 = d3 , 1 = d10 , 2 = d4 , 3 = d9 , 4 = d2 , 5 = d1
# 9 = sdd2 , 10 = sdd3
# 12 = d6 , 13 = d7 , 14 = d5 , 15 = d8 , 16 = d0
#=============================================================
from machine import Pin
import dht
import time
p0=Pin(4, Pin.IN)
d=dht.DHT11(p0) #建立 DHT11 物件
while True:
d.measure() #重新測量溫溼度
t=d.temperature() #讀取攝氏溫度
h=d.humidity() #讀取相對溼度
print('Temperature=', t, 'C', 'Humidity=', h, '%')
time.sleep(2) #暫停 2 秒
#=============dht.py=====================
# DHT11/DHT22 driver for MicroPython on ESP8266
# MIT license; Copyright (c) 2016 Damien P. George
import esp
class DHTBase:
def __init__(self, pin):
self.pin = pin
self.buf = bytearray(5)
def measure(self):
buf = self.buf
esp.dht_readinto(self.pin, buf)
if (buf[0] + buf[1] + buf[2] + buf[3]) & 0xff != buf[4]:
raise Exception("checksum error")
class DHT11(DHTBase):
def humidity(self):
return self.buf[0]
def temperature(self):
return self.buf[2]
class DHT22(DHTBase):
def humidity(self):
return (self.buf[0] << 8 | self.buf[1]) * 0.1
def temperature(self):
t = ((self.buf[2] & 0x7f) << 8 | self.buf[3]) * 0.1
if self.buf[2] & 0x80:
t = -t
return t
訂閱:
張貼留言 (Atom)
2024_09 作業3 以Node-Red 為主
2024_09 作業3 (以Node-Red 為主 Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker 2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...
-
python pip 不是内部或外部命令 -- 解決方法 要安裝 Pyqt5 1. 首先,開啟命令提示字元。 2. 輸入 pip3 install pyqt5 好像不能執行 ! ! 錯誤顯示 : ‘ pip3 ’ 不是內部或外部命令、可執行的程式或批...
-
課程講義 下載 11/20 1) PPT 下載 + 程式下載 http://www.mediafire.com/file/cru4py7e8pptfda/106%E5%8B%A4%E7%9B%8A2-1.rar 11/27 2) PPT 下載...
-
• 認 識 PreFix、InFix、PostFix PreFix(前序式):* + 1 2 + 3 4 InFix(中序式): (1+2)*(3+4) PostFix(後序式):1 2 + 3 4 + * 後 序式的運算 例如: 運算時由 後序式的...
沒有留言:
張貼留言