本帖最后由 book123 于 2022-7-11 16:03 编辑
前几天制作了“24G雷达模块+ESP32开发板”的人在传感器,接入HA后,完美解决了人在感应的准确性、及时性。
但是也出现一个问题,就是:这个模块安装在厕所内部靠近门口的地方,只要从门口路过不进入厕所,哪怕门是关着的,它也会触发开灯。这样浪费能源,对地球不好。
于是决定加上红外传感器,利用红外传感器开灯,雷达传感器关灯。好在ESP32开发板的GPIO足多,不用也了浪费。
制作完成,效果很好,实现了想要的功能:
(1)红外探测到人开灯(这样人路过门口不会再亮灯了)
(2)雷达探测到人不在关灯
一、所需物料
(1)NodeMCU ESP32开发板
(2)24G雷达模块,型号是2410(厕所小空间足够用)
(3)红外人体传感器,型号HC-SR501
(4)1.27mm5P排线插头(解决2410的1.27mm标准排针不好焊接的问题)
(5)3D打印外壳一套
二、接线图
三、ESPHOME代码
里面的“AAAAAA”请替换为你自己的信息。
esphome:
name: nodemcu-32s-LD-PIR
esp32:
board: nodemcu-32s
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
wifi:
ssid: "AAAAAA"
password: "AAAAAA"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Nodemcu-32S"
password: "AAAAAA"
captive_portal:
# Enable Web
web_server:
port: 80
binary_sensor:
# Rada 2410
- platform: gpio
pin: GPIO12
name: "ESP32S-2410-RADA Sensor"
device_class: motion
id: motion_02
#触发时打开GPIO2输出,点亮了板载LED
on_press:
- switch.turn_on: motion_02_light
#恢复时关闭GPIO2输出,熄灭了板载 LED
on_release:
- switch.turn_off: motion_02_light
# PIR SR501
- platform: gpio
pin: GPIO27
name: "ESP32S-SR501-PIR Sensor"
device_class: motion
id: motion_03
#触发时打开GPIO2输出,点亮了板载LED
on_press:
- switch.turn_on: motion_02_light
switch:
- platform: gpio
pin: GPIO2
# inverted: true
name: "ESP32S-body light"
id: motion_02_light
sensor:
# Wifi signal
- platform: wifi_signal
name: "ESP32S-WiFi Sensor"
update_interval: 60s
四、解决SR501误触发的问题
由于SR501很容易受到干扰因素的影响,经常出现误触发。这个事情不少人反应。
我在制作后也遇到了,一般一小时内误触发10次左右。
这个问题有很多解决方案。
我的是解决方案是:在HA里面设置自动化时,设置为:红外触发,同时雷达也触发,开灯。
目前看,完美解决了误触发引起的乱开灯问题。
五、制作过程图片
(1)1.27mm插头,可以解决2410焊接困难问题
全部器件:
组装起来:
挂到墙上:
本人制作比较初级,业余爱好只为交流学习,难免有不对的地方,请大家指导。
|