화장실 재실 감지를 구성하다보면 난관에 봉착하는 부분이 다들 있을 것이다.
변기에 앉아 있다보면 모션이 없어 부재로 판단해 조명이 꺼진다. 다시 금방 켜지긴하지만 갑자기 꺼진다면 상당이 짜증이 난다. 이를 위해서 모션 센서의 모션 유지 기간을 늘린다거나, 모션센서를 더 추가하는 방법으로 보완이 가능하다.
하지만 모션 센서의 유지 기간을 늘리면 불필요하게 조명이 오래 켜지는 경우가 많아진다. 사실 샤오미 센서의 2분 블라인드 기간도 불만족스러운데 더 길어진다면 별로다. 모션 센서를 추가하는 것도 지금 변기 쪽을 바라보는 센서만 3개이다. 이렇게도 부족하다.
그리고 현대인들의 필수품! 상당 기간 변기에 앉아 스마트폰을 하는 경우가 빈번하다. 스마트폰을 한다면 손가락만 움직이는 경우가 더욱 많을 것이다.
이런 경우 감도가 좋은 모션센서를 추가해도 잘 될지 의문이다. (감도 좋은 모션센서는 비용 문제로 사용해보지 못했다 ㅠㅠ) 변기를 마주보고 설치해야 손가락의 움직임을 잘 파악하게 되지 않을까 한다. 무튼 내가 주로 사용하는 Smartthings 모션 센서나 샤오미 모션 센서로는 판단이 어려워 다른 방법을 시도해보았다.
아이디어는 비데의 착좌 센서에서 얻어 변좌에 앉아있을 때를 감지하면 될 것으로 보인다. 앉아서 변기를 사용할 때만 추가로 보완하면 된다.
출처: https://m.blog.naver.com/idk3322/220793614364
비데의 센서에 압력이 가해지면 비데가 작동한다. 이와 같이 압력을 감지하는 센서와 이를 받아서 0/1을 판단하는 Zigbee 기기를 추가하면 될 것 같다. 이와 같은 패턴은 도어센서를 DIY하는 아주 익숙한 경우이다. 샤오미 도어 센서를 이용한다.
샤오미 도어 센서를 개조하는 것은 찾아보면 쉽게 찾을 수 있다. 도어 센서의 양 극의 단자에 전선을 납땝해 둔다.
그리고 압력 센서—FSR 센서—를 구매한다. FSR은 Force Sensitive Register의 약자이고, 센서부에 가해지는 압력에 따라 저항이 바뀌어 전류량에 따라 압력을 판단해내는 센서이다. 이 센서를 아두이노에 연결하여 얼마의 압력이 가해지는지 계산해낼 수도 있다. 도어 센서의 경우엔 0과 1로 전류가 흐르냐 흐르지 않느냐로 판단하니 적절한 전위차만 있으면 된다.
구매 전에 얼마의 저항이 있어야 도어 센서가 구분해서 쓸 수 있을까 했는데, 일반적으로 파는 FSR 센서면 다 가능한 것으로 보인다.
샤오미 도어센서의 경우 닫힘 열림으로 판단하기 위해 500kΩ 이상의 저항차가 필요하다는 사용기가 있었다. [Smartthigs 네이버 카페]
센서 상세 설명에 보면 압력과 저항의 관계가 지수함수 관계로 압력이 없을땐 거의 무제한으로 수렴하기 때문에, 큰 문제 없을 것 같다.
사진처럼 암-암 점퍼 케이블 이용해서 연결했다. 센서의 단자와 점퍼 케이블의 암 단자가 헐겁게 연결이 된다. 전기테이프나 열수축 튜브로 감싸야 할 것 같다. 저런 단자에 연결시키는 두 개가 쌍으로 되어있는 암 터미널 단자가 있는 것 같은데, 따로 사기 번거로우니 처음 구매할 때 같이 사거나 그냥 테이프로 고정시켜둔다.
센서에는 수 점퍼 케이블을 납땜시켜두었다. 도어센서는 방수가 아니기 때문에 화장실 청소를 할 경우엔 점퍼 케이블로 도어 센서를 분리할 수 있도록 하려고 이렇게 했다. 방수가 되는 누수 센서를 이용하는 것도 좋은 방법일 것 같다.
동작 gif이다.
다만 생각보다 센서부와 터미널 단자 사이의 길이가 짧아 변기 시트의 적절한 위치에 붙이기 애매할 수도 있는데, 다음에 구매할 기회가 생긴다면 좀더 기다란 FSR 센서를 사는게 나을 것 같다.
그리고 앞의 gif를 보면 압력이 가해졌을 때 Close로 인식하는데, 이 부분이 HomeKit으로 넘어오면 약간 거슬리는 부분이 있다.
Home앱에서 도어 센서의 경우 Open 일 때 상태에 열림이라고 알림이 보이게 되는데 변기를 사용 중이 아닐 때에 Open 이니 거의 항상 알림이 나타나게 된다. 이 부분은 Mi Connector의 Door 센서 DTH를 복사해 Close <-> Open을 바꿔서 처리할 수 있도록 수정했다. 그리고 Device의 DTH를 변경하면 된다.
이제 남은 것은 webCore와 JSON API에 연동시켜서 자동화와 Home에서 확인 할 수 있도록 한다. 앞으론 변기에 앉아 있을 때 조명이 꺼지는 일은 없을 것 같다.