Как заставить работать nRF24L01, Уроки Arduino

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ก.ค. 2019
  • Уроки Arduino для начинающих, #8, Как заставить работать или почему не работают радиомодули nRF24L01
    🐾Оригинальные nRF24L01 на али: got.by/3kl1on got.by/3klqii
    лотерея или перемаркированные SI24R01: got.by/3klr07 got.by/3klqq3
    🐾Библиотека RF: tmrh20.github.io/RF24/index.html
    🐾Установка библиотеки в Arduino IDE: • Установка библиотеки в...
    🐾Старые примеры для модулей: arduinolab.pw/index.php/2015/1...
    Желающим оказать материальную поддержку.
    www.donationalerts.ru/r/arduin...
    #программирование #arduino #ардуино #уроки #nRF24L01
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 85

  • @anatolytitov4169
    @anatolytitov4169 4 ปีที่แล้ว +5

    Спасибо, полезно!

  • @1padlaxaker
    @1padlaxaker 4 ปีที่แล้ว

    спасибо за труд

  • @alexey1119
    @alexey1119 4 ปีที่แล้ว

    спасибо. интересно

  • @dizer3680
    @dizer3680 4 ปีที่แล้ว +2

    Посмотрел видос и чот интересно стало , кароч у меня оригинал, повезло

  • @user-sd4gi7vj5f
    @user-sd4gi7vj5f 4 ปีที่แล้ว +7

    Спасибо. А то я иногда не понимал, почему на устройство передаётся команда, а ответа нет. Думал проблема в коде, а тут всё стало на свои места. Я эти модули покупал у разных продавцов - где подешевле, и никогда на маркировку не смотрел. Ещё раз спасибо - открыли глаза.

    • @dred77780
      @dred77780 4 ปีที่แล้ว

      Абсолютно те же грабли.

    • @-92tv47
      @-92tv47 2 ปีที่แล้ว

      Спасибо вам и автору видио. Только думаю о данном модуле.

  • @user-dp8mr4jz8z
    @user-dp8mr4jz8z 4 ปีที่แล้ว

    Спасибо за подсказку, проверю все свои модули, ради интереса.., а то их штук 10 лежит.. ))

  • @kostya1306
    @kostya1306 4 ปีที่แล้ว

    Спасибо. Меня давно мучает вопрос по этим модулям. У них есть режим подтверждения приема данных. У самого пока руки не дошли разобраться. Если расскажете будет здорово.

  • @gromitwoll6907
    @gromitwoll6907 2 ปีที่แล้ว +2

    Решил проблему с задержкой delay.
    Для тех кто сталкивался с тем что модуль перестает работать после задержки больше 10 миллисекунд.
    Во-первых функция write в конце опускает питание модуля. Модуль может повторно не выйти из спящего режима. Питание нужно самому поднять.
    Но мне это не помогло. Оказалось что перед передачей числа нужно активировать две функции startListening() и stopListening().
    до сих пор не понимаю как они работают, но они пробуждают модуль после долгого сна.

  • @dimapiter7586
    @dimapiter7586 4 ปีที่แล้ว +1

    Всё хорошо, но хотелось бы конкретики так сказать. Вот есть бочка с водой на некоторой высоте, провода ло неё тянуть муторно, как реализовать на данных модулях отключения насоса внизу,
    когда уровень воды в бочке достигнет определенного уровня? Датчик поплавковый, герконовый итп. Наверху передатчик, внизу приемник.

  • @TolyaBogomolov
    @TolyaBogomolov 4 ปีที่แล้ว +1

    Хм... Теперь я точно сделаю радио магнитолу на ардуино)

  • @iiiBog
    @iiiBog 8 หลายเดือนก่อน +1

    У меня модули без усилителя - без текста на чипе, только точка. Модули с усилителем с оригинальной маркировкой. Но пока оба варианта работают без сбоев

  • @user-ov2ix1us3x
    @user-ov2ix1us3x 4 ปีที่แล้ว +31

    Интересно, я один жду шесть месяцев третий урок?)

    • @1two299
      @1two299 4 ปีที่แล้ว +1

      изв, 3й урок из чего ? иф не секрет

    • @manaevemil
      @manaevemil 3 ปีที่แล้ว +1

      Третьего урока так и до сих пор нет . 2020

    • @bbnmn4800
      @bbnmn4800 2 ปีที่แล้ว

      @@manaevemil все ещё нет. Сейчас2021

    • @PleerFol
      @PleerFol 2 ปีที่แล้ว +1

      @@bbnmn4800уже 2022 так то

    • @smehopraym7916
      @smehopraym7916 ปีที่แล้ว

      @@PleerFol всё ещё ждём.2023

  • @2009wein
    @2009wein 2 หลายเดือนก่อน

    А что посоветуете, аналог или лучше модулей нрф24?

  • @Sashka96963
    @Sashka96963 3 ปีที่แล้ว

    У меня с Али пришли 2 модуля одной не разломанной платой. Точки на одной вплотную к буквам, на другой с краю платы. Текст напечатан четко. Но из 8 шт заказанных нашел 2шт. SI24L01.

  • @sergt291
    @sergt291 4 ปีที่แล้ว +4

    Я также керамику напаиваю на них:-)

  • @SuperBatiskaf
    @SuperBatiskaf 4 ปีที่แล้ว

    Алексей подскажите что нибудь для моей хитрой задачи. Есть группа LoRa устройств объединенных в сеть, один в качестве раутера, остальные клиенты. У раутера есть соединение с интернетом через WiFi. Задача настроить передачу данных из устройств этой сети в интернет на MQTT сервер и обратно. Я так понимаю что нужно для PubSubClient предоставить свою имплементацию TCP Client - see PubSubClient::setClient(Client* client); Возможно есть уже готовая реализация клиента для LoRa модема, чтобы свою не писать? Там конечно класс небольшой, можно свое написать, тем более что в стандартной LoRa библиотеке уже есть реализация Stream, клиент к стриму несколько методов добавляет, типа connect по ай-пи адресу с хендшейком, запись чтение. Но с отладкой неделя уйдет легко. Возможно есть что то готовое?

    • @SuperBatiskaf
      @SuperBatiskaf 4 ปีที่แล้ว

      Похоже речь все таки идет про LoRaWAN, а LoRaStream все таки для пир ту пир. Задача значительно усложняется.

  • @user-jq7tc7qi5z
    @user-jq7tc7qi5z 4 ปีที่แล้ว +1

    сегодня нашел в клаве NRF24LE1H, хотя по даташиту там последняя буква максимум F. подделка?

  • @dmaraptor
    @dmaraptor 4 ปีที่แล้ว +2

    Ссылка на оригинальные модули из описания ведет на магазин с какими то нереальными ценами.
    Можна почти за те же деньги взять лора модули

  • @frmurafa3048
    @frmurafa3048 4 หลายเดือนก่อน

    Здравствуйте! Подскажите пожалуйста, возможно ли сделать детектор вайфай сигнала на основе данной платы? Нужно сделать прибор сигнализирующий об обгаружении вайфай звуковым и световым сигналом.

    • @DGT67
      @DGT67 3 หลายเดือนก่อน +1

      Да. См. функцию testCarrier();
      Назначение: Проверка наличия несущей частоты на выбранном канале (частоте).
      Синтаксис: testCarrier();
      Параметры: Нет.
      Возвращаемое значение: bool - наличие несущей на выбранном канале за все время его прослушивания.
      Примечание:
      Функция используется модулем в режиме приёмника, или после режима приёмника.
      Функцию можно использовать для проверки помех при выборе или смене канала. Если несущая обнаружена, значит на данном канале работает кто то другой и этот канал выбирать не стоит.
      При прослушивании канала для определения на нём сторонних устройств рекомендуется отключить автоматическую отправку подтверждения приёма данных вызвав функцию setAutoAck(false), чтоб не нарушать работу этих устройств.
      Функция не определяет факт наличия несущей в момент её вызова, а возвращает внутренний флаг библиотеки который устанавливается если за всё время прослушивания хоть раз была обнаружена несущая частота выбранного канала.
      Функция будет постоянно возвращать true если несущая была хоть раз обнаружена, пока не выйти из режима приёма функцией stopListening() и опять не начать прослушивание функцией startListening().
      Для обнаружения сторонних устройств можно использовать и функцию testRPD(), которая отличается от данной функции тем, что возвращает true при обнаружении только мощного сигнала на выбранном канале, а не любой несущей.

    • @DGT67
      @DGT67 3 หลายเดือนก่อน +1

      Но testCarrier будет также ловить уровни от микроволновки, мышек, наушников

    • @frmurafa3048
      @frmurafa3048 3 หลายเดือนก่อน

      @@DGT67 Большое спасибо!)

    • @frmurafa3048
      @frmurafa3048 3 หลายเดือนก่อน

      @@DGT67 Можно ли редактировать сигнал функции setAutoAkc ?

    • @DGT67
      @DGT67 3 หลายเดือนก่อน

      @@frmurafa3048 а что вы здесь хотите редактировать ? подтверждения - они либо есть либо их нет))) тем более setAutoAck() ничего не возвращает (void):
      void RF24::setAutoAck(bool enable)
      {
      if ( enable )
      write_register(EN_AA, 0b111111);
      else
      write_register(EN_AA, 0);
      }

  • @spajalnikom
    @spajalnikom 4 ปีที่แล้ว +1

    Давно с ними работал.До сих пор лежит собранный проект😀

  • @user-jc1cw7nm6s
    @user-jc1cw7nm6s 4 ปีที่แล้ว +1

    Подскажите в чём может быть проблема. Заказывал 2-ве одинаковых ардуино нано, к ним 2-ва одинаковых модуля nRF24L01+, собрал и когда решил проверить столкнулся с такой проблемой - в режиме обзора оба модуля работают нормально, а вот в связке друг с другом работать не хотят (кто бы из них ни был передатчиком, другой не хочет принимать данные)

    • @cycymber1
      @cycymber1 3 ปีที่แล้ว

      Такая же проблема

    • @murkotikus8383
      @murkotikus8383 3 ปีที่แล้ว

      Ты же проблема. Уже несколько разных продавцов перебрал. Везде чипы немного отличаются друг от друга в способе нанесения маркировки.
      Эфир слушают все, а вместе заработали только 2 модуля и то это продлилось недолго. Хз кароч. Появилось впечатление, что это очень ненадёжное устройство и лучше осваивать блютус модули.

  • @user-lc3oy3pj9v
    @user-lc3oy3pj9v 4 ปีที่แล้ว +13

    ну правильно... после шестого урока должен быть восьмой...

    • @dizer3680
      @dizer3680 4 ปีที่แล้ว +4

      А тоесть то что после 2 урока сразу 6 тебя вообще не смутило?!

    • @user-lc3oy3pj9v
      @user-lc3oy3pj9v 4 ปีที่แล้ว +1

      @@dizer3680 ну вообщето ожидалось что _шестой_ - последний.. потому что понятно что у автора с обучением - не очень...
      Но нет...
      а про нумерацию лучше всех сказал в своё время покойник задорнов..
      _"Пассажиры, у которых были билеты в девятый вагон, естественно, сели в первый из них. Потому что все нормальные люди с детства знают: девятый вагон тот, что сразу после восьмого. И никому в голову не может прийти, что после девятого вагона окажется снова девятый."_

    • @zer003drli6
      @zer003drli6 4 ปีที่แล้ว

      Правило больших компаний)

  • @alexandernikolaev6838
    @alexandernikolaev6838 3 ปีที่แล้ว +1

    Ссылка "Библиотека RF" не работает, ошибка 404 "File not found".

  • @startstopru
    @startstopru 3 ปีที่แล้ว

    Подскажите, всю голову сломал, передатчик с усилителем, приемник без, при уровне передатчика low передача идет, при уровне max или high на приемнике пусто(. Передатчик подключен через стабилизатор, кондер на питании, вроде все по феншуй. Что я делаю не так.

    • @cycymber1
      @cycymber1 3 ปีที่แล้ว

      Разобрались в чем проблема?

  • @user-he6vg3kk9l
    @user-he6vg3kk9l 4 ปีที่แล้ว +2

    Я бросил проект с радиомашинкой именно из-за проблем с этим модулем. Я уж думал, что я тупой и не могу нормально спаять все.

  • @indevor8337
    @indevor8337 4 ปีที่แล้ว

    Данные можно передавать одновременно с чтением(слушанием), если соблюсти ряд условий:
    radio.setAutoAck(1); // режим подтверждения приёма, 1 вкл 0 выкл
    radio.enableAckPayload(); // разрешить отсылку данных в ответ на входящий сигнал
    radio.enableDynamicPayloads(); //разрешить динамический размер пакета в ответе
    ...
    radio.setDataRate(RF24_1MBPS); // скорость обмена должна быть > 250
    и в пакете "ответа" улетит ваша "нагрузка" (payload)
    ...
    radio.read(&recieved_data, sizeof(recieved_data));
    //читаем нашу структуру
    radio.writeAckPayload(pipeNo, &telemetry, sizeof(telemetry) ); //отправляем структуру в ответе
    А тот модуль с усилителем, но с керамической антенной, сколько кушает и дальность хотя бы 100м будет?..

    • @indevor8337
      @indevor8337 4 ปีที่แล้ว

      @Planerful приемник отправит пакет в ответ на входящий сигнал от передатчика. Соответственно приемник должен слушать трубу передатчика.

    • @indevor8337
      @indevor8337 4 ปีที่แล้ว

      @Planerful т.е сначала готовим данные которые отправим. Потом слушаем и в момент "приема" отправляе м в ответе данные. Описываемая вами ситуация выше произайти не может.

    • @indevor8337
      @indevor8337 4 ปีที่แล้ว

      @Planerful реализуется просто: радио.врайтаскпейлоад(труба, массив отправки, ссылка на массив);
      радио.рид();

    • @indevor8337
      @indevor8337 4 ปีที่แล้ว

      @Planerful целесообразность в том что передатчику не нужно становиться приемником, а приемнику - передатчиком. Все остаются на своих местах и обмен двусторонний получатся. Код проще и батарейки сэкономим.

    • @indevor8337
      @indevor8337 4 ปีที่แล้ว

      @Planerful тут все очень подробно: wiki.iarduino.ru/page/NRF24L01-trema/ по функция.

  • @sherkhan1978
    @sherkhan1978 ปีที่แล้ว

    Скажите, а если схема, которую я повторяю (используется как спектроанализатор) использует обычную плату (БЕЗ усилка), то плата с усилком не заработает??? Я слышал, что усилок нужно как то инициализировать. Повторюсь, у меня только прием используется.

    • @LpSts
      @LpSts 8 หลายเดือนก่อน +1

      Модули с усилом и без работают вместе без напряга и доп.кода

    • @sherkhan1978
      @sherkhan1978 8 หลายเดือนก่อน

      @@LpSts спасибо, буду знать. Я думал на свичик нужно давать команду отдельно, что бы он знал включить приёмник или передатчику. Ведь усилок должен подкилываться только к передатчику (причём в момент передачи) и убираться в момент приёма ( ну типа байпасса включаться, в обход усилка). Вероятно если делать спектроанализатор (где нрф-ка на приём работает) то тут проще, а вот если аппу радиоуправления делать, что бы ещё не только передавала, но и принимала телеметрию, то коммутация нужна, верно???

  • @Ais_Hunt
    @Ais_Hunt 4 ปีที่แล้ว

    Когда-то пытался сделать простейшую мигалку на attiny13 и nRF в итоге потерпел неудачу. Причём Я пытался организовать передачу в одну сторону (не смотря на то что пины sck, miso, mosi нужня для перепрошивки. На тот момент Я не знал, что у тинки 13 - нет spi), т.е. замкнуть ногу CE на питание а csn по хитрой схеме через резистор и конденсатор.
    P.S. не повторяйте моих ошибок, лучше взять для передачи модуль на 433 мгц.

    • @indevor8337
      @indevor8337 4 ปีที่แล้ว

      сделал сигналку на attiny85 + nrf24l01 + pir-датчик)

  • @StatistPL
    @StatistPL 4 ปีที่แล้ว +1

    Не знаю как Si24R1, я покупал SE8R01. Продают их под видом nRF24L01 mini. Такая же чушь совместимости. Ходят легенды, что при проектировании китайцы там перепутали порядок бит в байте, в одном из регистров. На самом деле они совместимы (по радиоданным), но не работает RX_PAYLOAD для ACK и сам ACK. Т.е. данные отправить и принять можно, но подтверждение получить невозможно. Как и отправить полезные данные в ACK... а это ооооочень полезная функция. Ну и скорость 500 оригинальный чип не поддерживает, естественно. Крайне не рекомендую покупать SE8R01.. у них хоть мощность чуть больше, но там целая простыня инициализации и калибровки. Информации по ней минимум, пришлось рыть китайские сайты. Да и жрет она значительно больше оригинала (актуально для батарейного питания).

    • @dizer3680
      @dizer3680 4 ปีที่แล้ว

      Не чего не понимаю но очень интересно...

  • @riserise33able
    @riserise33able 4 ปีที่แล้ว +1

    А есть режим low power или deep sleep?

    • @riserise33able
      @riserise33able 4 ปีที่แล้ว

      Можно от батарейки запитать?

  • @user-ec7kq9hy9l
    @user-ec7kq9hy9l 4 ปีที่แล้ว +1

    а какой модуль порекомендуете для новичка?????

    • @arduinoLab
      @arduinoLab  4 ปีที่แล้ว +1

      JDY-40 может легко заменить nRFку

    • @user-nq1qx7qt5i
      @user-nq1qx7qt5i 3 ปีที่แล้ว

      ...
      Ток передатчика: 40 мА
      Ток приёмника: 24 мА
      Ток покоя: 5 мкА
      Питание: 1.9-3.6 В
      ...
      cxemka.com/40-besprovodnoi-modul-2-4-ggc-jdy-40-uartdistancionnoe-upravlenie.html

  • @lucmal11
    @lucmal11 3 ปีที่แล้ว +1

    а на каких модулях следует учиться ?

    • @MsMalets
      @MsMalets 3 ปีที่แล้ว +1

      Что нибудь на ГУ-50

    • @lucmal11
      @lucmal11 3 ปีที่แล้ว

      @@MsMalets что это ?

    • @user-nq1qx7qt5i
      @user-nq1qx7qt5i 3 ปีที่แล้ว

      @@lucmal11
      Это лампово ;)

  • @passaw7
    @passaw7 4 ปีที่แล้ว

    Как smd версию заставить работать больше чем на 6 метров?

    • @Egor00f
      @Egor00f 2 หลายเดือนก่อน

      + Питание не от ардуины
      + Припаяй антену

  • @gromitwoll6907
    @gromitwoll6907 2 ปีที่แล้ว

    ссылка на библиотеку не работает

  • @woffko5205
    @woffko5205 4 ปีที่แล้ว

    у меня NRF без усилителя около 20 метров пробивают, и конденсатор к ножкам обязательно.

    • @martinxi3286
      @martinxi3286 11 หลายเดือนก่อน

      бетон пробивает?

  • @TEENASPECT
    @TEENASPECT 4 ปีที่แล้ว +2

    И всё-таки они очень капризные по питанию.))

  • @exclight6820
    @exclight6820 4 ปีที่แล้ว +1

    Есть интересная тема, может соберёмся помозгуем. Авторазблокировка дверей авто при присутствии хозяина авто с работающим блютузом на телефоне. Т.е ардуина с блютузом стоит в машине на управлении замками открытия дверьми, при приближении телефона к авто и сопряжении с блютузом, двери автоматически разблокируются. Может кто подскажет как это реализовать. Автор канала, хэлп

  • @PenuriaArt
    @PenuriaArt 8 หลายเดือนก่อน

    То чувство, когда оригинал выглядит хуже клона

  • @arduinoLab
    @arduinoLab  4 ปีที่แล้ว +1

    а мог уехать в ПВД (

    • @user-mc6rv2pn2c
      @user-mc6rv2pn2c 4 ปีที่แล้ว +7

      в полиэтилен высокого давления?

    • @user-js4tr5sl2c
      @user-js4tr5sl2c 4 ปีที่แล้ว +2

      @@user-mc6rv2pn2c Поход Выходного Дня ?

    • @lebfrspb
      @lebfrspb 4 ปีที่แล้ว +2

      Летом надо ставить в приоритет ПВД. Хотя вот у нас дожди идут. Сижу дома. :(

    • @AlexeyBukreev
      @AlexeyBukreev 4 ปีที่แล้ว +1

      th-cam.com/video/q1T7ySrIzH0/w-d-xo.html

  • @zhuk462
    @zhuk462 4 ปีที่แล้ว

    про трубы не правильно рассказал

  • @Hedgehog_in_the_Fog
    @Hedgehog_in_the_Fog 4 ปีที่แล้ว

    *индитификатор :(

    • @arduinoLab
      @arduinoLab  4 ปีที่แล้ว

      не переживай, закончу уроки и закрою канал.

    • @Hedgehog_in_the_Fog
      @Hedgehog_in_the_Fog 4 ปีที่แล้ว

      Но я же про другое!

  • @romaVeber
    @romaVeber 4 ปีที่แล้ว

    на сколько я понял, данные можно ганять в обе стороны, но не одновременно

  • @user-kx3cv4rc5w
    @user-kx3cv4rc5w 4 ปีที่แล้ว

    Было интересно, но ниуя не понял.