Радіомодуль nRF24L01 (2,4 ГГц, SPI)
nRF24L01 — компактний радіопередавач-приймач для бездротового обміну даними між мікроконтролерами на частоті 2,4…2,5 ГГц. Керується через інтерфейс SPI. Підходить для Arduino, ESP32, STM32 та інших платформ.
Характеристики
- Діапазон частот: 2,4…2,5 ГГц
- Інтерфейс: SPI
- Дальність: до 100 м (на відкритому просторі), у приміщенні до 30 м
- Живлення: 1,9…3,6 В (логічні рівні — 3,3 В)
- Розміри плати: 15 × 29 мм
Переваги
- Низьке енергоспоживання, висока швидкість обміну
- Бібліотека RF24 (TMRh20) та розширення для мереж (RF24Network, RF24Mesh)
- Гнучке налаштування швидкості (250 кбіт/с, 1 Мбіт/с, 2 Мбіт/с) і потужності
Підключення до Arduino UNO
- VCC → 3.3V (обов’язково! не 5 В)
- GND → GND
- CE → D7 (можна будь-який вільний пін)
- CSN (CS) → D8 (можна будь-який вільний пін)
- SCK → D13
- MOSI → D11
- MISO → D12
Порада: для стабільної роботи бажано підключити електролітичний конденсатор 10–47 мкФ між VCC та GND модуля (особливо для версій з підсилювачем і антеною). Використовуйте стабільні 3,3 В.
Приклад скетчу (передавач)
#include <SPI.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address[6] = "1Node";
unsigned long counter = 0;
void setup() {
Serial.begin(115200);
if (!radio.begin()) {
Serial.println("Помилка ініціалізації nRF24L01");
while (1);
}
radio.setChannel(108);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_LOW);
radio.openWritingPipe(address);
radio.stopListening();
}
void loop() {
counter++;
struct Payload {
unsigned long id;
float value;
} data = { counter, 23.5 + (counter % 100) / 10.0 };
bool ok = radio.write(&data, sizeof(data));
Serial.print("TX #"); Serial.print(counter);
Serial.print(" | value="); Serial.print(data.value, 1);
Serial.println(ok ? " | OK" : " | FAIL");
delay(500);
}
Приклад скетчу (приймач)
#include <SPI.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address[6] = "1Node";
void setup() {
Serial.begin(115200);
if (!radio.begin()) {
Serial.println("Помилка ініціалізації nRF24L01");
while (1);
}
radio.setChannel(108);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_LOW);
radio.openReadingPipe(1, address);
radio.startListening();
}
void loop() {
if (radio.available()) {
struct Payload {
unsigned long id;
float value;
} data;
while (radio.available()) {
radio.read(&data, sizeof(data));
}
Serial.print("RX #"); Serial.print(data.id);
Serial.print(" | value="); Serial.println(data.value, 1);
}
}
Примітки
Адреса труби (pipe) повинна збігатися на передавачі та приймачі. Можна використовувати різні адреси для різних пар пристроїв.
Для мультивузлових мереж використовуйте бібліотеки RF24Network / RF24Mesh (поверх RF24), щоб будувати ієрархічні/mesh-топології без практичного обмеження кількості вузлів.
На ESP32/STM32 піни SPI можуть відрізнятися — використовуйте апаратний SPI (HSPI/VSPI для ESP32) та призначайте CE/CSN на вільні GPIO.
Радіо модуль NRF24L01
- Модель NRF24L01
- Код: ID-402
- Наявність Є в наявності
-
54.65грн.



