Радиомодуль nrf24l01+ lna pa не принемает данные..

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем OlgaF, 15 ноя 2023.

  1. ИгорьК

    ИгорьК Гуру

    И какого... ты в этом случае даёшь советы и поддерживаешь мнение ТС что эта железка как два пальца... Вон товарищ изготовитель пульта @OldKryptos рассказывает принципиально шаманские вещи.
    Да. Это железка как железка: обеспечь стабильность работы по электронке, пойми даташит и убедись в правильности работы с ней, а также угадай особенности подделки и все ОК. Но это не уровень ТС.
     
    Airbus нравится это.
  2. Airbus

    Airbus Радиохулиган Модератор

    Зачем ТС все это? У нее есть Ардуино и есть парочка nrf. Да купила сдуру не подумав и непонятно для чего. Пусть разбирается. Код ПушногоЗвера у нее ведь заработал? Значит не все так плохо. Не пишет значит видимо читает тему? 5 копеек от себя—с nrf сталкивался однажды. Делал рацию но скорее не для связи а любопытства ради. И надо сказать заработало сразу! И таки да стараюсь этот модуль обходить стороной—использую модули или на 315 мгц или на 434
     
  3. parovoZZ

    parovoZZ Гуру

    что какого?

    в плане программирования железка простая, т.к. проблемы адресации, достоверности информации и подтверждения доставки в ней решены нативно. Достаточно соблюсти даташитовские интервалы и не запутаться с адресацией и железка будет работать.

    понятия не имею.
     
  4. OldKryptos

    OldKryptos Гик

    Ох, уж это менторство - ..."товарищ"... - ..."изготовитель пульта"... - "...шаманские вещи..." Гуру раздражен? Почему? Откуда такая спесь? Это форум профессионалов и экспертов, или любителей конструктора Ардуино? Считаете себя профи, вам тесно в этом лягушатнике, так, может вам форум уровнем повыше нужен? Гражданин эксперт ИгорьК, изготовитель умного дома, и прочее и прочее, и прочее?
     
  5. Airbus

    Airbus Радиохулиган Модератор

    У каждого своя правда и свой опыт. У меня если не получается сегодня и нет времени досконально разбираться то откладываю в «долгий ящик». Так называю коробку из фанеры в которой лежат устройства и модули которые не завелись с первого раза. Потом когда совсем делать нечего читаю даташиты,форумы пытаюсь совместить все в голове и снова запустить устроство. И о Чюдо! Все начинает работать и не просто работать а так как надо мне. Как то так
     
  6. ИгорьК

    ИгорьК Гуру

    Фигасе. Пульт не изготавливали? Изготавливали. Про странные вещи с железкой не рассказывали? Рассказывали. Можно эту железку рекомендовать без танцев с бубном, читая ваш пост - нет!

    Друже, вас никто не кусает. Не надо защищаться. Да миллион вам извинений и букет цветов в придачу, если обидел. Но, ИМХО, вы сами обиделись, зачем-то вам это нужно.

    Ну, мир?

    А хотите посрамить "левого гуру Игоря" - доведите девушку до готового победного устройства, наберите лайков и поцелуев - вот и ответ делом.
     
    DetSimen нравится это.
  7. OldKryptos

    OldKryptos Гик

    Да, без проблем.
    Можно об одном и том же сказать по разному, ну, поняли же, да? Мы, как бы, до сих пор на брудершафт не пили, поэтому некоторая фамильярность на данном этапе была избыточна, на мой взгляд.
    Что касается комментария по теме. Советы выкинуть модуль, я не оспоривал, даже описал часть проблем, и что, да - ядерную кнопку на нем бы не стал делать. Но, привел живые примеры, где он реально используется. То есть человек, сам должен подумать - мучить дальше модуль, или найти ему альтернативу.
     
    Последнее редактирование: 21 ноя 2023
    ИгорьК нравится это.
  8. OlgaF

    OlgaF Нерд

    Огромное вам спасибо за то что показали рабочий код! За два месяца находила только те, что вообще не работали.. Всё кроме:
    Код (C++):

    // Подключение библиотеки для обмена данными по протоколу SPI.
    #include <SPI.h>
    // Подключение файла с настройками для библиотеки RF24.
    #include <nRF24L01.h>
    // Библиотека RF24 для работы радиостанции "NRF24L01+" по
    // методам объявленным в этой библиотеки.
    #include <RF24.h>

    // Инициализация радиомодуля на Arduino UNO
    // 9 и 10 - это номера пинов CE и CSN модуля nRF24L01+.
    RF24 radio(9, 10);
    // Для Меги.
    //RF24 radio(9,53);

    const uint8_t num_channels = 128;
    uint8_t values[num_channels];
    void setup() {
      // Инициализация последовательного порта и установление скорости
      // для передачи данных в 9600 бит.
      Serial.begin(9600);
      printf_begin();
      // Инициализация функции библиотеки для радиостанции NRF24L01+
      radio.begin();
      // Инициализация для управления автоматической отправкой
      // пакетов подтверждения приёма данных.
      radio.setAutoAck(false);
      // Переключение радиостанции "NRF24L01+LNA PA" в режим
      // прослушивания труб.
      radio.startListening();

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

      radio.stopListening();
      // А это напечатает нам заголовки всех 127 каналов
      int i = 0;
      while ( i < num_channels )  {
      // Вывод сообщения в монитор терминала компьютера.
      printf("%x", i >> 4);
      ++i;
      }
      // Вывод сообщения в монитор терминала компьютера.
      printf("\n\r");
      i = 0;
      // Выполняется Цикл до тех пор пока значение в переменной
      // в которой сохраняются результаты сканирования радио-эфира
      // меньше чем в переменной i.
      while ( i < num_channels ) {
      // Вывод сообщения в монитор терминала компьютера.
      printf("%x", i & 0xf);
      // К значению в переменной в цикле прибавляется число 1.
      ++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));
      // К значению в переменной в цикле прибавляется число 1.
      ++i;
      }
      // Вывод разделителя данных в монитор терминала компьютера.
      printf("\n\r");
    }
    int serial_putc( char c, FILE * ) {
      Serial.write( c );
      return c;
    }

    void printf_begin(void) {
      fdevopen( &serial_putc, 0 );
    }
    ;
    Благодаря ответу в монитор от этой программы удалось установить, что радиомодули всё=же работают, а не просто кусок материалов.

    Огромное спасибо так-же одному очень уважаемому форумчанину!
    Код оказался рабочим и дорабатывая его, зная "Описание методов библиотеки", удаётся с его помощью получить не плохой конструктор для работы от радиостанции и в качестве двухстороннего радиообмена с различными устройствами. Зависание удалось убрать за счёт очистки буфера и лучшему фиксированию контактов примыкания к радиомодулю. Всё работает как надо, если контакты радиомодуля не болтаются. А программная часть для работы Arduino это не вопрос для меня. Когда радиомодули казались мёртвыми, совершенно не понятно было что делать, в какую сторону копать (или закапывать). Теперь всё стало понятно, всё успешно работает! Проблема решена! Всем спасибо!
     
  9. Airbus

    Airbus Радиохулиган Модератор

    Ему У него и сайт свой и канал на Ютубе много всего интересного и толкового—советую посмотреть. Тут все как уже все сказали проверяйте все в комплексе и код и железо. Рад что Вы разобрались и у Вас все заработало! Ставть лайки!
    [​IMG]
     
    Последнее редактирование: 22 ноя 2023
    DetSimen нравится это.
  10. DetSimen

    DetSimen Гуру

    Ты сётаки зачитай чонить за НС-12 или JDY-40|41, узнАешь как передавать данные без проводов, далеко и без головной боли.
     
    Airbus нравится это.
  11. OldKryptos

    OldKryptos Гик

    Ну да. Проверка контактов, это то, с чего нужно начинать, если модуль не хочет работать. Поэтому эта проблема и указана первой в моём списке. Как правило, я сразу спаиваю стаб с радиомодулем, а уже потом начинаю с ним работать.
    nrf.jpg
     
    Airbus нравится это.