티스토리 뷰
1. 계획
(1) 조명효과
문의 열림 버튼이 웹/앱을 통해 눌렸을 때 위의 LED strip을 이용해 화려한 조명 효과를 낸다.
웹/앱에서 토글 스위치를 눌렀을 때 조명이 유지되게끔 한다.
3개의 트랙바를 두어 R, G, B 색상을 아날로그 값(0~255)을 입력 받아 토글 스위치에 의한 조명의 색상을 조절할 수 있게 한다.
(2) 외부 전원 공급하기
위의 EVC링크에 전원(12V, 24V)을 공급해야 모터를 구동할 수 있기도 하고, 도어락의 전원을 상시 공급해야 하기 때문에 외부 전원이 필요하다.
12V 어댑터를 이용해 전원을 공급할 생각이다.
2. 구현
(1) 조명 효과
일단 LED stirp은 3개의 핀(5V, data, GND)을 사용한다.
60칸짜리 strip을 이용하고, Neopixel 라이브러리를 통해 많은 자료를 얻었다.
이 부분을 구현하는데 정말 많은 시간이 소요됐다....
일단 트랙바를 통해 웹/앱에서 들어오는 값들의 자료형이 uint32_t였고, 이 값들을 R, G, B 색상 값으로 사용하기 위해선
int형으로 형변환 해야하고, 또 이렇게 만들어진 3개의 int값 R, G, B들을 Neopixel의 고유 함수에 전달한다.
근데 또 대부분의 Neopixel 함수들의 return자료형은 uint32_t이다.
여기서 나온 uint32_t 값을 data핀에 전달하면 원하는 색상이 LED로 출력되는 구조이다.
이런 과정을 알아내는데 너무 오래걸렸다..
그리고 트랙바의 경우 item index가 2개씩 필요한데, 총 6개를 처리 하다보니 디버깅하는데 애먹었다.
그러다보니 코드가 길어지고 난해해져서 난감해졌지만! 그래도 원하는 결과를 낼 수 있었다.
(너무 조명이 밝아서 카메라가 초점을 못잡아서 흐린 점 양해 부탁드립니다!)
마지막 알록달록 빠르게 휘몰아치는 효과는 문 열림/닫힘 기능이 동작할 때 나타나는 조명입니다.
LED 구현 코드는 곳곳에 너무 널브러져 있어서...
모두의 정신건강을 위해 코드 리뷰할 때 공개 하겠습니다!
(2) 외부 전원 공급
지금 가지고 있는 어댑터가 5V 밖에 없어서 일단 5V 어댑터를 이용해 실험을 진행했다.
아무 생각없이 선을 링크에 물렸다가 쇼트가 나서 깜짝 놀랐다.
다시 한 번 +, -를 확인하고 물려보았다.
다행히 잘 작동한다! (뿌듯)
(3) 마무리
이 프로젝트 진행하면서 가장 힘들었다...ㅠ
그냥 보너스의 개념으로 추가한 기능인데 정말 괜히했다 생각만 몇 번 했는지 모르겠다...
이제 모터, 케이스 제작만 마치면 모두 끝!!!!
화이팅합시다!
'IOT-MODLINK' 카테고리의 다른 글
[IoT-MODLINK] RTC모듈을 이용한 실시간 시간확인! (0) | 2017.12.19 |
---|---|
[IoT-MODLINK] 웹/앱 UI를 더 이쁘게 꾸미자! (0) | 2017.12.19 |
[Project – 스마트 도어락] 3. 열림/닫힘 상태 확인하기 (0) | 2017.12.17 |
[Project – 스마트 도어락] 2. 도어락 제어하기 (0) | 2017.12.14 |
[Project - 스마트 도어락] 1. 주제 및 기획 (0) | 2017.12.07 |