NRF24L01: модуль для бездротового зв'язку для Arduino

NRF24L01

Звичайно, вам потрібно створити проект "зроби сам", використовуючи Arduino або будь-який інший елемент, і ти повинен скористатися цим бездротовий зв’язок. І це трапляється завдяки наявності певного типу модуля або пристрою, що дозволяє передавати дані за допомогою ІЧ, РЧ, Bluetooth, WiFi тощо. Тобто, ви повинні чітко усвідомлювати необхідність знати, який тип сигналу був би найбільш підходящим у вашому випадку.

У цьому випадку ми маємо керівництво по NRF24L01 для вас. Це мікросхема бездротового зв'язку, яка забезпечить вас тим, що потрібно для надсилання та отримання сигналів. Тип сигналів, які він обробляє, - це ВЧ або радіочастота, тобто хвилі великої довжини хвилі і, отже, низької енергії, які в електромагнітному спектрі мають частоту від 3 Гц до 300 ГГц.

Що таке NRF24L01?

NRF24L01

El NRF24L01 - це мікросхема виробництва Nordic Semiconductor. Якщо це Не знайдено жодної продукції, мікросхема поставляється на невеликій друкованій платі з деякими допоміжними елементами, які вам потрібні, і, отже, складає модуль. Ви можете використовувати його кількома способами, включаючи підключення до Adruino, як я покажу вам пізніше.

NRF24L01, як випливає з його назви, - це пристрій бездротового зв'язку, що використовує радіочастоту або радіочастоту з можливістю працювати на 2,4 ГГц - 2,5 ГГц. Це безкоштовний діапазон для безкоштовного використання. Ви вже знаєте, що інші смуги зарезервовані, і вам доведеться заплатити, якщо ви хочете використовувати їх для передачі інформації. Крім того, він інтегрує передавач + приймач.

Зокрема, частотний діапазон, який ви можете використовувати, становить від 2.400 МГц до 2.525 МГц, з можливістю вибору між 125 канали з пробілами в 1 МГц між ними. Однак не рекомендується використовувати частоти 2.4 ГГц, якщо ви використовуєте мережі WiFi, дрони, які працюють з цією частотою тощо, або будуть перешкоди. Ось чому переважно використовувати від 2.501 МГц і далі.

Що стосується його характеристик, працює від 1.9 до 3.6v, Тож вам буде легко живити його за допомогою самої плати Arduino із підключенням 3.3, використовуючи батареї і навіть за допомогою джерела живлення, що має таку напругу. Крім того, ви можете налаштувати швидкість передачі від 250 Кбіт / с до 1 Мбіт / с та до 2 Мбіт / с.

Мікросхема у викидах та прийомах може працювати одночасно з до 6 з'єднань різних пристроїв. Завдяки цьому ви можете без проблем транслювати або приймати з різних точок. І якщо ви стурбовані надійністю або надійністю зв'язку, сам чіп має логічну схему для виправлення помилок даних та пересилання інформації, якщо це необхідно. Тому це звільняє процесор від цього завдання.

Для його управління ви можете використовувати шина SPI, тому управління ним за допомогою Arduino дуже просте. Крім того, шпильки даних NRF24L01 підтримують до 5 В без проблем. Споживання енергії в режимі очікування досить низьке, тому це не буде елементом, про який слід турбуватися, і коли він працює, він не є одним з найдорожчих, оскільки йому потрібно лише 15 мА для надсилання та отримання даних.

На ринку ви знайдете кілька різні модулі, які встановлюють мікросхему NRF24L01, вони змінюються лише в допоміжних елементах, які вони мають, або в деяких деталях. Наприклад у типі антени. Деякі з них мають надруковану на друкованій платі антену у формі зигзагу з радіусом дії близько 20-30 метрів. Інші допускають, що дещо потужніша зовнішня антена з підсилювачем проходить від 700 метрів до 1 км.

Проте, фактичний обсяг обмежений деякими факторами, такі як дорожні перешкоди, шум або перешкоди від інших елементів або наявних сигналів, швидкість передачі, напруга живлення (вища напруга, більша відстань) тощо. Наприклад, якщо ви хочете передавати з максимальною швидкістю 2 Мбіт / с, це матиме велике покарання на відстані, яке буде максимум 2 або 3 метри. На менших швидкостях ви зможете піднятися на цю відстань.

Пов'язана стаття:
ESP8266: модуль WIFI для Arduino

Що потрібно знати перед покупкою?

Антена NRF40L01

El NRF24L01 - дуже дешевий чіп які можуть бути використані в безлічі проектів. Наприклад, якщо у вас немає зовнішньої антени, ви можете придбати її за ціною до 0.65 євро, при цьому модель зовнішньої антени трохи дорожча за цю, але вона все ще дуже дешева і зазвичай не перевищує 1.7 євро.

Якщо у вас немає іншого елемента випромінювання або прийому, ви вже знаєте, що ви повинні придбати два модулі NRF24L01, один для використання з одного боку, а інший - з іншого боку, куди ви хочете передати. Вони обидва діятимуть як відправник або одержувач як тобі до вподоби.

Розтискання та кріплення NRF24L01

розпіновка NRF40L01

Що стосується збірки, то вона досить проста. NRF24L01 має 8 висновків, тому його розпитування дуже легко щоб зрозуміти, як ви можете побачити на цьому зображенні, що я вас залишаю. Справа ви можете побачити схему штифтів дошки Arduino UNO і як кожен з контактів модуля буде підключений до нього.

Як ви можете зрозуміти, тарілка NRF24L01 живиться за допомогою GND і 3.3-контактних контактів від Arduino. Пам’ятайте, що не слід робити це з сигналом 5 В, інакше ви пошкодите модуль.

Інтеграція з Arduino

2 NRF24L01 з Arduino (схема)

Після того, як ви дізнаєтеся, що таке NRF24L01 і як його можна підключати та живити, окрім кількості проектів, які ви можете зробити з парою цих дешевих пристроїв, наступне - показати приклад програмування так що ви можете почати експериментувати зі своєю IDE Arduino. Пам'ятайте, що формат даних, який ви можете передавати, можна змінити у вихідному коді.

Пов'язана стаття:
L298N: модуль управління двигунами для Arduino

Ви можете вибрати надсилання та отримання рядка, цілого числа, даних із плаваючою комою тощо. Я вам рекомендую наш посібник з програмування Arduino якщо ви починаєте. З його допомогою ви можете створювати свої перші проекти. І як конкретний приклад для NRF24L01, тут я вас залишаю коди, необхідні для рядка.

Код, який потрібно записати в IDE Arduino та запрограмувати плату Arduino, підключену до NRF24L01, яку ви збираєтеся призначити як передавач:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
 
const int pinCE = 9;
const int pinCSN = 10;
RF24 radio(pinCE, pinCSN);
 
// Single radio pipe address for the 2 nodes to communicate.
const uint64_t pipe = 0xE8E8F0F0E1LL;
 
char data[16]="Aquí tu mensaje" ;
 
void setup(void)
{
   radio.begin();
   radio.openWritingPipe(pipe);
}
 
void loop(void)
{
   radio.write(data, sizeof data);
   delay(1000);
}

Тут код, який ви повинні ввести в IDE Arduino і записати на платі, що ви підключили до виділеного NRF24L01 як приймач:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>

const int pinCE = 9;
const int pinCSN = 10;
RF24 радіо (pinCE, pinCSN);

// Єдина адреса радіоканалу для зв'язку 2 вузлів.
const uint64_t pipe = 0xE8E8F0F0E1LL;

дані char [16];

void setup (void)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, труба);
radio.startListening ();
}

цикл void (void)
{
if (radio.available ())
{
int done = radio.read (дані, розмір даних);
Serial.println (дані);
}
}

З цим у вас буде все необхідне, і ви можете спробувати надіслати слова або текстові рядки одного і подивитися, як отримує їх інший. Використовуйте два комп’ютери, підключені через USB до плати Arduino, щоб використовувати консоль як засіб перегляду даних. Відокремте їм розумну відстань відповідно до вашого модуля або конфігурації, яку ви йому надали, і ви почнете бачити на екрані іншого комп'ютера символи, які ви ввели в першому коді ...


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

Коментар, залиште свій

Залиште свій коментар

Ваша електронна адреса не буде опублікований.

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Стефан - сказав він

    Привіт Ісаак
    Я хочу завершити проект за допомогою arduino, rasberry чи чогось іншого.
    Чи можете ви надіслати електронний лист, щоб пояснити?
    Міна - a01b02@abv.bg
    Грекіас

Тест з англійської мовиТест каталонськаіспанська вікторина