Почему модули NRF24L01 взаимодействуют только в одном направлении
У меня есть 2 модуля NRF24L01 +pa +lna, подключенных к 2 arduino mini pro. Один из модулей находится на джойстике, а другой — на самолете. Все работало отлично до прошлой недели, когда они перестали общаться. Поэтому я написал простой код приемника и приемопередатчика, чтобы проверить, работают ли они. В результате, если модуль в самолете является приемопередатчиком, а джойстик — приемником, все работает нормально. Если у них противоположные роли, то я получаю пустые сообщения на последовательный монитор гораздо чаще, чем трансивер отправляет сообщение.
Код получателя:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8);
const byte address[6] = "00001";
void setup() {
while (!Serial);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.startListening();
}
void loop() {
if (radio.available())
{
char text[32] = {0};
radio.read(&text, sizeof(text));
Serial.println(text);
}
}
Код трансивера:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7,8);
const byte address[6] = "00001";
void setup() {
radio.begin();
radio.openWritingPipe(address);
radio.stopListening();
}
void loop() {
const char text[] = "Hello World";
radio.write(&text, sizeof(text));
delay (1000);
// put your main code here, to run repeatedly:
}
@AdamVarga, 👍1
Обсуждение1 ответ
При получении кода... попробуйте определить только переменную. символьный текст[32];
Вы меняете скорость передачи данных, palevel и канал в nrf24l01. См. техническое описание для получения дополнительной информации. Или посетите https://howtomechatronics.com/tutorials/arduino/arduino-wireless-communication-nrf24l01. -учебник/
Возможно, у вас проблемы с питанием, потому что pro mini может не обеспечивать достаточную мощность.... чтобы не использовать конденсатор 10 мкФ в nrf.
- Как заставить Arduino взаимодействовать с тремя другими Ардуино?
- Как автоматически сбросить nrf24l01+ с кодом?
- Питание Arduino Mini Pro с использованием батареи CR2032 в качестве пульта дистанционного управления
- nRF24L01 + потеря пакетов, вызванная считыванием Arduino и связью с датчиками
- Как автоматически сбросить модуль NRF24L01
- Как запитать NRF24L01 от Arduino Pro Mini?
- Отправка структуры данных с 2 полями int из Arduino в Raspberry через NRF24L01
- Сообщение передается несколько раз от одного arduino к другому с помощью nRF24L01
Существует множество китайских клонов чипов nRF24L01+, и некоторые из них работают лучше, чем другие., @Majenko
поменять местами модули, @jsotola