티스토리 뷰
(1) 계획
도어락을 제어하기 위해선… 도어락이 필요하다.
시중에 나와있는 도어락들은 가격이 너무 비싸서 실험용으로 사용할 수 없고.. 집에 있는 도어락을 뜯어서 사용하기엔 위험부담이 너무 크다.
그러던 중! 운 좋게 친구가 뜯어진 도어락 뒷면(내부)을 구해다 주었다!
앞면은 사실 필요가 없기 때문에 뒷면만 필요했는데 정말 잘됐다!
가장 중요한 점이 도어락의 회로인데, 집에 있는 십자 드라이버로 풀어보니 다음과 같은 모습이다.
뜯다 보니 전원을 공급하는 핀이 끊어져서 작동이 안하는 것 같아서 점퍼선을 이용해 건전지와 연결해보았더니 잘 작동한다!
내가 이 프로젝트에서 사용할 핀들은 다음과 같다.
1. 하늘색으로 표시된 곳에서 전력(5~6V)을 공급받는다
2. 연보라색으로 표시된 곳이 집 내부에서 동작하는 열림/닫힘 버튼인데 이 버튼에 릴레이를 연결하여 버튼의 동작을 전기적으로 제어한다.
3. 버튼이 눌렸을 때 주황색으로 표시된 부분의 모터(DC)가 동작하여 문을 열거나 닫는데, 이 모터는 떼서 금고를 만들 때 사용할 예정이다..
일단 열림/닫힘 버튼을 제어해야 하는데, 버튼의 원리를 이용하기로 생각했다.
즉 버튼이 눌렸을 때 흐르는 전기가 흐르고, 눌리지 않았을 때는 전기가 흐르지 않는다.
위와 같이 버튼을 눌렀을 때 5V가 흐르는데, 저 부분과 Relay링크를 연결한 후 웹/앱을 통해 제어한다.
(2) 구현
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | // 예제 SimpleSwitch #include <VitconBrokerComm.h> using namespace vitcon; #define ITEM_COUNT 2 void relay_out(bool val) { digitalWrite(2, val); } IOTItemBin relay_status; IOTItemBin relay(relay_out); IOTItem *items[ITEM_COUNT] = { &relay_status, &relay }; const char device_id[] = " 장비 ID를 입력! "; BrokerComm comm(&Serial, device_id, items, ITEM_COUNT); void setup() { Serial.begin(250000); pinMode(2, OUTPUT); comm.SetInterval(200); } void loop() { relay_status.Set(digitalRead(2)); comm.Run(); } | cs |
위 코드는 VitconIOT예제 SimpleSwitch이다.
이제 실제 집에서 사용하는 도어락에 사용해봐야 한다!
괜히 드라이버로 억지로 돌리다가 나사가 마모되어서 아차싶었다.
다행히 급히! 전동드라이버를 빌려서 해체했다.
이렇게 생겼다… 하늘색 부분의 버튼을 이용했다.
(3) 마무리
다행히 예상대로 잘 작동하지만 몇 가지 보완해야 할 점을 발견했다.
일단 도어락에 계속 전기를 공급하면 버튼을 누르고 있는 상태로 인식하기 때문에 릴레이를 통해 전기를 공급하는 시간을 잘 조정해야 할 듯하다.
그리고 푸쉬 버튼을 이용할 생각인데, 이게 짧게 누르면 잘 인식이 안되는 경우를 발견했다.
아마 com.SetInterval(200) 이 문장 때문인 것 같다.
https://github.com/vitcon-iot/VitconIOT/wiki/VitconBrokerComm
위 링크를 참조해보면
- void SetInterval(uint32_t ms) : 통신 성공 후 다음 통신까지의 대기 시간을 설정한다. 단위 ms.
라고 설명되어 있는데,
200ms라는 대기시간 사이에 버튼이 눌리면 무시되는 것인가?.
그래서 대기시간을 줄여봤는데 크게 개선되지는 않았다.
아무래도 안정성을 위해선 버튼을 확실하게 꾹 눌러 사용해야겠다
'IOT-MODLINK' 카테고리의 다른 글
[Project – 스마트 도어락] 4. 조명 효과 & 외부 전원 공급하기 (0) | 2017.12.17 |
---|---|
[Project – 스마트 도어락] 3. 열림/닫힘 상태 확인하기 (0) | 2017.12.17 |
[Project - 스마트 도어락] 1. 주제 및 기획 (0) | 2017.12.07 |
[IoT-MODLINK] MODELINK 개봉기 & 리뷰 (0) | 2017.12.07 |
[IoT-MODLINK] 2차 체험단 (0) | 2017.12.06 |