본문 바로가기

분류 전체보기

(77)
5-1. 창문 옮기기 예기치 못한 상황이 발생했다. 리니어 액추에이터를 이용해 창문을 여닫으려고 했는데, 창문이 안쪽과 바깥쪽, 이중으로 되어 있어, 하나의 리니어 액추에이터로 두 개의 창문을 움직이기가 쉽지 않다는 것이다. 그래서 집 안 창문을 약간 이동시켜 리니어 액추에이터를 놓을 공간을 확보한 뒤, 두 개의 창문을 동시에 움직이려고 한다. 아래 그림을 보면, 기존에 창문 배치는 왼쪽과 같고, 이러한 창문 배치를 오른쪽과 같이 움직일 것이다. 내 인생 처음으로 새시에서 창문을 빼 보았다.. 근데 무게도 장난이 아니었지만, 단순하게 보였던 새시 하나도 꽤 복잡한 구조로 이루어져 있어 옮기는데 애를 먹었다. 아래 사진과 같이 원래 창문의 배치는 지그재그로 되어 있었다. 이랬던 창문 배치를 아래 사진과 같이 안쪽 창문을 뺀 뒤..
NodeMCU를 이용한 Stepper motor & Driver 제어 리니어 액추에이터가 Stepper로 동작을 하여, 해당 모터의 조작법을 익혔다. Stepper motor, Stepping motor, 스텝 모터, 펄스 모터 등 다양하게 불린다. 두산백과에 나온 내용을 참고하면, Stepper motor는 펄스 신호를 줄 때마다 일정한 각도씩 회전하는 모터이다. 다시 말해, 입력 펄스 수에 대응하여 일정 각도씩 움직이는 모터이며, 입력 펄스 수와 모터의 회전각도가 완전히 비례하므로 회전각도를 정확하게 제어할 수 있다고 한다. DC 모터의 경우, 전원만 공급해주면, 일정한 방향으로 회전하지만, Stepper motor는 펄스 신호에 따라 동작하기 때문에 Motor driver가 거의 필수적으로 사용된다. 내가 보유하고 있는 모터(리니어 액추에이터)와 모터 드라이버에 대한..
NodeMCU를 이용한 Limit Switch 제어 회로 구성은 다음과 같다. 참고로 이전 포스팅에서 NodeMCU에서 사용 가능한 핀에 대해 언급한 적이 있는데, 시험 결과 SD3핀은 전기 신호를 받을 수 있어 해당 핀을 사용했다. 한 가지 중요한 것은 GND 사이에 저항인데, 스위치가 연결되었을 때, 5V와 GND가 직접적으로 맞닿는 것을 방지해 준다. 다시 말해, 쇼트를 방지하기 위해 일부러 부하를 집어넣은 것이다. 이것이 풀다운 저항인데, 관련해서 정리가 잘 된 블로그가 있어 첨부한다. 풀업(Pull-up)저항, 풀다운(Pull-down)저항 아두이노와 같은 메이커들를 위한 플랫폼은 물론이고, 임베디드 개발 영역에 꼭 필요한게 전자회로 관련 지식인데요. 저 같은 소프트웨어 개발자 출신들이 이 분야에 들어서서 막막한게 바로 blog.xcoda.net..
NodeMCU를 이용한 적외선 센서 조작(송/수신) 적외선(Infrared ray, IR ray)은 이름에서도 알 수 있듯이 적색 가시광 바깥에 있는 빛이다. 다시 말해 가시광보다 파장이 긴 전자기파이다(가시광 영역에서 파장이 길 수록 붉은색 빛을 띠므로). 적외선은 우리 생활에서 쉽게 찾을 수 있다. TV나 에어컨 등 가전을 조작하기 위한 리모컨은 대부분 적외선을 이용하고, 온도를 측정하는 체온계나, 어두운 환경에서도 볼 수 있는 감시 장비로도 사용된다. 이번 시간에는 적외선 센서를 통해, 실제 리모컨에서 어떤 적외선 신호가 나오며, 해당 적외선 신호를 방출했을 때, 리모컨과 같은 기능을 할 수 있는지 알아볼 것이다. NodeMCU와 시중에서 쉽게 구할 수 있는 IR Receiver와 Transmitter를 이용했다. 회로도와 코드를 살펴보기 전에, M..
PC에서 애플리케이션 테스트 서버용으로 맥미니를 중고로 구매했다. 비록 연식은 좀 됐지만(Mid 2010), SSD랑 RAM을 보고 구매를 결정했다. 어차피 같은 용량의 휴대용 SSD도 비슷한 가격일 텐데, 이것은 무려 PC이다. 역시, 가장 먼저 Rotate 360이 PC에서 잘 동작하는지 확인해 보았다. 처음부터 끝까지 노트북으로만 개발을 하다 보니 해당 테스트를 하지 못했다. 그리고 애플 기기가 있는 매장에서 테스트를 해보려고 했는데, 매장에 전시되어있는 애플 제품은 앱스토어에서 애플리케이션 구매가 제한이 되어 있었다. 출시 전, 노트북으로 할 수 있는 테스트는 최대한 하려고 했지만, 역시 PC로도 해보고 싶었다. 불행인지 다행인지 2010년에 출시된 맥미니는 High Sierra까지 지원을 하기 때문에 OS에 따른 테스트도 ..
5-0. 하드웨어 파트 개발 계획 이제 앞에서 구현했던 통신들을 실제 단말기를 통해 동작시켜야 한다. (집은 점퍼선이나 부품들로 난장판이 되어가고 있다.. 쉽지 않은 시간이 될 것으로 예상이 된다..) 회로 설계를 한 뒤 납땜까지 진행을 하고 펌웨어를 수정해야 할지, 점퍼선으로 대충 끼워 놓고 펌웨어를 수정하나 뒤 마지막에 납땜을 할지를 많이 고민했다. 현재 부품들의 기능 테스트를 위해 대충 점퍼로 연결해 놓고, 여차저차 하려고 했는데, 이 방법이 더 복잡한 것 같다. 그래서, 부품에 대한 기능 테스트 정도만 하고 사용할 부품들의 배치나, 핀 할당 등을 하려고 한다. 부품 테스트할 것은 다음과 같다. 1. 리니어 액추에이터 세트(리니어 액추에이터, 모터 드라이버, 리미트 스위치) 창문을 여닫기 위해 사용한다. 리니어 액추에이터는 스텝 모..
4-1. Node MCU를 통해 Web Scraping해서 정보 가져오기 Node MCU를 통해 Web page의 HTML문을 받아오는 것은 지난 포스팅을 참고하면 될 것이다. (taeminator1.tistory.com/15?category=924221) 이제 받아온 HTML문에서 원하는 정보를 가져와 보자. Examples의 BasicHTTPClient에서 약간의 수정이 필요하다. 먼저, setup()에서 Node MCU에 내장되어 있는 LED Indicator pin을 출력 핀으로 할당해 주고, 초기 값을 0으로 세팅하였다. (0일 때, LED가 켜진다) 그다음, loop()를 수정해야 한다. Wep page를 기준으로 통신을 하기 때문에, Web page에 있는 check box의 상태를 담을 수 있는 buttonState를 boolean 배열로 선언하여 초기값은 fa..
NodeMCU를 통한 Web Scraping Node MCU는 Wi-Fi 모듈을 내장한 MCU로, 따로 배선할 필요 없이 바로 Wi-Fi에 연결하여 활용할 수 있어 간단하게 사용하기에 좋다. I/O 핀이 여럿 있고, TX/RX 핀도 있다. 3.3V전압도 출력해주어 쓸모가 많은 제품이다. 그리고 LED Indicator도 내장되어 있어, 특별한 회로 없이 Node MCU만 가지고 여러 가지 간단한 테스트를 수행할 수 있다. NodeMCU를 아두이노에서 사용하기 위해서는 몇 가지 설정을 해줘야 한다. (아래 링크를 참고) www.youtube.com/watch?v=NEo1WsT5T7s&t=321s 그리고 아래 그림과 같이 File -> Example -> ESP8266HTTPClient -> BasicHTTPClient를 클릭하여 예제 파일을 띄운다...