Вопрос по модулю nrf24l01

sasha320v

✩✩✩✩✩✩✩
2 Ноя 2018
4
0
Есть две платы ардуино, одна UNO от WAVGAT, другая NANO от GREAT WALL , и два модуля nrf24l01. Запускаю программу для прослушки радиоканалов(nrf_listen_air.ino). Скетч взял отсюда https://github.com/AlexGyver/nRF24L01/blob/master/nRF24L01 tests/nrf_listen_air/nrf_listen_air.ino
C-like:
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"

RF24 radio(9,10); // инициализировать модуль на пинах 9 и 10 Для Уно
//RF24 radio(9,53);// Для Меги

const uint8_t num_channels = 128;
uint8_t values[num_channels];
void setup(void)
{
  Serial.begin(9600);
  printf_begin();
  radio.begin();
  radio.setAutoAck(false);
  radio.startListening();

  radio.printDetails();  // Вот эта строка напечатает нам что-то, если все правильно соединили.
  delay(5000);              // И посмотрим на это пять секунд.

  radio.stopListening();
  int i = 0;    // А это напечатает нам заголовки всех 127 каналов
  while ( i < num_channels )  {
    printf("%x",i>>4);
    ++i;
  }
  printf("\n\r");
  i = 0;
  while ( i < num_channels ) {
    printf("%x",i&0xf);
    ++i;
  }
  printf("\n\r");
}
const int num_reps = 100;

void loop(void)
{
  memset(values,0,sizeof(values));
  int rep_counter = num_reps;
  while (rep_counter--) {
    int i = num_channels;
    while (i--) {
      radio.setChannel(i);
      radio.startListening();
      delayMicroseconds(128);
      radio.stopListening();
      if ( radio.testCarrier() )
        ++values[i];
    }
  }
  int i = 0;
  while ( i < num_channels ) {
    printf("%x",min(0xf,values[i]&0xf));
    ++i;
  }
  printf("\n\r");
}
int serial_putc( char c, FILE * ) {
  Serial.write( c );
  return c;
}

void printf_begin(void) {
  fdevopen( &serial_putc, 0 );
}
И почему то UNO радиомодули определяет, но не видит никаких шумов по радиоканалам, везде нули, как будто всё чисто. Проверял на двух модулях nrf24l01 один с усилителем другой нет, результат один и тот же
Screenshot_1.png
Но если подключить к NANO и загрузить этот же самый скетч, то там уже не нули, на некоторых каналах видны шумы.

Вопрос, почему UNO ничего не видит, плата с дефектом или я что-то не так делаю ?
 

kostya1306

✩✩✩✩✩✩✩
9 Дек 2018
3
0
Добрый день. Если проблема еще актуальна, могу предложить решение. Думаю, все знают, что NRF требовательна к качеству питания. Припаяйте конденсатор параллельно питанию модуля NRF. Если конденсатор уже есть, значит нужент бОльшей емкости. Я как-то поймал такой глюк. Pro mini + NRF. Модуль определяется корректно, но в эфире видит только нули.Конденсатор в 10мкф решил проблему.
 

kostya1306

✩✩✩✩✩✩✩
9 Дек 2018
3
0
Напрямую. У меня Pro mini 3.3в. Если использовать 5в ардуинки, то тоже напрямую нормально работает, только питание от 3.3в ноги надо взять.