传感器实验——超温报警传感器实验——超温报警
超温报警实验
所选设备
DHT11温湿度模块
蜂鸣器
接线说明
示例代码：温度超过设定值，蜂鸣器响起
首先来认识一下什么是LED，它的中文名是发光二极管，这是一种将电能转换成光能的固体电致发光半导体器件，发光二极管的核心部分是由p型半导体和n型半导体组成的晶片，在p型半导体和n型半导体之间有一个过渡层，称为p-n结。如下图，它主要由支架、银胶、晶片、金线、环氧树脂五个部分所组成。

超温报警实验
所选设备
MR开发板

DHT11温湿度模块
蜂鸣器
接线说明
DHT11温湿度传感器
开发板
DHT11温湿度传感器
5V
VCC
GND
GND
B0
DATA
有源蜂鸣器
开发板
蜂鸣器
3.3V
VCC
A3
I/O
GND
GND
示例代码：温度超过设定值，蜂鸣器响起
Created with Raphaël 2.2.0
导入模块
设置GPIO
获取温湿度
超温报警
yes
from pyb import delay,Pin from dht import DHT11 p_out=Pin('A3',Pin.OUT_PP) #创建DTH11对象dt dt=DHT11(Pin('B0')) delay(1000) #首次启动停顿1秒然传感器稳定 while True: dt.measure() #温湿度采集 tem=dt.temperature() #获取温度值 hum=dt.humidity() #获取湿度值 print('temperature:'+ str(tem)) print('humidity:'+ str(hum)) delay(1000) if tem>=28: #温度超过 p_out(1) #高电平触发，按下我就响起来 else: p_out(0) #不按的时候不触发传感器
部分开发板没有这个文件，如果缺少此文件，可以复制一下
dht.py
# DHT11/DHT22 driver for MicroPython on ESP8266 # MIT license; Copyright (c) 2016 Damien P. George try: from esp import dht_readinto except: from pyb import dht_readinto class DHTBase: def __init__(self, pin): self.pin = pin self.buf = bytearray(5) def measure(self): buf = self.buf 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
注意：有时会遇到这个问题

这个问题主要是接触不良，观察DHT11电源灯。熄灭就断了。所以注意接线接的好一些。实在不行在换个线。