아두이노 IR리모콘으로 형광등 제어하기
이제 아두이노를 혼자서 독학을 시작한지 거의 1년이 되었다.
그동안 나만의 노하우도 생기고 여러가지 경험들을 했다.
그전부터 만들어왔던 작품들은 많지만 필자의 블로그에는 게시하지 않았다.
처음으로 작품 형태로 블로그에 게시하는것 같다.
이걸 만들게 된 동기는 필자는 대부분의 시간을 컴퓨터와 침대에서 지낸다.
그런데 잠자기전에 특히 불끄는게 정말 귀찮았다.
"어떻게 하면 이걸 손을 안대고 끌수 있을까?"
이라는 생각으로 만들게 되었다.
인터넷을 알아보니 여러가지 제품이 있었지만
가격이 상당히 비쌌다.
저렴하게도 만들수 있을거 같아서
직접 학교에서 배우는 전공과목을 응용해서 제작하게 되었다.
참고로 이건 교류(AC)를 다루는 실습이다.
잘못 따라하다가 피카츄가 되면 필자는 책임을 안지니까 할떄는 첫째도 안전 둘째도 안전 !!
실습을 하기전 잠깐 IR에 대해서 알아보려고 한다.
IR(Infrared Ray Sensor) 이란?
적외선을 이용해 온도, 압력, 방사선의 세기 등 물리량이나 화학량을 검지하여 신호처리가 가능한 전기량으로 변화시키는 장치이다.
스스로 적외선을 발사하여 빛이 차단됨으로써 변화를 검지하는 능동식(송신기)과, 자체의 발광기가 없고 외부로부터 받는 적외선의 변화만을 읽어내는 수동식(수신기)이 있다.
대표적으로 가정에서 많이 쓰이는 티비 리모콘등이 IR(Infrared Ray Sensor) 을 이용한 제품이다.
준비물
준비물은 간단하다.
IR 리모콘, IR 수신기, 아두이노 나노, 9v 건전지, 그리고 내 몸만 있으면 된다.
- 꼭 실습을 하기전 두꺼비집(전기 차단기)를 내리고 하자.
회로도
빵판(브레드보드) 기준으로 만든 회로도 이다.
여기서는 9v를 외부 전지로 사용했지만 사실 전력 공급에는 조금 많이 불안정한거 같다.
이부분에 대해서는 알아서 해결하길 바란다.
- 9v 이용시 전력 공급 부족으로 오동작 가능성 있음
- 실제로 사진상에 5v가 아두이노랑 브레드보드랑 연결이 안되어있는데 실제로는 연결되어있다.
이미지 오류다.
3.3v ~ 12v 사이에 어떤 v(전압)을 넣어도 높은 전압은 자동으로 5v로 변환된다.
하드웨어 구성이 되었다면 스케치로 코딩을 한다.
IRremote는 해당 라이브러리를 설치해야 사용할수 있다.
아래의 라이브러리 파일을 설치한다.
https://github.com/z3t0/Arduino-IRremote
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 27 28 29 30 31 | #include <IRremote.h> int RECV_PIN = 2; int LED = 3; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { pinMode(LED, OUTPUT); irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value); if(results.value == 16738455) { Serial.println("LED ON"); digitalWrite(LED, HIGH); } if(results.value == 16750695) { Serial.println("LED OFF"); digitalWrite(LED, LOW); } irrecv.resume(); // Receive the next value } delay(100); }
|
|
설치방법
일단 스위치를 까본다.
대부분의 스위치는 밑에 구멍이 있다.
일자드리어버로 지렛대 역활을 해서 들어올린다.
- 반드시 전기 차단기를 먼저 내리고 한다.
까면 이렇게 나온다.
십자 드라이버로 나사 2개를 분리한다.
선 2개가 나온다. 일자 드라이버를 가지고 버튼을 눌러 저 선 2개를 빼자
그리고 나서 만든 작품을 연결한다.
최종적으로 만든 작품의 모습이다.
동작 영상은 아래를 참고한다.
최종적으로 만든 작품의 모습이다.
동작 영상은 아래를 참고한다.