중급 예제

약간은 익숙하시거나 익숙해지셨나요? 그렇다면 조금더 깊이 다뤄볼까요?

적외선 송수신기(1) - 송신

2014-08-06 15:30:02

개요 및 부품 목록


적외선은 빛을 프리즘으로 분산시켜 보았을 때 적색선보다 더 바깥쪽에 있는 전자기파를 말합니다. 

사진 출처 : 옥션 - 초정밀 위조감식기k7000

적외선을 이용하여 위조 지폐 검출을 할수 있고,


사진 출처 : http://cableguy.com/shop/mall.php?cat=005011002&query=view&no=33528

적외선 통신을 이용해서 리모콘을 만드는 등 다양한 분야에서 사용되고 있습니다.

이번 컨텐츠에서는 적외선 통신을 이용하여 적외선 송신기 / 수신기를 만들어서 데이터를 전송해 보겠습니다.

(본 컨텐츠는 2편으로(1편은 송신기, 2편은 수신기) 되어 있습니다.) 

 

동영상 미리보기

 
부품목록

NO 부품명 수량 상세설명
1 오렌지보드  1  아두이노
2 적외선 방출 센서(KY-005)  1 적외선 방출 센서 
3 점퍼케이블   3 점퍼케이블 

 

부품명 오렌지보드 적외선 방출 센서(KY-005) 점퍼케이블
파트 x1 x1 x3


 

하드웨어 making 및 소프트웨어 Coding

회로도


 

브레드보드 레이아웃

소프트웨어 Coding

#include <IRremote.h>  // 적외선 송수신을 하기 위해서 IRremot 라이브러리를 사용한다.
IRsend irsend;
void setup(){
  serial.begin(9600);
}
void loop(){
  for(int i = 0; i < 3; i++){
    irsend.sendSony(0xa90, 12);
    delay(40);
  }
  // 한번에 3번씩 16진수 a90 을 전송 한다.
  
  delay(2000);
}

 

 

소프트웨어 설명

 * 이 코드는 스케치를 사용하여 작성 / 업로드 합니다. 스케치에 대한 사용법은 링크를 참고하시기 바랍니다.

IRremote라이브러리는 링크에서 받을 수 잇습니다.

 

 

IRremote 라이브러리 사용시 아두이노 우노를 쓰시는 분은 적외선 LED 핀을 3번에 넣어야 합니다.(라이브러리 제작자가 설정 해 놓은 값이 3번핀입니다.)

(다른 보드 이용시 꽂아야 하는 핀이 다릅니다.      ex: 레오나르드는 13번 핀에 넣어야 합니다.)

  for(int i = 0; i < 3; i++){
    irsend.sendSony(0xa90, 12);
    delay(40);
  }

 한번에 3번을 LED로 a90이라는 16진수를 보냅니다. (이 때 보낸 a90 이라는 16진수 숫자를 수신기가 받아서 시리얼 모니터에 띄웁니다.

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

적외선 방출센서, 아두이노, 오렌지보드

llpmpll 2014-12-04 17:53:31

IR LED를 사용하는걸 매우 흥미롭게 봤습니다.

기존 전자 제품의 리모컨의 역할을 아두이노가 대신할 수 있는건가요?

예를 들어서 휘센 에어컨의 리모콘 기능을 아두이노가 대신할 수 있는건가요?

만약 가능하다면 여러 제품을 등록해놓고 사용하는것도 가능한건가요??

판다마니아 2014-12-05 16:41:07

아두이노 리모컨을 실제 가전제품에 사용할려면 제어해야 하는 부분이 많습니다.
(실제 적외선 리모컨에 대한 자세한 내용은 김용환님 블로그 http://knight76.tistory.com/1485 참고 하세요.)

그리고 리모컨은 제조 회사마다 커스텀 코드가 있어서 그에 맞게 세팅하면 하나의 리모컨으로 여러개의 제품을 컨트롤 하는것도 가능 할것 같습니다.

송덕원 2015-10-17 01:45:54

제조 회사마다 커스텀 코드가 별도로 존재하고, 그마저도 무조건 같지는 않습니다.
제품에 맞는 커스텀 코드로 세팅한다면 가능합니다.

양씌 2020-04-03 00:58:19

수신기가 여러대있다면 하나의 송신기에 입력이 가능할까여???