Arduino-무선 통신

무선 송신기 및 수신기 모듈은 315MHz에서 작동합니다. 브레드 보드에 쉽게 장착 할 수 있으며 마이크로 컨트롤러와 잘 작동하여 매우 간단한 무선 데이터 링크를 생성합니다. 한 쌍의 송신기와 수신기를 사용하면 모듈이 단방향 데이터 통신 만 작동하지만 송신기 / 수신기 쌍으로 작동하려면 두 쌍 (다른 주파수의)이 필요합니다.

Note− 이러한 모듈은 무차별 적이며 상당한 소음을받습니다. 송신기와 수신기는 모두 공통 주파수에서 작동하며 ID가 없습니다.

수신기 모듈 사양

  • 제품 모델-MX-05V
  • 작동 전압-DC5V
  • 무부하 전류-4mA
  • 수신 주파수-315Mhz
  • 수신기 감도--105DB
  • 크기-30 * 14 * 7mm

송신기 모듈 사양

  • 제품 모델-MX-FS-03V
  • 발사 거리-20 ~ 200m (전압 차이, 결과 차이)
  • 작동 전압-3.5-12V
  • 치수 − 19 * 19mm
  • 작동 모드-AM
  • 전송 속도-4KB / S
  • 송신 전력-10mW
  • 전송 주파수-315Mhz
  • 외부 안테나-25cm 일반 다중 코어 또는 단일 코어 라인
  • 왼쪽 → 오른쪽에서 핀아웃-(DATA; V CC ; GND)

필요한 구성 요소

다음 구성 요소가 필요합니다-

  • 2 × Arduino UNO 보드
  • 1 × Rf 링크 송신기
  • 1 × Rf 링크 수신기

순서

회로도에 따라 아래 그림과 같이 연결하십시오.

스케치

컴퓨터에서 Arduino IDE 소프트웨어를 엽니 다. Arduino 언어로 코딩하면 회로가 제어됩니다. 새로 만들기를 클릭하여 새 스케치 파일을 엽니 다.

Note− Arduino 라이브러리 파일에 키패드 라이브러리를 포함해야합니다. 아래 스크린 샷에 강조 표시된대로 라이브러리 폴더에 VirtualWire.lib 파일을 복사하여 붙여 넣습니다.

송신기 용 Arduino 코드

//simple Tx on pin D12
#include <VirtualWire.h>
char *controller;

void setup() {
   pinMode(13,OUTPUT);
   vw_set_ptt_inverted(true);
   vw_set_tx_pin(12);
   vw_setup(4000);// speed of data transfer Kbps
}

void loop() {
   controller="1" ;
   vw_send((uint8_t *)controller, strlen(controller));
   vw_wait_tx(); // Wait until the whole message is gone
   digitalWrite(13,1);
   delay(2000);
   controller="0" ;
   vw_send((uint8_t *)controller, strlen(controller));
   vw_wait_tx(); // Wait until the whole message is gone
   digitalWrite(13,0);
   delay(2000);
}

참고할 코드

이것은 간단한 코드입니다. 먼저 문자 '1'을 보내고 2 초 후에 문자 '0'을 보냅니다.

수신기 용 Arduino 코드

//simple Rx on pin D12
#include <VirtualWire.h>

void setup() {
   vw_set_ptt_inverted(true); // Required for DR3100
   vw_set_rx_pin(12);
   vw_setup(4000); // Bits per sec
   pinMode(5, OUTPUT);
   vw_rx_start(); // Start the receiver PLL running
}

void loop() {
   uint8_t buf[VW_MAX_MESSAGE_LEN];
   uint8_t buflen = VW_MAX_MESSAGE_LEN;
   if (vw_get_message(buf, &buflen)) // Non-blocking {
      if(buf[0]=='1') {
         digitalWrite(5,1);
      }
      if(buf[0]=='0') {
         digitalWrite(5,0);
      }
   }
}

참고할 코드

Arduino 보드의 5 번 핀에 연결된 LED는 문자 '1'이 수신되면 켜지고 문자 '0'이 수신되면 꺼집니다.