[아두이노#432] (#4타이젠) ESP8266에 달려있는 DC모터를 갤럭시워치로 제어해보기!(릴레이, 모스펫)(녹칸다/포로리야공대가자)
(#4타이젠) ESP8266에 달려있는 DC모터를 갤럭시워치로 제어해보기!(릴레이, 모스펫)
녹칸다의 타이젠(TIZEN) OS를 이용한 사물인터넷(IoT)시리즈이다!
상용화된 웨어러블 제품중에 가장 ESP8266보드와 접목시키기 좋은 갤럭시워치를 대상으로 해서 예제를 만들어보도록 한다!
(이번 시리즈의 제약 사항)
1.녹칸다는 실물 기기를 보유하고 있지않아서 에뮬레이터로 예제를 구현하되 갤럭시워치3를 타겟으로 한다!(타이젠5.5)
2.최신 갤럭시워치가 타이젠OS를 지원하지 않는것에 대한 이슈는 관심대상이 아니다!
3.ESP8266보드를 웹소켓 서버로 구동하고 워치를 웹소켓 클라이언트로 해서 연결한다!
4.이때 ESP8266보드와 워치는 동일한 WiFi공유기에 연결되어있다고 가정한다!(집안에서만 사용한다는 느낌)
5.집밖에서 갤럭시워치를 이용해서 집안에 있는 ESP8266을 제어한다는 개념이라면 ESP8266에 외부에서 접속할 수 있는 네트워크를 제공해야한다!(이건 논외로 한다)
이번편에서는 갤럭시워치와 ESP8266보드를 웹소켓통신으로 연결하고 ESP8266보드에 달려있는 DC모터를 갤럭시워치로 제어하는 것을 목표로 한다!
보드에 DC모터를 직접적으로 연결할 수 없으므로 릴레이(relay)와 모스펫(IRF520)을 이용해서 워치로 제어하도록하고 릴레이는 on/off제어, 모스펫은 속도제어가 가능하도록 한다!
이때 DC모터를 가장 효과적으로 제어할 수 있을 만한 UI를 제시하도록 한다!
(기본적인 컴포넌트를 이용하는 방법이 있고 TAU를 이용한 방법이 있다)
(실제로한거)
1.ESP8266에 릴레이를 연결하고 워치에서 on/off하고 현재 상태를 알 수 있도록 하시오!
2.보드에 버튼2개를 추가하고 오프라인으로 릴레이를 작동시키되 작동결과를 워치에서 알 수 있도록 하시오!
3.ESP8266에 모스펫으로 DC모터를 연결하고 버튼을 눌렀을때 속도를 증가하거나 감소할 수 있도록 하시오!
4.Range컴포넌트를 이용해서 속도제어를 하시오!
5.ESP8266에 속도를 증감시킬수있는 버튼2개를 달아서 시계하고 호흡을 맞출수 있도록 하시오! + ESP8266에 홀센서를 연결해서 RPM을 측정하고 측정한 RPM을 시계쪽으로 전송하시오!
6.ESP8266에 모스펫을 이용해서 워터펌프를 연결해서 제어하고, 워터펌프가 이송하는 물의양을 측정해서 시계로 전송하시오!
(tizen studio 다운로드)
https://developer.tizen.org/development/tizen-studio/download
(버튼CSS)
https://www.w3schools.com/css/css3_buttons.asp
ESP8266관련라이브러리(websocket)
https://github.com/Links2004/arduinoWebSockets