NRF24L01: module para sa wireless na komunikasyon para sa Arduino

NRF24L01

Tiyak na kailangan mong lumikha ng isang proyekto sa DIY gamit ang Arduino o anumang iba pang elemento at kailangan mong gamitin wireless na komunikasyon. At nangyayari iyon sa pamamagitan ng pagkakaroon ng ilang uri ng module o aparato na nagpapahintulot sa iyo na magpadala gamit ang IR, RF, Bluetooth, WiFi, atbp. Iyon ay, dapat mong maging malinaw tungkol sa mga pangangailangan upang malaman kung anong uri ng signal ang magiging pinakaangkop sa iyong kaso.

Sa kasong ito mayroon kaming isang gabay sa NRF24L01 para sa iyo. Ito ay isang wireless chip ng komunikasyon na magbibigay sa iyo ng kung ano ang kailangan mong ipadala at makatanggap ng mga signal. Ang uri ng mga hudyat na humahawak nito ay RF o dalas ng radyo, ibig sabihin, mga alon ng mahusay na haba ng daluyong, at samakatuwid ay may mababang enerhiya, na sa electromagnetic spectrum ay nasa pagitan ng 3 Hz at 300 Ghz sa dalas.

Ano ang NRF24L01?

NRF24L01

El Ang NRF24L01 ay isang maliit na tilad na gawa ng Nordic Semiconductor. Kung ito Walang nahanap na mga produkto, ang maliit na tilad ay naka-mount sa isang maliit na PCB na may ilang mga pandiwang pantulong na elemento na kailangan mo, at samakatuwid ay bumubuo ng isang module. Maaari mo itong magamit sa maraming paraan, kabilang ang pagkonekta nito sa Adruino tulad ng ipapakita ko sa iyo sa paglaon.

Ang NRF24L01, tulad ng maaaring maibawas mula sa pangalan nito, ay isang wireless na aparato sa komunikasyon na gumagamit ng RF o dalas ng radyo na may kakayahang magpatakbo sa 2,4Ghz - 2,5 Ghz. Iyon ang libreng banda para sa libreng paggamit. Alam mo na ang ibang mga banda ay nakalaan at kailangan mong magbayad kung nais mong gamitin ang mga ito upang makapagpadala ng impormasyon. Bilang karagdagan, isinasama nito ang isang transmiter + isang tatanggap.

Partikular, ang frequency band na maaari mong gamitin ay mula 2.400 Mhz hanggang 2.525Mhz, na may posibilidad na pumili sa pagitan ng 125 channel na may mga puwang na 1Mhz sa pagitan nila. Gayunpaman, hindi inirerekumenda na gumamit ng mga frequency ng 2.4Ghz kung gumagamit ka ng mga WiFi network, mga drone na gumagana sa dalas na ito, atbp., O magkakaroon ng pagkagambala. Iyon ang dahilan kung bakit mas mabuti na gamitin mula 2.501Mhz pataas.

Tungkol sa mga katangian nito, gumagana mula 1.9 hanggang 3.6v, Kaya't madali para sa iyo na paganahin ito sa board ng Arduino mismo na may koneksyon na 3.3, gamit ang mga baterya, at kahit na may isang supply ng kuryente na mayroong boltahe na iyon. Bilang karagdagan, maaari mong i-configure ang bilis ng paghahatid sa pagitan ng 250 Kbps, 1Mbps at hanggang sa 2Mbps.

Ang maliit na tilad sa mga emisyon at pagtanggap ay maaaring gumana nang sabay-sabay sa hanggang sa 6 na koneksyon ng iba`t ibang mga aparato. Gamit iyon maaari kang mag-broadcast o makatanggap mula sa iba't ibang mga puntos nang walang anumang problema. At kung nag-aalala ka tungkol sa pagiging matatag o pagiging maaasahan ng komunikasyon, ang maliit na tilad ay mayroon ding circuitry ng lohika upang iwasto ang mga error sa data at ipasa ang impormasyon kung kinakailangan. Samakatuwid, pinapalaya nito ang processor mula sa gawaing ito.

Upang makontrol ito maaari mong gamitin ang SPI bus, kaya't ang pagkontrol nito sa Arduino ay napakasimple. Bilang karagdagan, ang mga pin ng data ng NRF24L01 ay sumusuporta hanggang sa 5v nang walang mga problema. Ang pagkonsumo ng kuryente sa Stand By ay medyo mababa, kaya't hindi ito magiging elemento na mag-alala, at kapag ito ay nasa operasyon ay hindi ito ang isa sa pinakamahal, dahil kailangan lamang nito ng 15mA para sa pagpapadala at pagtanggap ng data.

Sa merkado ay mahahanap mo ang marami iba't ibang mga module na i-mount ang NRF24L01 chip, binabago lamang nila ang mga elemento ng auxiliary na mayroon sila o sa ilang mga detalye. Halimbawa sa uri ng antena. Ang ilan ay may naka-print na antena sa PCB sa isang hugis na zigzag na may saklaw na mga 20-30 metro. Ang iba ay inaamin ang isang medyo mas malakas na panlabas na antena na may isang amplifier upang pumunta mula 700 metro hanggang 1 km.

Gayunpaman, ang aktwal na saklaw ay limitado ng ilang mga kadahilanan, tulad ng mga hadlang sa kalsada, ingay o pagkagambala mula sa iba pang mga elemento o signal na naroroon, bilis ng paghahatid, boltahe ng suplay (mas mataas na boltahe, mas malaking distansya), atbp. Halimbawa, kung nais mong ipadala sa maximum na bilis ng 2Mbps na magkakaroon ng mahusay na multa sa distansya, na magiging 2 o 3 metro lamang ang maximum. Sa mas mababang bilis maaari mong maakyat ang distansya na iyon.

Kaugnay na artikulo:
ESP8266: ang module ng WIFI para sa Arduino

Ano ang kailangan mong malaman bago ito bilhin?

NRF40L01 antena

El Ang NRF24L01 ay isang napaka murang chip na maaaring magamit sa maraming mga proyekto. Halimbawa, kung wala kang panlabas na antena, maaari mo itong bilhin hanggang sa € 0.65, ang panlabas na modelo ng antena na medyo mas mahal kaysa sa isang ito ngunit napakamura pa rin at hindi karaniwang lumalagpas sa € 1.7.

Kung wala kang ibang emission o elemento ng pagtanggap, alam mo na na dapat kang bumili ng dalawang mga module ng NRF24L01, ang isa na gagamitin sa isang gilid at ang isa pa sa kabilang panig ng kung saan mo nais ipadala. Pareho silang kikilos nagpadala o tatanggap ayon sa gusto mo

Pinout at pag-mount ng NRF24L01

i-pinout ang NRF40L01

Tulad ng para sa pagpupulong, ito ay medyo simple. Ang Ang NRF24L01 ay may 8 mga pin, samakatuwid napout nito ay napakadali upang maunawaan kung paano mo makikita sa larawang ito na iniiwan kita. Sa kanan makikita mo ang diagram ng pin ng isang board Arduino UNO at kung paano makokonekta ang bawat isa sa mga pin ng module.

Tulad ng mahihinuha mo, ang plato Ang NRF24L01 ay pinalakas gamit ang GND at 3.3v pins mula sa Arduino Tandaan na huwag gawin ito sa 5v signal o makakasama ka sa module.

Pagsasama sa Arduino

2 NRF24L01 kasama ang Arduino (circuit)

Kapag nalaman mo kung ano ang NRF24L01 at kung paano ito makakonekta at mapapatakbo, bilang karagdagan sa bilang ng mga proyekto na maaari mong gawin sa isang pares ng mga murang aparato, ang susunod na bagay ay upang ipakita isang halimbawa ng programa upang masimulan mong mag-eksperimento sa iyong Arduino IDE. Tandaan na ang format ng data na maipapadala mo ay maaaring mabago sa source code.

Kaugnay na artikulo:
L298N: module upang makontrol ang mga motor para sa Arduino

Maaari kang pumili upang magpadala at makatanggap ng isang string, isang integer, isang lumulutang data ng punto, atbp. Inirekomenda ko kayo ang aming gabay sa Arduino program kung nagsisimula ka na. Gamit ito maaari kang lumikha ng iyong unang mga proyekto. At bilang isang kongkretong halimbawa para sa NRF24L01, narito iniiwan kita ang mga code na kinakailangan para sa isang string.

Code na dapat mong isulat sa Arduino IDE at iprogram ang Arduino board na konektado sa NRF24L01 na itatalaga mo bilang transmiter:

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

Narito ang code na kailangan mong ipasok sa Arduino IDE at itala sa board na nakakonekta mo sa nakalaang NRF24L01 bilang receptor:

# isama ang <nRF24L01.h>
# isama ang <RF24.h>
# isama ang <RF24_config.h>
# isama ang <SPI.h>

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

// Single radio pipe address para makipag-usap ang 2 node.
Const uint64_t pipe = 0xE8E8F0F0E1LL;

data ng char [16];

walang bisa ang pag-setup (walang bisa)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, tubo);
radyo.startListening ();
}

walang bisa loop (walang bisa)
{
kung (radio.available ())
{
int tapos = radio.read (data, sukat ng data);
Serial.println (data);
}
}

Sa ganun magkakaroon ka ng lahat ng kailangan mo at maaari mong subukang magpadala ng mga salita o mga string ng teksto ng isa at makita kung paano ito natatanggap ng iba. Gumamit ng dalawang computer na konektado sa pamamagitan ng USB sa Arduino board upang magamit ang console bilang isang paraan upang matingnan ang data. Paghiwalayin ang mga ito ng masinop na distansya ayon sa modyul na mayroon ka o ang pagsasaayos na iyong ibinigay at magsisimula kang makita sa screen ng iba pang computer ang mga character na ipinasok mo sa unang code ...


Ang nilalaman ng artikulo ay sumusunod sa aming mga prinsipyo ng etika ng editoryal. Upang mag-ulat ng isang pag-click sa error dito.

Isang komento, iwan mo na

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish.

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Stefan dijo

    Hello Isaac
    Nais kong makumpleto ang isang proyekto sa arduino, rasberry o iba pa.
    Maaari ka bang magbigay ng isang contact sa email upang ipaliwanag?
    Isang minahan - a01b02@abv.bg
    Salamat

Pagsubok sa EnglishSubukan ang Catalanpagsusulit sa Espanyol