NRF24L01: modul za brezžično komunikacijo za Arduino

NRF24L01

Zagotovo morate ustvariti projekt DIY z uporabo Arduina ali katerega koli drugega elementa, ki ga morate izkoristiti brezžična komunikacija. In to se zgodi tako, da imate nekakšen modul ali napravo, ki omogoča prenos prek IR, RF, Bluetooth, WiFi itd. To pomeni, da morate jasno vedeti, katere vrste signala bi bile v vašem primeru najprimernejše.

V tem primeru imamo priročnik za NRF24L01 zate. To je brezžični komunikacijski čip, ki vam bo zagotovil, kaj potrebujete za pošiljanje in sprejemanje signalov. Vrsta signalov, ki jih obdeluje, so RF ali radijske frekvence, torej valovi velike valovne dolžine in zato nizke energije, ki so v elektromagnetnem spektru frekvence med 3 Hz in 300 Ghz.

Kaj je NRF24L01?

NRF24L01

El NRF24L01 je čip, ki ga proizvaja Nordic Semiconductor. Če je Ni najdenih izdelkov, čip je nameščen na majhni tiskani plošči z nekaterimi pomožnimi elementi, ki jih potrebujete, in zato sestavlja modul. Uporabite ga lahko na več načinov, vključno s povezovanjem z Adruino, kot vam bom pokazal kasneje.

NRF24L01, kot je razbrati že iz njegovega imena, je brezžična komunikacijska naprava, ki uporablja RF ali radijsko frekvenco z možnostjo delovanja pri 2,4 GHz - 2,5 GHz. To je brezplačni pas za brezplačno uporabo. Že veste, da so drugi pasovi rezervirani in morate plačati, če jih želite uporabiti za prenos informacij. Poleg tega vključuje oddajnik + sprejemnik.

Natančneje, frekvenčni pas, ki ga lahko uporabite, je od 2.400 MHz do 2.525 MHz, z možnostjo izbire med 125 kanali s presledki 1 MHz med njimi. Vendar pa ni priporočljivo uporabljati frekvence 2.4 GHz, če uporabljate omrežja WiFi, brezpilotne zrakoplove, ki delujejo s to frekvenco itd., Ali pa pride do motenj. Zato je zaželeno uporabljati od 2.501 MHz naprej.

Glede njegovih značilnosti deluje od 1.9 do 3.6v, Tako ga boste lahko enostavno napajali s samo ploščo Arduino s priključkom 3.3, z baterijami in celo z napajalnikom, ki ima to napetost. Poleg tega lahko nastavite hitrost prenosa med 250 Kbps, 1Mbps in do 2Mbps.

Čip pri emisijah in sprejemih lahko deluje hkrati do 6 povezav različnih naprav. S tem lahko brez težav oddajate ali sprejemate z različnih točk. In če vas skrbi robustnost ali zanesljivost komunikacije, ima čip sam logično vezje za popravilo podatkovnih napak in po potrebi posredovanje informacij. Zato procesorja osvobodi te naloge.

Za nadzor lahko uporabite vodilo SPI, zato je nadzor z Arduinom zelo preprost. Poleg tega podatkovni zatiči NRF24L01 brez težav podpirajo do 5v. Poraba energije v stanju pripravljenosti je precej nizka, zato je ne bo treba skrbeti, med delovanjem pa ni ena najcenejših, saj za pošiljanje in sprejemanje podatkov potrebuje le 15 mA.

Na trgu jih boste našli več različni moduli, ki namestijo čip NRF24L01, spremenijo se le v pomožnih elementih, ki jih imajo, ali v nekaterih podrobnostih. Na primer pri tipu antene. Nekateri imajo na PCB natisnjeno anteno v cik-cak obliki z dosegom približno 20-30 metrov. Drugi priznavajo nekoliko močnejšo zunanjo anteno z ojačevalnikom, ki gre od 700 metrov do 1 km.

Vendar pa dejanski obseg je omejen z nekaterimi dejavniki, kot so ovire na cesti, hrup ali motnje drugih prisotnih elementov ali signalov, hitrost prenosa, napajalna napetost (večja napetost, večja razdalja) itd. Na primer, če želite oddajati z največjo hitrostjo 2 Mb / s, bo na daljavo velika kazen, ki bo največ 2 ali 3 metre. Pri nižjih hitrostih boste morda lahko to razdaljo preplezali.

ESP8266
Povezani članek:
ESP8266: modul WIFI za Arduino

Kaj morate vedeti pred nakupom?

NRF40L01 antena

El NRF24L01 je zelo poceni čip ki se lahko uporabljajo v številnih projektih. Če na primer nimate zunanje antene, jo lahko kupite do 0.65 evra, model zunanje antene je nekoliko dražji od tega, vendar je še vedno zelo poceni in običajno ne presega 1.7 evra.

Če nimate drugega emisijskega ali sprejemnega elementa, že veste, da morate kupiti dva modula NRF24L01, enega za uporabo na eni strani in drugega na drugi strani mesta, kamor želite oddajati. Oba se bosta obnašala kot pošiljatelj ali prejemnik kot želiš.

Pinout in pritrditev NRF24L01

Pinout NRF40L01

Kar zadeva montažo, je povsem preprosta. The NRF24L01 ima 8 nožic, zato je njegov pinout zelo enostaven da bi razumeli, kako lahko na tej sliki vidite, da vas zapuščam. Na desni si lahko ogledate pin-diagram plošče Arduino UNO in kako bi bil vsak zatič modula povezan z njim.

Kot lahko sklepate, plošča NRF24L01 se napaja z zatiči GND in 3.3v iz Arduina. Ne pozabite, da tega ne storite s signalom 5v, saj boste sicer poškodovali modul.

Integracija z Arduinom

2 NRF24L01 z Arduino (vezje)

Ko enkrat veste, kaj je NRF24L01 in kako ga je mogoče povezati in napajati, je poleg števila projektov, ki jih lahko izvedete z nekaj temi poceni napravami, naslednja stvar: primer programiranja tako lahko začnete eksperimentirati s svojim Arduino IDE. Ne pozabite, da lahko podatkovno obliko, ki jo lahko prenesete, spremenite v izvorni kodi.

l298n
Povezani članek:
L298N: modul za krmiljenje motorjev za Arduino

Izberete lahko, da pošiljate in prejemate niz, celo število, podatke s plavajočo vejico itd. Priporočam vam naš vodnik po programiranju Arduino če začnete. Z njim lahko ustvarite svoje prve projekte. In kot konkreten primer za NRF24L01 vas tukaj zapuščam kode, potrebne za niz.

Koda, ki jo morate napisati v Arduino IDE in programirati ploščo Arduino, priključeno na NRF24L01, ki jo boste dodelili kot oddajnik:

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

Tukaj je koda, ki jo morate vnesti v IDE Arduino in na ploščo zabeležiti, da ste povezani z namenskim NRF24L01 kot sprejemnik:

#vključi <nRF24L01.h>
#vključi <RF24.h>
#include <RF24_config.h>
#vključi <SPI.h>

const int pinCE = 9;
const int pinCSN = 10;
Radio RF24 (pinCE, pinCSN);

// Enotni naslov radijske cevi za komunikacijo dveh vozlišč.
const uint64_t cev = 0xE8E8F0F0E1LL;

podatki o znakih [16];

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

void loop (void)
{
če (radio.available ())
{
int done = radio.read (podatki, velikost podatkov);
Serial.println (podatki);
}
}

S tem imeli boste vse, kar potrebujete, in lahko poskusite poslati besede ali besedilne nize enemu in preveriti, kako jih prejme drugi. Uporabite dva računalnika, ki sta prek plošče Arduino povezana z USB-jem, da uporabite konzolo kot sredstvo za ogled podatkov. Ločite jih previdno glede na modul, ki ga imate, ali konfiguracijo, ki ste jo dobili, in na zaslonu drugega računalnika boste začeli videti znake, ki ste jih vnesli v prvo kodo ...


Komentar, pusti svojega

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

      Stefan je dejal

    Pozdravljeni, Isaac
    Želim dokončati projekt z arduino, rasberry ali kaj drugega.
    Lahko po e-pošti pokličete obrazložitev?
    Mine - a01b02@abv.bg
    hvala