안녕하세요 메카솔루션입니다.
  
  이번에는 RF LINK 모듈을 이용해서 무선 통신을 구현 하는 방법을 알아보도록 하겠습니다.
  
   
 
  
  http://mechasolution.com/shop/goods/goods_view.php?goodsno=539650
  
  
  
  RF LINK 무선 통신 모듈은 송신 모듈과 수신모듈이 따로있어 한 방향으로만 데이터를 전송할 수 있습니다.
  
  아두이노1 이 송신모듈이고, 아두이노2 가 수신 모듈이면 
  1에서 2로만 데이터를 보낼 수 있습니다.
  
  https://github.com/sui77/rc-switch/releases/tag/2.6.2
  
  전용의 라이브러리가 나와있어 아주 쉽게 사용할 수 있습니다.
  
  배선 알아보기
  
   
 
  
  
  수신부 회로입니다.
  
  디지털 핀 2번 처럼 인터럽트 기능이 가능한 핀을 위주로 사용이 가능합니다.
  
  
  
  
  송신부 회로입니다.
  
   
 
  
  아무 디지털 핀이나 사용이 가능한 듯합니다.
  
  
  소스코드
  
  
  수신부
 
  | #include <RCSwitch.h> 
 RCSwitch mySwitch = RCSwitch(); 
 void setup() {   Serial.begin(9600);   mySwitch.enableReceive(0);  // 인터럽트 0번핀이 디지털핀 2번입니다.   pinMode(13,OUTPUT); } 
 void loop() {   if (mySwitch.available()) {     int value = mySwitch.getReceivedValue();     if (value == 0) {       Serial.print("Unknown encoding");     } else {       if(mySwitch.getReceivedValue() == 100){//수신받은 값이 100이면 LED를 키고 아니면 끕니다.         digitalWrite(13,HIGH);       } else {         digitalWrite(13,LOW);       }     }     mySwitch.resetAvailable();   } } | 
  송신부 
 
  | #include <RCSwitch.h> 
 RCSwitch mySwitch = RCSwitch(); 
 void setup() { 
   Serial.begin(9600);      // 디지털 핀 2번을 송신핀으로 지정   mySwitch.enableTransmit(2); }   unsigned long sTime = 0; void loop() {   sTime = millis();   while(millis() - sTime < 1000){//1초동안 계속 100을 보냄     mySwitch.send(100, 24);   }   while(millis() - sTime < 1000){//1초동안 계속 0을 보냄     mySwitch.send(1, 24);   } } | 
  
  동작 영상 확인 해보기 
  
  
  
  
  감사합니다.
  
  출처 메카솔루션
 
   
최신댓글