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В Без адаптера: 33В |
Скетч:
Щоб почати перші кроки з цим модулем, треба перевірити кожен модуль на працездатність. Підключаємо один модуль по схемі вище до однієї 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. Використання матеріалів дозволено лише з посиланням на джерело.
Написати коментар