nRF24L01+ : побеждаем модуль.

Тема в разделе "Проводная и беспроводная связь", создана пользователем ИгорьК, 19 июн 2014.

  1. MaksOne

    MaksOne Нерд

    Timing я конечно же прописывал в начале скетча unsignet long.

    Приемник принимает. Если менять передаваемую переменную "data" в передающем скетче и загружать в дyину, то приемник принимает и отображает новую переменную. Т.е. приемник работает постоянно и слушает, что ему передают, и его перезагружать не нужно.
    Паузу для радиоузла отдавать надо, но как тогда объяснить, что, если передатчик лупит информацию в эфир с задержкой delay(10), то всё отлично. А когда требуется разовая отправка информации, например, по нажатию кнопки, то ничего не происходит? Ведь в таких случаях у "радиоузла" времени для этой самой подстройки просто валом. Мы ведь не моментально после включения передатчика жмём на эту самую кнопку. Я пробовал и в разовой отправке данных по флагу добавлять delay(10) после radio.write, но это ни к чему не приводит. Да и никто никаких задержек не ставит после отправки, сколько скетчей я изучал.
     
  2. MaksOne

    MaksOne Нерд

    Очень странная вещь. Два комплекта. Абсолютно идентичных. Подключение двух одинаковых NRF идентичное. В обоих скетчах объект radio прописан одинаково:
    Код (C++):
    RF24 radio(9, 10);
    Результат - проблема, описанная мною выше.
    При очередном тесте системы случайно в передающем скетче прописал объект radio на выводы (7, 10) вместо (9, 10) ииии... О, чудо! Всё заработало! Хотя выводы CE и SS на передающей стороне подключены именно на 9 и 10 пины! Думал, может ошибся, но перепроверил всё десять раз - нет ошибки. 9 и 10 пин.
    Попробовал на приемнике прописать объект так же на 7,10 пины вместо 9,10 - и всё, связь опять теряется.
    Чертовщина какая-то :confused: но, главное, заработало. Хоть и через одно место и совершенно непонятно, почему именно так
     
  3. MaksOne

    MaksOne Нерд

    Столкнулся с еще одной неясной ситуацией. При работе с ардуино уно модуль nRF работает на передачу как часы. Стоит подключить модуль к ардуино нано (проверял на нескольких платах, результат одинаковый) - как всё глохнет, но начинает работать только после прикосновения пальцем сразу двух контактов на ардуине - D9 и D10, подключенных к контактам CE и CSN на модуле. Проверял на нескольких платах NANO - результат один и тот же. Может кто подсказать, что за напасть?

    UPD: Решил эту проблему включением резистора 10К между D9 и D10 прямо на плате NANO.
    С чем это связано - неясно. Чем больше работаю с модулями - тем больше удивляюсь
     
    Последнее редактирование: 26 июн 2024