아두이노에 활용할 수 있는 수많은 무선통신 모듈이 있다.
하지만 마이너 한 분야인 만큼, 대부분 소량생산이기 때문에 비싸다!
대중적인 와이파이, 블루투스 등의 모듈은 그나마 저렴 하지만, 장거리 통신 용도로는 적합하지 않다.
또한 사용하는 사람이 많아야 정보도 많아서 사용하기 편리하다.
그래서 nRF24L01모듈을 사용하게 되었다.
ESP32 DEV KIT V4 기준으로 다음과 같이 연결하면 된다.
(VCC와 GND사이에 10uf 커패시터를 연결해야 정상적으로 작동한다.)
nRF24L01 | ESP32 DEVKIT V4 | nRF24L01 | ESP32 DEVKIT V4 |
VCC | 3.3v | GND | GND |
CE | GPIO 4 | CSN | GPIO 5 |
MOSI | GPIO 23 | MISO | GPIO 19 |
SCK | GPIO 18 | IRQ | X |
GitHub - nRF24/RF24: OSI Layer 2 driver for nRF24L01 on Arduino & Raspberry Pi/Linux Devices
OSI Layer 2 driver for nRF24L01 on Arduino & Raspberry Pi/Linux Devices - GitHub - nRF24/RF24: OSI Layer 2 driver for nRF24L01 on Arduino & Raspberry Pi/Linux Devices
github.com
위의 라이브러리를 사용할 것이다.
ps5-esp32 라이브러리보다는 사용자가 많아서(엄청!)
정보 습득이 수월했다.
하지만 사람마다 다른 사용법을 사용해서 파악하는데 힘들었다.
주제넘은 어려운 프로젝트를 하려고 해서 그런 것 같다.
아무튼 꾸역꾸역 배워가고 있는데,
무선통신이라서 막히는 부분이 많다. 같은 코드를 실행했을 때, 될 때가 있고, 안 될 때가 있다.
게다가 어느 부분에서 잘못되었는지 디버깅도 어렵다.
우여곡절 끝에 내가 맞다고 생각하는 코드가 완성되었다.
(송신 코드)
#include <SPI.h>
#include <RF24.h>
RF24 radio(4, 5);
uint8_t address[6] = {"12345"};
void setup() {
Serial.begin(115200);
while (!Serial) { }
if (!radio.begin()) {
Serial.println(F("radio hardware is not responding!!"));
while (1) {}
}
radio.setPALevel(RF24_PA_MAX);
radio.openWritingPipe(address);
radio.stopListening();
}
int time;
void loop() {
time = millis();
radio.write(&time, sizeof(int));
}
(수신 코드)
#include <SPI.h>
#include <RF24.h>
RF24 radio(4, 5);
uint8_t address[6] = {"12345"};
void setup() {
Serial.begin(115200);
while (!Serial) { }
if (!radio.begin()) {
Serial.println(F("radio hardware is not responding!!"));
while (1) {}
}
radio.setPALevel(RF24_PA_MAX);
radio.openReadingPipe(0, address);
radio.startListening();
}
int time_input;
void loop() {
radio.read(&time_input, sizeof(int));
Serial.println(time_input);
}
잘 된다!!
이제 듀얼센스 코드와 합치기만 하면 완성이다.
물론 완성하고 납땜, 케이스 제작을 해서 완성도를 높여볼 예정이다.
그럼 안녕~!
'아두이노 > Dualsense' 카테고리의 다른 글
듀얼센스 신호 변환기 3.0 : 하드웨어, 소프트웨어 최적화 계획 (0) | 2023.02.14 |
---|---|
듀얼센스 신호 변환기 2.1 : 파이썬 pydualsense로 듀얼센스 값 받고 아두이노로 보내기 (0) | 2022.11.14 |
듀얼센스 신호 변환기 2.0 : 새로운시작 (2) | 2022.11.13 |
듀얼센스 신호 변환기 feat. ESP32, nRF24L01 - 1.0 : 듀얼센스-ESP32 연결 (0) | 2022.09.18 |
듀얼센스 신호 변환기 0.0 : 시작 (0) | 2022.09.17 |