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'이 수신되면 꺼집니다.