NRF24L01 — Беспроводной модуль
NRF24L01 — это беспроводной модуль для передачи и приёма данных на частоте 24 ГГц. Он позволяет создавать простые, надёжные и недорогие беспроводные сети для обмена информацией между различными устройствами. Этот модуль широко используется в проектах с микроконтроллерами такими как Arduino благодаря его низкому энергопотреблению, небольшому размеру и способности передавать данные на расстоянии до нескольких сотен метров. Модули бывают с антенной 1419 (дальность связи до 500 м) и без антенны 1211 (дальность связи до 30 м). Частота работы: 24 ГГц.
Для чего используется NRF24L01?
Передача данных между микроконтроллерами: Этот модуль популярен в проектах, где необходимо передавать данные между двумя или более микроконтроллерами (Arduino, ESP8266, ESP32 и т.д.). Например, можно построить систему дистанционного управления или считывать данные с датчиков на расстоянии.
Беспроводные сенсорные сети: NRF24L01 используется для создания сетей датчиков, где информация от нескольких сенсоров собирается и передаётся на центральный контроллер.
Дистанционное управление: Модуль подходит для проектов дистанционного управления, таких как радиоуправляемые модели, автоматизация домашних устройств или промышленных систем.
Интернет вещей (IoT): NRF24L01 может быть частью IoT-систем для передачи данных от устройств к интернет-шлюзам.
Как работает NRF24L01?
Модуль использует нелицензированную частоту 24 ГГц, которая широко доступна по всему миру. Он обеспечивает дуплексную связь, то есть может одновременно передавать и получать данные, что делает его идеальным для интерактивных проектов. Поддержка многоканальной передачи и использование в сети до 6 приёмников позволяет создавать более сложные системы. NRF24L01 работает через SPI-интерфейс, что позволяет микроконтроллеру легко обмениваться данными с модулем. Благодаря простому программному обеспечению, как например библиотека RF24 для Arduino, настройка и использование модуля становится очень удобным, даже для начинающих.
Нам понадобится:
- NRF24L01 или с антенной 1419, или без антенны код товара 1211 – 2 шт
- Необязательно адаптер питания код товара код товара1211 – 2 шт
- Arduino Nano код товара 1252 – 2 шт
- Дюпон-провода для подключения код товара 1253
- Если не используем адаптер питания, то конденсатор любой от 10 мкФ до 100 мкФ, 10В, например код товара 5220 – 2 шт
Схема подключения:
Если используем адаптер питания, то питание подаём с Arduino напрямую 5В. Если без адаптера питания, то только 3.3В подаём напрямую с Arduino и между VCC и GND ставим конденсатор обязательно!
NRF24L01 | Arduino |
---|---|
CE | D9 |
CSN | D10 |
SCK | D13 |
MOSI | D11 |
MISO | D12 |
GND | GND |
VCC | С адаптером: 5В Без адаптера: 3.3В |
Скетч:
Чтобы сделать первые шаги с этим модулем, нужно проверить каждый модуль на работоспособность. Подключаем один модуль по схеме выше к одной Arduino и устанавливаем библиотеки:
SPI.h
RF24.h
Переходим к скетчу RF24_Test (ссылка на скетч в конце статьи), загружаем его и открываем монитор порта. В мониторе порта мы должны увидеть следующее:
Этот скетч мы проверили работоспособность модуля и смотрим, в каком канале нет шумов. Шумы — это любые устройства, такие как роутеры, наушники или микроволновая печь. Если в строке TX_ADDR
вы увидели адрес со всеми 0, то либо модуль не работает, либо неправильно подключен. Как видно из набора цифр ниже, у нас шумы начинаются на 22 и заканчиваются на 45. Нам нужно найти адрес, где не будет шумов. Можно взять за шумы адрес или после шумов. Как показывает практика, лучше брать после шумов. Например, я бы взял адрес 60.
Запомнили этот номер — он нам понадобится. Также тестируем другой модуль и переходим к скетчу, чтобы управлять светодиодами дистанционно с другой Arduino, нажимая на кнопки. Схема подключения модуля такая же, только на передатчик подключаем ещё кнопки 1337 между пином D2 и GND, D3 и GND, D4 и GND, D5 и GND. А на приёмник подключаем катод светодиода к GND через резистор 330 Ом (5140), а анод светодиода к пину D2. Также подключаем светодиоды между D3 и GND, D4 и GND, D5 и GND.
Переходим к скетчу передатчика PEREDAHA (ссылка на скетч в конце статьи). Подключаем кнопки, модуль NRF24L01 оставляем подключённым так же, как было. Проще подключать кнопки на макетной плате – код товара 1119.
Вписываем в скетчи наш канал без шумов.
Всё остальное оставляем без изменений. Переходим к приёмнику. Модуль NRF24L01 подключаем к другой Arduino по аналогии с первым модулем и подключаем светодиоды. В скетче также вписываем тот же адрес 60. И загружаем скетч PRIEM(ссылка на скетч в конце статьи).
После успешной загрузки двух скетчей подключаем две Arduino к питанию, например, от Power Bank, и если мы нажимаем кнопку D2 на передатчике, то на приёмнике должен загореться соответствующий светодиод на соответствующем пине. То же самое будет при нажатии на другие кнопки. Если всё работает — вы молодцы, и у нас всё получилось.
Загрузка необходимых файлов
Для успешного выполнения проекта вам нужно загрузить все необходимые файлы:
Вывод:
NRF24L01 — это мощный инструмент для создания беспроводных сетей с низким энергопотреблением. Его можно использовать в проектах автоматизации, системах мониторинга и контроля, дистанционном управлении и других приложениях, где необходима надёжная и экономичная передача данных на короткие расстояния.
© 2024 Мій Проект. Автор: Ardu_miha. Использование материалов разрешено только с ссылкой на источник.
Написать комментарий