自制简单红外线传感器(自制智能家居传感器系列)
自制简单红外线传感器(自制智能家居传感器系列)esphome: name: esp8266 esp8266: board: nodemcuv2 # Enable logging logger: # Enable Home Assistant API api: ota: password: "34c5ce0036f456915aac4dfe9e680a17" wifi: ssid: "xxxxxx" password: "xxxxxx" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esp8266" password: "12345678" captive_portal: web_server:
准备材料
- 人体红外传感器(PIR)模块HC-SR501
- esp8266_NodeMcu开发板
- LED二极管
- 杜邦线若干
模块HC-SR501功能:
人体红外传感器基本原理是检测人或者动物发出的红外线并用经过菲泥尔滤光片增强后聚集到红外感应源上,将感应的红外信号转化为电信号。
触发方式:
L不可重复,H可重复。可跳线选择,默认为H。
A.不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。
B.可重复触发方式: 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
可调封锁时间及检测距离调节:
1、封锁时间:感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(默认封锁时间2.5S)
2、调节检测距离
当人体红外传感器检测到有人时,点亮LED灯
接线图如下:
esphome 代码如下:
esphome:
name: esp8266
esp8266:
board: nodemcuv2
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
password: "34c5ce0036f456915aac4dfe9e680a17"
wifi:
ssid: "xxxxxx"
password: "xxxxxx"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp8266"
password: "12345678"
captive_portal:
web_server:
port: 80
version: 2
status_led:
pin: D4
light:
- platform: binary
name: "PIR light"
output: light_output
id: lightPIR
output:
- id: light_output
platform: gpio
pin: D2
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
binary_sensor:
- platform: gpio
pin: D1
name: "Living Room PIR Sensor"
device_class: motion
id: PIR
on_state:
then:
- if:
condition:
binary_sensor.is_on: PIR
then:
- light.turn_on: lightPIR
else:
- light.turn_off: lightPIR
刷入固件后重启开发板,Home Assistant会自动发现esphome节点按提示添加即可。