Azzal, hogy két vagy több Arduino lap képes vezeték nélkül kommunikálni egymással a távolságon keresztül, rengeteg lehetőség nyílik, például az érzékelők adatainak távoli megfigyelése, robotok vezérlése, otthoni automatizálás és a lista folytatható. És amikor olcsó, mégis megbízható kétirányú RF-megoldásokról van szó, senki sem végez jobb munkát, mint a Nordic Semiconductor nRF24L01+ adó-vevő modulja.

Az nRF24L01+ (plusz) adó-vevő modul gyakran kevesebb mint két dollárért beszerezhető az interneten, így ez az egyik legolcsóbb adatkommunikációs lehetőség, amit kaphat. És ami a legjobb, ezek a modulok szuperpici méretűek, így szinte bármilyen projektbe beépíthető egy vezeték nélküli interfész.

Hardverek áttekintése

Rádiófrekvencia

Az nRF24L01+ adó-vevő modult úgy tervezték, hogy a világszerte használt 2,4 GHz-es ISM frekvenciasávban működjön, és GFSK modulációt használ az adatátvitelhez. Az adatátviteli sebesség lehet 250kbps, 1Mbps és 2Mbps.

Mi a 2,4 GHz-es ISM-sáv?

A 2,4 GHz-es sáv egyike az ipari, tudományos és orvosi (ISM) sávoknak, amelyet nemzetközileg az engedély nélküli, kis teljesítményű eszközök számára tartanak fenn. Példaként a vezeték nélküli telefonok, a Bluetooth-eszközök, a közeli térbeli kommunikációs (NFC) eszközök és a vezeték nélküli számítógépes hálózatok (WiFi) mind az ISM-frekvenciákat használják.

Teljesítményfelvétel

A modul működési feszültsége 1,9 és 3 között van.6V, de a jó hír az, hogy a logikai csapok 5 voltot tolerálnak, így könnyen csatlakoztathatjuk egy Arduinóhoz vagy bármilyen 5V-os logikai mikrokontrollerhez logikai szintváltó használata nélkül.

A modul támogatja a programozható kimeneti teljesítményt, azaz 0 dBm, -6 dBm, -12 dBm vagy -18 dBm, és hihetetlenül körülbelül 12 mA-t fogyaszt az átvitel során 0 dBm-en, ami még egy LED-nél is alacsonyabb. És ami a legjobb, hogy készenléti üzemmódban 26 µA-t, kikapcsolási üzemmódban pedig 900 nA-t fogyaszt. Ezért ezek az eszközök a legmegfelelőbb vezeték nélküli eszközök az alacsony fogyasztású alkalmazásokhoz.

SPI interfész

Az nRF24L01+ adó-vevő modul 4 tűs soros perifériás interfészen (SPI) keresztül kommunikál, maximálisan 10 Mbps adatátviteli sebességgel. Minden paraméter, mint például a frekvenciacsatorna (125 választható csatorna), a kimeneti teljesítmény (0 dBm, -6 dBm, -12 dBm vagy -18 dBm) és az adatátviteli sebesség (250kbps, 1Mbps vagy 2Mbps) az SPI interfészen keresztül konfigurálható.

Az SPI busz a Master és Slave fogalmát használja, a leggyakoribb alkalmazásokban az Arduino a Master és az nRF24L01+ adó-vevő modul a Slave. Az I2C busszal ellentétben az SPI buszon a slave-ek száma korlátozott, az Arduino Uno-n maximum két SPI slave, azaz két nRF24L01+ adó-vevő modul használható.

Itt vannak a teljes specifikációk:

Frekvencia tartomány 2.4 GHz ISM sáv
Maximális légi adatátviteli sebesség 2 Mb/s
Modulációs formátum GFSK
Max. Kimeneti teljesítmény 0 dBm
Működési tápfeszültség 1,9 V-tól 3,6 V-ig
Max. Működési áram 13.5mA
Min. Áram (készenléti üzemmód) 26µA
Logikai bemenetek 5V toleráns
Kommunikációs tartomány 800+ m (vonalban látótávolság)

nRF24L01+ modul Vs nRF24L01+ PA/LNA modul

Az nRF24L01+ chip alapján többféle modul áll rendelkezésre. Az alábbiakban a legnépszerűbb változatokat mutatjuk be.

nRF24L01+ vezeték nélküli modul

Az első változat beépített antennát használ. Ez lehetővé teszi a breakout egy kompaktabb változatát. A kisebb antenna azonban alacsonyabb átviteli tartományt is jelent. Ezzel a verzióval 100 méteres távolságon keresztül kommunikálhat. Természetesen ez szabadtéren, nyílt térben van. Beltéren, különösen a falakon keresztül a hatótávolsága kissé gyengülni fog.

nRF24L01+ PA LNA vezeték nélküli adó-vevő modul külső antennával

A második verzió SMA csatlakozóval és kacsaantennával rendelkezik, de nem ez az igazi különbség. Az igazi különbség az, hogy egy speciális RFX2401C chippel érkezik, amely integrálja a PA-t, az LNA-t és az adó-vevő kapcsolóáramkört. Ez a hatótávnövelő chip a kacsaantennával együtt segít a modulnak jelentősen nagyobb, körülbelül 1000 m-es átviteli tartományt elérni.

Mi az a PA LNA?

A PA a Power Amplifier rövidítése. Ez csupán az nRF24L01+ chip által továbbított jel teljesítményét növeli. Míg az LNA az Low-Noise Amplifier (alacsony zajszintű erősítő) rövidítése. Az LNA feladata, hogy az

nRF24L01+ PA/LNA blokkdiagram

az antennáról érkező rendkívül gyenge és bizonytalan jelet (általában mikrovolt nagyságrendű vagy -100 dBm alatti) hasznosabb szintre erősítse (általában körülbelül 0.5-1V)

A vételi útvonal kis zajú erősítője (LNA) és az átviteli útvonal teljesítményerősítője (PA) egy duplexeren keresztül csatlakozik az antennához, amely szétválasztja a két jelet, és megakadályozza, hogy a viszonylag erős PA kimenete túlterhelje az érzékeny LNA bemenetet. További információért tekintse meg ezt a cikket a digikey.com

Ezt a különbséget leszámítva mindkét modul drop-in kompatibilis. Ez azt jelenti, hogy ha az egyikből építi fel a projektjét, akkor egyszerűen kihúzhatja és használhatja a másikat anélkül, hogy bármilyen változtatást kellene végrehajtania a rendszeren.

Hogyan működik az nRF24L01+ adó-vevő modul?

RF csatorna frekvencia

Az nRF24L01+ adó-vevő modul egy bizonyos frekvencián, az úgynevezett csatornán továbbítja és fogadja az adatokat. Ahhoz is, hogy két vagy több adó-vevő modul kommunikálni tudjon egymással, ugyanazon a csatornán kell lenniük. Ez a csatorna a 2,4 GHz-es ISM-sáv bármely frekvenciája lehet, pontosabban a 2,400-2,525 GHz (2400-2525 MHz) közötti frekvencia.

Minden csatorna kevesebb mint 1 MHz sávszélességet foglal el. Ez 125 lehetséges csatornát ad 1 MHz-es sávközzel. A modul tehát 125 különböző csatornát használhat, ami lehetőséget ad arra, hogy egy helyen 125 egymástól függetlenül működő modemből álló hálózatot hozzunk létre.

A csatorna 250kbps és 1Mbps légi adatátviteli sebességnél kevesebb mint 1MHz sávszélességet foglal el. Azonban 2Mbps légi adatátviteli sebességnél 2MHz sávszélességet foglal el (szélesebb, mint az RF csatorna frekvencia beállításának felbontása). Tehát az átfedésmentes csatornák biztosítása és a kereszthallgatás csökkentése érdekében 2Mbps üzemmódban 2MHz távolságot kell tartani a két csatorna között.

A kiválasztott csatorna RF-csatorna frekvenciája a következő képlet szerint kerül beállításra:

Frekvencia(kiválasztott) = 2400 + CH(kiválasztott)

Ha például adatátvitelhez 108-as csatornát választ, akkor a csatorna RF-csatorna frekvenciája 2508MHz (2400 + 108)

nRF24L01+ Multiceiver hálózat

Az nRF24L01+ egy Multiceiver nevű funkciót biztosít. Ez a Multiple Transmitters Single Receiver (több adó egy vevő) rövidítése. Amelyben minden RF csatorna logikailag 6 párhuzamos adatcsatornára, úgynevezett Data Pipes-re van felosztva. Más szóval, egy adatcső egy logikai csatorna a fizikai RF csatornában. Minden adatcsőnek saját fizikai címe van (Data Pipe Address) és konfigurálható. Ezt az alábbiak szerint lehet szemléltetni:

nRF24L01+ Multiceiver Network – Multiple Transmitters Single Receiver

A fenti ábra egyszerűsítése érdekében képzelje el, hogy az elsődleges vevő hub-vevőként működik, amely egyszerre 6 különböző adócsomópontból gyűjti az információkat. A hub-vevő bármikor abbahagyhatja a hallgatást, és adóként viselkedik. Ez azonban egyszerre csak egy cső/csomópont lehet.

Elnagyított ShockBurst protokoll

Az nRF24L01+ adó-vevő modul egy Enhanced ShockBurst néven ismert csomagstruktúrát használ. Ez az egyszerű csomagszerkezet 5 különböző mezőre bomlik, amit az alábbiakban szemléltetünk.

nRF24L01+ Enhanced ShockBurst csomagszerkezet

Az eredeti ShockBurst szerkezet csak a Preamble, Address, Payload és a Cyclic Redundancy Check (CRC) mezőkből állt. A továbbfejlesztett ShockBurst az újonnan bevezetett Packet Control Field (PCF) segítségével nagyobb funkcionalitást hozott a továbbfejlesztett kommunikációhoz.

Ez az új struktúra több okból is nagyszerű. Először is, lehetővé teszi a változó hosszúságú hasznos terheléseket a hasznos terhelés hosszának meghatározásával, ami azt jelenti, hogy a hasznos terhelés 1 és 32 bájt között változhat.

Másodszor, minden elküldött csomagot csomagazonosítóval lát el, amely lehetővé teszi a fogadó eszköz számára annak megállapítását, hogy az üzenet új-e, vagy újraküldésre került-e (és így figyelmen kívül hagyható-e).

Végül, és ez a legfontosabb, minden üzenet kérheti egy nyugtázás elküldését, amikor egy másik eszköz fogadja.

nRF24L01+ Automatikus csomagkezelés

Most tárgyaljunk három forgatókönyvet, hogy jobban megértsük, hogyan működik két nRF24L01+ modul egymással.

Tranzakció nyugtázással és megszakítássalEz egy példa a pozitív forgatókönyvre. Itt az adó egy adatcsomagnak a vevőnek való elküldésével indít kommunikációt. Miután a teljes csomagot elküldte, megvárja (kb. 130 µs) a nyugtázó csomag (ACK csomag) fogadását. Amikor a vevő megkapja a csomagot, ACK csomagot küld az adónak. Az ACK csomag fogadásakor az adó megszakítási (IRQ) jelet ad, jelezve, hogy az új adatok rendelkezésre állnak.

Tranzakció elveszett adatcsomaggalEz egy negatív forgatókönyv, amikor a továbbított csomag elvesztése miatt újraküldésre van szükség. A csomag továbbítása után az adó az ACK csomag fogadására vár. Ha az adó nem kapja meg azt az automatikus újraküldési késleltetés (ARD) időn belül, a csomagot újraküldi. Amikor az újraküldött csomagot a vevő megkapja, az ACK csomagot továbbítja, ami viszont megszakítást generál az adónál.

Tranzakció nyugtázás elvesztésévelEz ismét egy negatív forgatókönyv, amikor az ACK csomag elvesztése miatt újraküldésre van szükség. Itt még ha a vevő első próbálkozásra meg is kapja a csomagot, az ACK csomag elvesztése miatt az adó azt hiszi, hogy a vevő egyáltalán nem kapta meg a csomagot. Ezért az automatikus újraküldési késleltetési idő letelte után újraküldi a csomagot. Most, amikor a vevő megkapja az előzővel azonos csomagazonosítót tartalmazó csomagot, elveti azt, és újra elküldi az ACK csomagot.

Ezt az egész csomagkezelést az nRF24L01+ chip automatikusan végzi a mikrokontroller bevonása nélkül.

nRF24L01+ adó-vevő modul pinout

Nézzük meg az nRF24L01+ adó-vevő modul mindkét verziójának pinoutját.

GND a Ground Pin. Általában úgy jelölik, hogy a csapot négyzetbe burkolják, így referenciaként használható a többi csap azonosításához.

VCC biztosítja a modul tápellátását. Ez bárhol lehet 1,9 és 3,9 volt között. Csatlakoztathatja az Arduino 3,3 V-os kimenetéhez. Ne feledje, hogy az 5V-os pinhez való csatlakoztatás valószínűleg tönkreteszi az nRF24L01+ modult!

CE (Chip Enable) egy aktív-HIGH pin. Kiválasztásakor az nRF24L01 vagy küldeni vagy fogadni fog, attól függően, hogy éppen melyik üzemmódban van.

CSN (Chip Select Not) egy aktív-LOW pin és általában HIGH marad. Amikor ez a pin alacsonyra megy, az nRF24L01 elkezdi figyelni az SPI portján az adatokat, és ennek megfelelően feldolgozza azokat.

SCK (Serial Clock) fogadja az SPI busz mester által biztosított órajeleket.

MOSI (Master Out Slave In) az SPI bemenete az nRF24L01-nek.

MISO (Master In Slave Out) az SPI kimenete az nRF24L01-nek.

Az IRQ egy megszakítási pin, amely figyelmeztetheti a mestert, ha új adatok állnak rendelkezésre a feldolgozáshoz.

Kábelezés – Az nRF24L01+ adó-vevő modul csatlakoztatása az Arduino UNO-hoz

Most, hogy már teljesen megértettük, hogyan működik az nRF24L01+ adó-vevő modul, elkezdhetjük csatlakoztatni az Arduino-hoz!

Kezdésként csatlakoztassuk a modul VCC csapját az Arduino 3,3V-os feszültségéhez, a GND csapot pedig a földhöz. A CSN és CE csapokat az Arduino bármelyik digitális csapjához csatlakoztathatjuk. A mi esetünkben a 8-as és a 9-es digitális csaphoz van csatlakoztatva. Most az SPI-kommunikációhoz használt csapokkal maradunk.

Mivel az nRF24L01+ adó-vevő modul sok adatátvitelt igényel, a legjobb teljesítményt akkor nyújtják, ha a mikrokontroller hardveres SPI-tüskéire csatlakoznak. A hardveres SPI-tüskék sokkal gyorsabbak, mintha az interfészkódot egy másik tűkészlet segítségével “bittelnénk”.

Megjegyezzük, hogy minden Arduino lapnak különböző SPI-tüskéi vannak, amelyeket ennek megfelelően kell csatlakoztatni. Az olyan Arduino lapoknál, mint az UNO/Nano V3.0, ezek a csapok a digitális 13 (SCK), 12 (MISO) és 11 (MOSI).

Ha van egy Mega, akkor a csapok mások! A digitális 50 (MISO), 51 (MOSI), 52 (SCK) és 53 (SS) pineket kell használnod. A gyors megértéshez lásd az alábbi táblázatot.

MOSI MISO SCK
Arduino Uno 11 12 13
Arduino Nano 11 12 13
Arduino Mega 51 50 52

Ha a fent említettektől eltérő Arduino kártyát használsz, ajánlatos a folytatás előtt megnézni az Arduino hivatalos dokumentációját.

NRF24L01+ vezeték nélküli adó-vevő modul csatlakoztatása az Arduino UNO-hoz
NRF24L01+ PA LNA vezeték nélküli modul csatlakoztatása az Arduino UNO-hoz

Ne feledje! Ebből az áramkörből kettőt kell készítenie. Az egyik adóként, a másik pedig vevőként működik. A kábelezés mindkettőhöz azonos.

Mihelyt mindent összekötöttél, készen állsz az indulásra!

RF24 Arduino könyvtár az nRF24L01+ modulhoz

Az nRF24L01+ adó-vevő modulhoz való kapcsolódás egy rakás munka, de szerencsénkre számos könyvtár áll rendelkezésre. Az egyik népszerű könyvtár az RF24. Ez a könyvtár már több éve létezik. Egyszerűen használható a kezdők számára, de mégis sokat kínál a haladó felhasználók számára. Kísérleteinkben ezt a könyvtárat fogjuk használni.

A könyvtár legújabb verzióját letöltheti az RF24 GitHub repository forkjáról, vagy, csak kattintson erre a gombra a zip letöltéséhez:

A telepítéshez nyissa meg az Arduino IDE-t, válassza a Sketch > Include Library > Add .ZIP Library menüpontot, majd válassza ki az imént letöltött RF24-master fájlt. Ha további részletekre van szüksége egy könyvtár telepítésével kapcsolatban, látogasson el erre az Arduino könyvtár telepítése című bemutatóra.

Arduino kód – Az adóhoz

Kísérletünkben csak egy hagyományos ‘Hello World’ üzenetet fogunk küldeni az adóról a vevőnek.

Itt van a sketch, amit az adóhoz fogunk használni:

//Include Libraries#include <SPI.h>#include <nRF24L01.h>#include <RF24.h>//create an RF24 objectRF24 radio(9, 8); // CE, CSN//address through which two modules communicate.const byte address = "00001";void setup(){ radio.begin(); //set the address radio.openWritingPipe(address); //Set module as transmitter radio.stopListening();}void loop(){ //Send message to receiver const char text = "Hello World"; radio.write(&text, sizeof(text)); delay(1000);}

A sketch a könyvtárak bevonásával kezdődik. Az SPI.h könyvtár az SPI kommunikációt kezeli, míg az nRF24L01.h és az RF24.h a modult vezérli.

//Include Libraries#include <SPI.h>#include <nRF24L01.h>#include <RF24.h>

A következőkben egy RF24 objektumot kell létrehoznunk. Az objektum két pinszámot vesz fel paraméterként, amelyekhez a CE és CSN jelek csatlakoznak.

//create an RF24 objectRF24 radio(9, 8); // CE, CSN

A következő lépésként egy bájt tömböt kell létrehoznunk, amely azt a csőcímet fogja képviselni, amelyen keresztül két nRF24L01+ modul kommunikál.

//address through which two modules communicate.const byte address = "00001";

A cím értékét megváltoztathatjuk bármilyen 5 betűs karakterláncra, például “node1”. A címre akkor van szükség, ha egy hálózatban néhány modul van. A címnek köszönhetően kiválaszthatjuk azt a bizonyos modult, amellyel kommunikálni szeretnénk, így esetünkben az adónak és a vevőnek is ugyanaz a címe lesz.

A következő a beállítási funkcióban: a radio.begin() segítségével inicializálnunk kell a rádióobjektumot, majd a radio.openWritingPipe() függvény segítségével beállítjuk az adó címét.

//set the addressradio.openWritingPipe(address);

Végül a radio.stopListening() függvényt használjuk, amely a modult adóként állítja be.

//Set module as transmitterradio.stopListening();

A ciklus szakaszban: létrehozunk egy karaktertömböt, amelyhez hozzárendeljük a “Hello World” üzenetet. A radio.write() függvény segítségével elküldjük ezt az üzenetet a vevőnek. Az első argumentum itt az üzenet, amelyet el akarunk küldeni. A második argumentum az ebben az üzenetben található bájtok száma.

const char text = "Hello World";radio.write(&text, sizeof(text));

Ezzel a módszerrel egyszerre legfeljebb 32 bájtot küldhetünk. Ugyanis ez a maximális mérete egyetlen csomagnak, amelyet az nRF24L01+ kezelni tud. Ha megerősítésre van szüksége, hogy a vevő megkapta az adatokat, a radio.write() módszer egy bool értéket ad vissza. Ha TRUE értéket ad vissza, akkor az adat elérte a vevőt. Ha FALSE-t ad vissza, az adat elveszett.

a radio.write() függvény addig blokkolja a programot, amíg meg nem kapja a visszaigazolást, vagy amíg el nem fogy az összes újraküldési kísérlet.

Arduino kód – A vevőhöz

Itt van a vázlat, amit a vevőnkhöz fogunk használni

//Include Libraries#include <SPI.h>#include <nRF24L01.h>#include <RF24.h>//create an RF24 objectRF24 radio(9, 8); // CE, CSN//address through which two modules communicate.const byte address = "00001";void setup(){ while (!Serial); Serial.begin(9600); radio.begin(); //set the address radio.openReadingPipe(0, address); //Set module as receiver radio.startListening();}void loop(){ //Read the data if available in buffer if (radio.available()) { char text = {0}; radio.read(&text, sizeof(text)); Serial.println(text); }}

Ez a program néhány változtatástól eltekintve nagyon hasonlít az adó programjára.

A beállítási függvény elején elindítjuk a soros kommunikációt. Ezután a radio.setReadingPipe() függvény segítségével beállítjuk ugyanazt a címet, mint az adóé, és így engedélyezzük a kommunikációt az adó és a vevő között.

 //set the address radio.openReadingPipe(0, address);

Az első argumentum a folyam száma. Legfeljebb 6 streamet hozhat létre, amelyek különböző címekre válaszolnak. Mi csak a 0-ás számú streamhez hoztunk létre címet. A második argumentum az a cím, amelyre a stream reagálni fog az adatgyűjtéshez.

A következő lépés a modul vevőként való beállítása és az adatfogadás megkezdése. Ehhez a radio.startListening() függvényt használjuk. Ettől kezdve a modem várja a megadott címre küldött adatokat.

//Set module as receiver radio.startListening();

A ciklusfüggvényben: A vázlat a radio.available() módszerrel ellenőrzi, hogy érkezett-e adat a címre. Ez a metódus TRUE értéket ad vissza, ha van bármilyen adat a pufferben.

if (radio.available()) { char text = {0}; radio.read(&text, sizeof(text)); Serial.println(text); }

Ha érkezett adat, akkor létrehoz egy 32 karakteres, nullákkal töltött tömböt (később a program feltölti a kapott adatokkal). Az adatok beolvasásához a radio.read (& text, sizeof (text)) metódust használjuk. Ez a kapott adatokat a karaktertömbünkbe tárolja.

A végén csak kiírjuk a kapott üzenetet a soros monitorra. Ha mindent rendben csináltunk, és nincsenek hibák a kapcsolatokban, akkor valami ilyesmit kell látnunk a soros monitoron.

nRF24L01+ adó-vevő kimenete a soros monitoron

NRF24L01+ adó-vevő modul hatótávolságának növelése

A vezeték nélküli kommunikációs rendszer egyik legfontosabb paramétere a kommunikációs tartomány. Sok esetben ez a döntő tényező az RF-megoldás kiválasztásakor. Beszéljük meg tehát, mit tehetünk annak érdekében, hogy jobb hatótávolságot érjünk el a modulunk számára.

Tápellátási zaj csökkentése

A rádiófrekvenciás (RF) jelet generáló RF áramkör nagyon érzékeny a tápellátási zajra. Ha nem szabályozzuk, a tápegység zaja jelentősen csökkentheti az elérhető hatótávolságot.

Hacsak az áramforrás nem egy önálló akkumulátor, jó esély van arra, hogy az áram előállításához zaj is társul. Annak érdekében, hogy ez a zaj ne juthasson be a rendszerbe, ajánlatos egy 10 µf szűrőkondenzátort elhelyezni a tápellátás vezetékén, fizikailag a lehető legközelebb az nRF24L01+ modulhoz.

A legegyszerűbben egy nagyon olcsó nRF24L01 adaptermodul használatával juthat túl rajta.

nRF24L01+ adapter

Az adaptermodul egy 8 tűs női csatlakozóval rendelkezik, amely lehetővé teszi az nRF24L01 modul csatlakoztatását. Mindkét, korábban tárgyalt modul, a beépített antennával és a külső antennával (PA/LNA) ellátott modul befogadására alkalmas. Van továbbá egy 6-tűs férfi csatlakozója az SPI és Interrupt csatlakozásokhoz, valamint egy 2-tűs csatlakozója a tápellátás bemenetéhez.

Az adaptermodul saját 3,3 voltos feszültségszabályozóval és egy sor szűrőkondenzátorral rendelkezik, így 5 voltos tápegységgel is táplálható.

Változtassa meg a csatorna frekvenciáját

Egy másik lehetséges zajforrás az RF áramkör számára a külső környezet, különösen akkor, ha a szomszédos hálózatok ugyanarra a csatornára vannak beállítva, vagy más elektronikából származó interferenciák.

Azért, hogy ezek a jelek ne okozzanak problémát, javasoljuk, hogy az nRF24L01+ modulja a legmagasabb 25 csatornát használja. Ennek oka, hogy a WiFi az alacsonyabb csatornák nagy részét használja.

Kisebb adatátviteli sebesség

Az nRF24L01+ a legmagasabb vevőérzékenységet 250Kbps sebességnél kínálja, ami -94dBm. Azonban 2MBps adatátviteli sebességnél a vevő érzékenysége -82dBm-re csökken. Ha beszéli ezt a nyelvet, akkor tudja, hogy a vevő 250Kbps-en közel 10-szer érzékenyebb, mint 2Mbps-en. Ez azt jelenti, hogy a vevő 10-szer gyengébb jelet is képes dekódolni.

Mit jelent a vevő (Rx) érzékenysége?

A vevő érzékenysége az a legkisebb teljesítményszint, amelyen a vevő képes érzékelni egy RF jelet. Minél nagyobb a negatív szám abszolút értéke, annál jobb a vevő érzékenysége. Például egy -94 dBm-es vevőérzékenység 12 dB-lel jobb, mint egy -82 dBm-es vevőérzékenység.

Az adatátviteli sebesség csökkentése tehát jelentősen javíthatja az elérhető hatótávolságot. Emellett a legtöbb projektünkhöz a 250Kbps sebesség több mint elegendő.

Nagyobb kimeneti teljesítmény

A maximális kimeneti teljesítmény beállítása szintén javíthatja a kommunikációs hatótávolságot. Az nRF24L01+ lehetővé teszi a kimeneti teljesítmény egyikének kiválasztását, azaz 0 dBm, -6 dBm, -12 dBm vagy -18 dBm. A 0 dBm kimeneti teljesítmény kiválasztása erősebb jelet küld a levegőben.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.