NRF24L01: modul pre bezdrôtovú komunikáciu pre Arduino

NRF24L01

Určite musíte vytvoriť DIY projekt pomocou Arduina alebo iného prvku a musíte to využiť bezdrôtovej komunikácie. A to sa deje tak, že máte nejaký typ modulu alebo zariadenia, ktoré vám umožňujú prenášať pomocou IR, RF, Bluetooth, WiFi atď. To znamená, že musíte mať jasno v tom, čo potrebujete vedieť, aký typ signálu by bol vo vašom prípade najvhodnejší.

V tomto prípade máme sprievodca po NRF24L01 pre teba. Jedná sa o bezdrôtový komunikačný čip, ktorý vám poskytne to, čo potrebujete na odosielanie a prijímanie signálov. Typ signálov, ktoré spracováva, sú vysokofrekvenčné alebo rádiové frekvencie, to znamená vlny veľkej vlnovej dĺžky, a teda nízkej energie, ktoré sa v elektromagnetickom spektre pohybujú medzi 3 Hz a 300 Ghz.

Čo je NRF24L01?

NRF24L01

El NRF24L01 je čip vyrobený spoločnosťou Nordic Semiconductor. Ak si to Nenašli sa žiadne produkty., čip sa dodáva namontovaný na malej doske s niektorými pomocnými prvkami, ktoré potrebujete, a preto je potrebné zostaviť modul. Môžete ho použiť niekoľkými spôsobmi, vrátane pripojenia k Adruinu, ako vám neskôr ukážem.

NRF24L01, ako je možné odvodiť z jeho názvu, je bezdrôtové komunikačné zariadenie, ktoré využíva vysokofrekvenčné alebo rádiové frekvencie so schopnosťou pracovať na 2,4 GHz - 2,5 GHz. To je voľné pásmo na bezplatné použitie. Už viete, že iné pásma sú vyhradené a musíte ich zaplatiť, ak ich chcete použiť na prenos informácií. Okrem toho integruje vysielač + prijímač.

Konkrétne frekvenčné pásmo, ktoré môžete použiť, je od 2.400 2.525 Mhz do XNUMX XNUMX Mhz s možnosťou výberu medzi Kanály 125 s medzerami 1 MHz medzi nimi. Neodporúča sa však používať frekvencie 2.4 GHz, ak používate siete WiFi, drony pracujúce s touto frekvenciou atď., Alebo ak dôjde k rušeniu. Preto je vhodnejšie používať od 2.501 MHz.

Pokiaľ ide o jeho vlastnosti, pracuje od 1.9 do 3.6 V, Ľahko ho teda budete napájať pomocou samotnej dosky Arduino s pripojením 3.3, pomocou batérií, a dokonca aj pomocou napájacieho zdroja, ktorý má toto napätie. Okrem toho môžete nakonfigurovať prenosovú rýchlosť medzi 250 Kbps, 1Mbps a až 2Mbps.

Čip v emisiách a recepciách môže pracovať súčasne s až 6 pripojení rôznych zariadení. Vďaka tomu môžete bez problémov vysielať alebo prijímať z rôznych bodov. A ak máte obavy z robustnosti alebo spoľahlivosti komunikácie, samotný čip má logické obvody na opravu chýb údajov a v prípade potreby zasielanie informácií. Preto oslobodzuje procesor od tejto úlohy.

Na jeho ovládanie môžete použiť autobus SPI, takže jeho ovládanie pomocou Arduina je veľmi jednoduché. Dátové kolíky NRF24L01 navyše bez problémov podporujú až 5 V. Spotreba energie v pohotovostnom režime je pomerne nízka, takže sa nebudete musieť obávať, a keď je v prevádzke, nepatrí k najnákladnejším, pretože na príjem a príjem dát potrebuje iba 15 mA.

Na trhu ich nájdete hneď niekoľko rôzne moduly, ktoré montujú čip NRF24L01, menia sa iba v pomocných prvkoch, ktoré majú, alebo v niektorých detailoch. Napríklad v type antény. Niektoré majú anténu vytlačenú na PCB v tvare cikcaku s dosahom asi 20 - 30 metrov. Iní pripúšťajú o niečo výkonnejšiu externú anténu so zosilňovačom, ktorá dokáže prejsť zo 700 metrov na 1 km.

Avšak, skutočný rozsah je obmedzený niektorými faktormi, ako sú cestné prekážky, hluk alebo interferencia s inými prítomnými prvkami alebo signálmi, prenosová rýchlosť, napájacie napätie (vyššie napätie, väčšia vzdialenosť) atď. Napríklad, ak chcete vysielať maximálnou rýchlosťou 2 Mb / s, bude to mať na veľkú pokutu vo vzdialenosti, ktorá bude maximálna iba 2 alebo 3 metre. Pri nižších rýchlostiach budete možno schopní túto vzdialenosť prekonať.

ESP8266
Súvisiaci článok:
ESP8266: modul WIFI pre Arduino

Čo potrebujete vedieť pred jeho zakúpením?

Anténa NRF40L01

El NRF24L01 je veľmi lacný čip ktoré možno použiť v mnohých projektoch. Ak napríklad nemáte externú anténu, môžete si ju kúpiť až za 0.65 EUR, pričom model externej antény je o niečo drahší ako tento, ale je stále veľmi lacný a zvyčajne nepresahuje 1.7 EUR.

Ak nemáte iný vysielací alebo prijímací prvok, už viete, že si musíte kúpiť dva moduly NRF24L01, jeden na jednej strane a druhý na druhej strane miesta, kde chcete vysielať. Obaja sa budú správať ako odosielateľ alebo príjemca ako si želáš.

Pinout a montáž NRF24L01

zapojenie NRF40L01

Čo sa týka montáže, je to celkom jednoduché. The NRF24L01 má 8 pinov, preto je jeho pinout veľmi jednoduchý aby ste pochopili, ako môžete na tomto obrázku vidieť, že vás nechávam. Vpravo vidíte pinovú schému dosky Arduino UNO a ako by k nemu bol pripojený každý z kolíkov modulu.

Ako môžete odvodiť, tanier NRF24L01 je napájaný pomocou pinov GND a 3.3v od spoločnosti Arduino. Nezabudnite to nerobiť so signálom 5v, inak by ste poškodili modul.

Integrácia s Arduino

2 NRF24L01 s Arduino (obvod)

Keď už viete, čo je NRF24L01 a ako ho možno pripojiť a napájať, okrem mnohých projektov, ktoré môžete urobiť s niekoľkými z týchto lacných zariadení, je potrebné ukázať príklad programovania takže môžete začať experimentovať so svojím Arduino IDE. Pamätajte, že dátový formát, ktorý môžete prenášať, je možné upraviť v zdrojovom kóde.

l298n
Súvisiaci článok:
L298N: modul na riadenie motorov pre Arduino

Môžete sa rozhodnúť odosielať a prijímať reťazec, celé číslo, údaje s pohyblivou rádovou čiarkou atď. Odporúčam ti náš sprievodca programovaním Arduina ak začínate. S ním môžete vytvárať svoje prvé projekty. A ako konkrétny príklad pre NRF24L01, vás tu nechávam kódy potrebné pre reťazec.

Kód, ktorý musíte napísať do IDE Arduina a naprogramovať dosku Arduino pripojenú k NRF24L01, ktorú chcete priradiť ako vysielač:

#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);
}

Tu kód, ktorý musíte zadať do Arduino IDE a zaznamenať na dosku, že ste sa pripojili k vyhradenému NRF24L01 ako prijímač:

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

const int pinCE = 9;
const int pinCSN = 10;
Rádio RF24 (pinCE, pinCSN);

// Jedna adresa rádiového spojenia pre komunikáciu dvoch uzlov.
const uint64_t potrubie = 0xE8E8F0F0E1LL;

char údaje [16];

void setup (void)
{
Serial.egegin (9600);
radio.begin ();
radio.openReadingPipe (1, potrubie);
radio.startListening ();
}

void loop (void)
{
if (radio.available ())
{
int done = radio.read (dáta, veľkosť dát);
Serial.println (dáta);
}
}

S tým budete mať všetko, čo potrebujete, a môžete sa pokúsiť odoslať slová alebo textové reťazce jedného z nich a zistiť, ako ich ten druhý prijíma. Pomocou dvoch počítačov pripojených pomocou USB k doske Arduino môžete konzolu používať ako prostriedok na prezeranie údajov. Oddeľte ich od uvážlivej vzdialenosti podľa modulu, ktorý máte, alebo konfigurácie, ktorú ste mu dali, a na obrazovke druhého počítača začnete vidieť znaky, ktoré ste zadali do prvého kódu ...


Komentár, nechajte svoj

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   stefan dijo

    Ahoj Isaac
    Chcem dokončiť projekt arduino, rasberry alebo niečo iné.
    Môžete uviesť e-mailový kontakt na vysvetlenie?
    Baňa - a01b02@abv.bg
    vďaka