아두이노로 간단히 NRF24L01 RF 무선통신 사용하기!!
Embeded2021. 2. 6. 12:42
반응형
NRF24L01은 제어하기가 까다롭지만 아두이노는 라이브러리를 사용해서 아주 간단히 제어할 수 있습니다
일단 아두이노 라이브러리 매니저에서 nrf24l01로 검색해서 위으 라이브러리를 설치 합니다
그리고 NRF24L01 모듈을 아두이노와 연결해 줍니다
사용하시는 아두이노 보드에 맞게 위의 핀맵을 참고해서 연결하시면 됩니다
전부 다 연결하고 IRQ는 연결하지 않으셔도 됩니다
- 송신쪽 소스 -
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 10); // CE(D7), CSN(D10)
const byte address[6] = "00001";
void setup() {
Serial.begin(9600);
Serial.println("trans Start");
// ----- nrf24l01 송신 부분 ----- //
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
const char text[] = "nrf24l01 test";
radio.write(&text, sizeof(text));
delay(1000);
// ----- nrf24l01 송신 부분 ----- //
}
void loop() {
}
- 수신쪽 소스 -
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 10); // CE(D7), CSN(D10)
const byte address[6] = "00001";
void setup() {
Serial.begin(9600);
Serial.println("receive Start");
// ----- nrf24l01 수신 부분 ----- //
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
// ----- nrf24l01 수신 부분 ----- //
}
void loop() {
// ----- nrf24l01 수신 부분 ----- //
if (radio.available()) {
char text[32] = "";
radio.read(&text, sizeof(text));
Serial.println(text);
}
// ----- nrf24l01 수신 부분 ----- //
}
송신쪽 소스는 처음 시작시에만 데이터를 보내게 되어 있습니다
테스트시 리셋 버튼을 누르면 데이터를 한번 보냅니다
그리고 수신쪽에서는 송신쪽에서 받은 데이터를 시리얼로 확인할 수 있습니다
시리얼 모니터를 열어서 확인하시면 됩니다
반응형
'Embeded' 카테고리의 다른 글
[PSpice] Mosfet 2N7000 라이브러리 등록하는 방법!!! (0) | 2021.04.16 |
---|---|
[PSpice] pspice model used by is undefined 에러 대처법!! (0) | 2021.04.16 |
CP2102와 CP2104 차이점!!! (0) | 2021.01.10 |
샤오미 ROSOU 선풍기 분해하기!!! (2) | 2021.01.10 |
오드로이드 부트 로고(Boot Logo) 변경 방법!!! (0) | 2020.09.24 |