NRF24L01: modul pro bezdrátovou komunikaci pro Arduino

NRF24L01

Určitě musíte vytvořit DIY projekt pomocí Arduina nebo jiného prvku a musíte jej využít bezdrátové komunikace. A to se děje tím, že máte nějaký typ modulu nebo zařízení, které vám umožní přenášet pomocí IR, RF, Bluetooth, WiFi atd. To znamená, že musíte mít jasno v tom, co potřebujete vědět, jaký typ signálu by byl pro váš případ nejvhodnější.

V tomto případě máme průvodce na NRF24L01 pro tebe. Jedná se o bezdrátový komunikační čip, který vám poskytne to, co potřebujete k odesílání a přijímání signálů. Typ signálů, které zpracovává, je vysokofrekvenční nebo vysokofrekvenční, tj. Vlny velké vlnové délky, a tedy nízké energie, které se v elektromagnetickém spektru pohybují mezi 3 Hz a 300 Ghz.

Co je NRF24L01?

NRF24L01

El NRF24L01 je čip vyrobený společností Nordic Semiconductor. Pokud si to plné nakupování, čip je namontován na malém PCB s některými pomocnými prvky, které potřebujete, a proto tvoří modul. Můžete jej použít několika způsoby, včetně připojení k Adruinu, jak vám ukážu později.

NRF24L01, jak lze odvodit z jeho názvu, je bezdrátové komunikační zařízení, které používá vysokofrekvenční nebo rádiovou frekvenci se schopností pracovat na 2,4 GHz - 2,5 GHz. To je volné pásmo pro bezplatné použití. Již víte, že ostatní pásma jsou rezervována a musíte je platit, pokud je chcete použít k přenosu informací. Kromě toho integruje vysílač + přijímač.

Konkrétně můžete použít kmitočtové pásmo od 2.400 2.525 Mhz do XNUMX XNUMX Mhz s možností výběru mezi 125 kanály s mezerami 1Mhz mezi nimi. Nedoporučuje se však používat frekvence 2.4 GHz, pokud používáte sítě WiFi, drony, které s touto frekvencí pracují atd., Nebo pokud dojde k rušení. Proto je vhodnější používat od 2.501 MHz.

Pokud jde o jeho vlastnosti, funguje od 1.9 do 3.6 V, takže pro vás bude snadné jej napájet pomocí samotné desky Arduino s připojením 3.3, pomocí baterií a dokonce i pomocí napájecího zdroje, který má toto napětí. Kromě toho můžete nakonfigurovat přenosovou rychlost mezi 250 Kbps, 1Mbps a až 2Mbps.

Čip v emisích a recepcích může pracovat současně s až 6 připojení různých zařízení. Díky tomu můžete bez problémů vysílat nebo přijímat z různých bodů. A pokud vás zajímá robustnost nebo spolehlivost komunikace, samotný čip má logické obvody, které opravují chyby dat a v případě potřeby předávají informace. Osvobodí proto procesor od této úlohy.

K jeho ovládání můžete použít autobus SPI, takže jeho ovládání pomocí Arduina je velmi jednoduché. Datové piny NRF24L01 navíc bez problémů podporují až 5 V. Spotřeba energie v pohotovostním režimu je poměrně nízká, takže se nebudete muset starat, a když je v provozu, nepatří mezi nejnákladnější, protože k odesílání a přijímání dat potřebuje pouze 15 mA.

Na trhu jich najdete několik různé moduly, které připojují čip NRF24L01, mění se pouze v pomocných prvcích, které mají, nebo v některých detailech. Například v typu antény. Některé mají anténu vytištěnou na desce plošných spojů v klikatém tvaru s dosahem přibližně 20 - 30 metrů. Jiní připouštějí poněkud výkonnější externí anténu se zesilovačem, která jde ze 700 metrů na 1 km.

nicméně, skutečný rozsah je omezen některými faktory, jako jsou silniční překážky, hluk nebo rušení jinými prvky nebo přítomnými signály, přenosová rychlost, napájecí napětí (vyšší napětí, větší vzdálenost) atd. Například pokud chcete vysílat při maximální rychlosti 2 Mb / s, bude to mít velkou pokutu ve vzdálenosti, která bude maximálně jen 2 nebo 3 metry. Při nižších rychlostech můžete tuto vzdálenost vylézt.

Související článek:
ESP8266: modul WIFI pro Arduino

Co potřebujete vědět před jeho zakoupením?

Anténa NRF40L01

El NRF24L01 je velmi levný čip které lze použít v mnoha projektech. Pokud například nemáte externí anténu, můžete si ji koupit až za 0.65 EUR, přičemž model externí antény je o něco dražší než tento, ale je stále velmi levný a obvykle nepřesahuje 1.7 EUR.

Pokud nemáte další vysílací nebo přijímací prvek, už víte, že musíte zakoupit dva moduly NRF24L01, jeden pro použití na jedné straně a druhý na druhé straně místa, kde chcete vysílat. Budou se chovat jako odesílatel nebo příjemce jak chceš.

Pinout a montáž NRF24L01

vývod NRF40L01

Pokud jde o montáž, je to docela jednoduché. The NRF24L01 má 8 pinů, proto je jeho pinout velmi snadný pochopit, jak na tomto obrázku vidíte, že vás nechávám. Vpravo vidíte pinový diagram desky Arduino UNO a jak by k němu byl připojen každý z kolíků modulu.

Jak můžete odvodit, talíř NRF24L01 je napájen pomocí pinů GND a 3.3v od Arduina. Nezapomeňte to nedělat se signálem 5 V, jinak poškodíte modul.

Integrace s Arduino

2 NRF24L01 s Arduino (obvod)

Jakmile víte, co je NRF24L01 a jak jej lze připojit a napájet, kromě počtu projektů, které můžete udělat s několika z těchto levných zařízení, je další věcí ukázat příklad programování takže můžete začít experimentovat s vaším Arduino IDE. Pamatujte, že formát dat, který můžete přenášet, lze upravit ve zdrojovém kódu.

Související článek:
L298N: modul pro ovládání motorů pro Arduino

Můžete se rozhodnout odesílat a přijímat řetězec, celé číslo, data s plovoucí desetinnou čárkou atd. doporučuji ti náš průvodce programováním Arduina pokud začínáte. S ním můžete vytvářet své první projekty. A jako konkrétní příklad pro NRF24L01 vás zde nechávám kódy potřebné pro řetězec.

Kód, který musíte napsat do IDE Arduina a naprogramovat desku Arduino připojenou k NRF24L01, kterou chcete přiřadit jako vysílač:

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

Zde kód, který musíte zadat do IDE Arduino a zaznamenat na desku, že jste se připojili k vyhrazenému NRF24L01 jako přijí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 kanálu pro komunikaci dvou uzlů.
const uint64_t potrubí = 0xE8E8F0F0E1LL;

char data [16];

neplatné nastavení (neplatné)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, potrubí);
radio.startListening ();
}

void loop (void)
{
pokud (radio.available ())
{
int done = radio.read (data, velikost dat);
Serial.println (data);
}
}

S tím budete mít vše, co potřebujete, a můžete zkusit poslat slova nebo textové řetězce jednoho a zjistit, jak je ten druhý přijímá. Pomocí dvou počítačů připojených pomocí USB k desce Arduino můžete konzolu používat jako prostředek k prohlížení dat. Oddělte je obezřetnou vzdáleností podle modulu, který máte, nebo konfigurace, kterou jste zadali, a začnete na obrazovce druhého počítače vidět znaky, které jste zadali v prvním kódu ...


Obsah článku se řídí našimi zásadami redakční etika. Chcete-li nahlásit chybu, klikněte zde.

Komentář, nechte svůj

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   Stefan řekl

    Ahoj Isaacu
    Chci dokončit projekt s arduino, rasberry nebo něčím jiným.
    Můžete mi vysvětlit e-mailový kontakt?
    Důl - a01b02@abv.bg
    díky