[아두이노#409] (Websocket#5) DC모터 제어 및 모터의 작동 상태를 실시간으로 출력해보기!(녹칸다/포로리야공대가자)
프로그래밍/ESP8266 & Websocket 2022. 1. 3. 22:50
(Websocket#5) DC모터 제어 및 모터의 작동 상태를 실시간으로 출력해보기!
녹칸다의 웹소켓(websocket)을 이용해서 ESP8266을 웹서버로 구동시키는 시리즈이다!
기존 ESP8266으로 구현할 수 있는 웹서버를 동적으로 구현할 수 있는 예제이다!
웹서버와 웹클라이언트 방식에서 클라이언트가 서버에게 요청한다음 응답을 받는 구조를 가진다!
그러나 서버가 주도적으로 클라이언트에게 데이터를 전송할 수 없다!
웹소켓을 이용한 웹서버는 기존 웹서버와 동일한 방식으로 동작하나 클라이언트가 받게될 응답데이터에 자바스크립트로 구현된 웹소켓 코드가 내장되어있다!
웹서버는 내부적으로 별도의 포트를 이용해서 클라이언트에 설치된 웹소켓과 소켓통신을 함으로써 양방향 통신이 가능해진다!
(웹서버와 웹소켓 2개의 통신이 동시에 이루어진다)
이번편에서는 웹소켓을 이용한 웹서버를 구현하고 DC모터를 제어하기위해서 릴레이(relay), 모스펫(IRF520), 모터드라이버(L298N)를 활용해보도록 한다!
그리고 DC모터에는 자석과 홀센서를 이용해서 분당회전수(RPM)을 측정하고 서버에서 클라이언트쪽으로 실시간으로 전송하도록 한다!
DC모터의 온오프 및 속도제어, 방향제어를 다양한 모듈을 이용해서 표현하고 제어결과를 스마트폰 웹브라우저 화면에 실시간으로 반영되도록 하시오!
1.릴레이를 이용해서 DC모터를 제어하고 홀센서를 이용해서 RPM을 측정하시오!!
2.모스펫(IRF520)을 이용해서 DC모터의 속도를 제어하고 RPM을 측정하되 속도제어는 range컴포넌트를 사용해서 제어하시오!
3.모터드라이버(L298N)를 이용해서 DC모터의 속도와 방향을 제어하고 RPM을 측정해라!
관련라이브러리(websocket)
https://github.com/Links2004/arduinoWebSockets
참고자료(#218편 ESP8266에서 홀센서로 RPM측정하기)
https://bota.tistory.com/1461