NRF24L01: Arduino- ի անլար հաղորդակցության մոդուլ

NRF24L01

Անշուշտ, դուք պետք է ստեղծեք DIY նախագիծ ՝ օգտագործելով Arduino կամ որևէ այլ տարր, և դուք պետք է օգտագործեք այն անլար հաղորդակցություն, Եվ դա տեղի է ունենում ունենալով որոշակի տիպի մոդուլ կամ սարք, որը թույլ է տալիս փոխանցել IR, RF, Bluetooth, WiFi և այլն օգտագործմամբ: Այսինքն, դուք պետք է հստակ հասկանաք այն կարիքների մասին, որոնք պետք է իմանան, թե որ տեսակի ազդանշանն է ամենահարմարը ձեր դեպքում:

Այս դեպքում մենք ունենք ուղեցույց NRF24L01- ի վրա քեզ համար. Դա անլար կապի չիպ է, որը ձեզ կտրամադրի այն, ինչ ձեզ հարկավոր է ազդանշաններ ուղարկելու և ստանալու համար: Ազդանշանների տեսակը, որոնցով նա վարվում է, RF կամ ռադիոհաճախականությունն է, այսինքն ՝ մեծ ալիքի և, հետեւաբար, ցածր էներգիայի ալիքները, որոնք էլեկտրամագնիսական սպեկտրում 3 Հց-ից 300 ԳՀց հաճախականության միջև են:

Ի՞նչ է NRF24L01- ը:

NRF24L01

El NRF24L01- ը Nordic Semiconductor- ի արտադրած մի չիպ է, Եթե ​​այն ամբողջական գնումներ, չիպը տեղադրվում է մի փոքր PCB- ի վրա, որի համար անհրաժեշտ են որոշ օժանդակ տարրեր, ուստի կազմում է մոդուլ: Դուք կարող եք օգտագործել այն մի քանի եղանակներով, ներառյալ այն միացնելով Adruino- ին, որը ես ձեզ ավելի ուշ ցույց կտամ:

NRF24L01- ը, ինչպես կարելի է եզրակացնել իր անվանից, անլար կապի սարք է, որն օգտագործում է ՌԴ կամ ռադիոհաճախականություն ` 2,4 ԳՀց - 2,5 ԳՀց, Դա անվճար օգտագործման անվճար նվագախումբն է: Դուք արդեն գիտեք, որ այլ նվագախմբերը վերապահված են, և դուք պետք է վճարեք, եթե ուզում եք դրանք օգտագործել տեղեկատվություն փոխանցելու համար: Բացի այդ, այն ինտեգրում է հաղորդիչ + ստացող:

Մասնավորապես, հաճախականության տիրույթը, որը կարող եք օգտագործել, 2.400 ՄՀց-ից մինչև 2.525 ՄՀց է ՝ հնարավորությունը ընտրելու միջև 125 ալիք նրանց միջեւ 1 ՄՀց տարածություններով: Այնուամենայնիվ, խորհուրդ չի տրվում օգտագործել 2.4 ԳՀց հաճախականություններ, եթե օգտագործում եք WiFi ցանցեր, անօդաչու թռչող սարքեր, որոնք աշխատում են այս հաճախականությամբ և այլն, կամ կլինեն միջամտություններ: Այդ պատճառով նախընտրելի է օգտագործել 2.501 ՄՀց-ից հետո:

Ինչ վերաբերում է դրա բնութագրերին, աշխատում է 1.9-ից 3.6v, այնպես որ ձեզ համար հեշտ կլինի այն ապահովել Arduino տախտակի միջոցով `3.3 միացումով, մարտկոցներ օգտագործելով և նույնիսկ այդ էլեկտրական լարման աղբյուրով: Բացի այդ, փոխանցման արագությունը կարող եք կարգավորել 250 Կբիթ / վրկ, 1 Մբիթ / վրկ և մինչև 2 Մբիթ / վրկ:

Արտանետումների և ընդունումների չիպը կարող է միաժամանակ աշխատել հետ մինչեւ 6 միացում տարբեր սարքերի: Դրանով դուք կարող եք առանց որևէ խնդրի հեռարձակել կամ ստանալ տարբեր կետերից: Եվ եթե դուք մտահոգված եք հաղորդակցության կայունության կամ հուսալիության հարցով, ապա չիպը ինքնին ունի տրամաբանական սխեմաներ `տվյալների սխալները շտկելու և անհրաժեշտության դեպքում տեղեկատվություն փոխանցելու համար: Հետեւաբար, այն պրոցեսորին ազատում է այս առաջադրանքից:

Այն վերահսկելու համար կարող եք օգտագործել SPI ավտոբուսը, այնպես որ դրա վերահսկումը Arduino- ի հետ շատ պարզ է: Բացի այդ, NRF24L01- ի տվյալների քորոցներն առանց խնդիրների ապահովում են մինչև 5 վ: Stand By- ում էլեկտրաէներգիայի սպառումը բավականին ցածր է, ուստի դա անհանգստանալու տարր չի հանդիսանա, և երբ այն գործում է, դա ամենաթանկերից չէ, քանի որ տվյալների ուղարկման և ստանալու համար դրա համար անհրաժեշտ է ընդամենը 15mA:

Շուկայում դուք կգտնեք մի քանիսը տարբեր մոդուլներ, որոնք տեղադրում են NRF24L01 չիպը, դրանք փոխվում են միայն իրենց օժանդակ տարրերի կամ որոշ մանրամասների մեջ: Օրինակ ՝ ալեհավաքի տեսակի մեջ: Ոմանք ունեն PCB- ի վրա տպված ալեհավաք զիգզագի տեսքով, մոտ 20-30 մետր հեռավորության վրա: Մյուսները ընդունում են մի փոքր ավելի հզոր արտաքին ալեհավաք `ուժեղացուցիչով 700 մետրից 1 կմ անցնելու համար:

Սակայն, իրական շրջանակը սահմանափակված է որոշ գործոններով, ինչպիսիք են ճանապարհային խոչընդոտները, աղմուկը կամ այլ տարրերից կամ ազդանշաններից միջամտությունը, փոխանցման արագությունը, մատակարարման լարումը (ավելի բարձր լարում, ավելի մեծ հեռավորություն) և այլն: Օրինակ, եթե ցանկանում եք հաղորդել առավելագույն արագությամբ 2 Մբիթ / վրկ, դա մեծ պատիժ կստանա հեռավորության վրա, որը կլինի առավելագույնը ընդամենը 2 կամ 3 մետր: Ավելի ցածր արագությամբ գուցե կարողանաք բարձրանալ այդ հեռավորությունը:

Առնչվող հոդված.
ESP8266. Arduino- ի WIFI մոդուլը

Ի՞նչ պետք է իմանաք նախքան այն գնելը:

NRF40L01 ալեհավաք

El NRF24L01- ը շատ էժան չիպ է որոնք կարող են օգտագործվել բազմաթիվ նախագծերում: Օրինակ, եթե չունեք արտաքին ալեհավաք, այն կարող եք գնել մինչև 0.65 եվրոյով, իսկ արտաքին ալեհավաքի մոդելը մի փոքր ավելի թանկ է, քան այս մեկը, բայց այն դեռ շատ էժան է և սովորաբար չի գերազանցում 1.7 եվրո:

Եթե ​​այլ արտանետման կամ ընդունման տարր չունեք, արդեն գիտեք, որ պետք է գնել երկու NRF24L01 մոդուլ, մեկը ՝ մի կողմում օգտագործելու, իսկ մյուսը ՝ այն կողմում, որտեղ ցանկանում եք հաղորդել: Նրանք երկուսն էլ կվարվեն այնպես, ինչպես ուղարկող կամ ստացող Ինչպես կուզես.

NRF24L01- ի տեղադրում և տեղադրում

pinout NRF40L01

Ինչ վերաբերում է հավաքին, ապա դա բավականին պարզ է: Ի NRF24L01- ն ունի 8 քորոց, հետեւաբար դրա փինումը շատ հեշտ է հասկանալու համար, թե ինչպես կարող ես տեսնել այս պատկերում, որ ես թողնում եմ քեզ: Աջ կողմում դուք կարող եք տեսնել տախտակի քորոցային դիագրամը Arduino UNO և ինչպես է մոդուլի յուրաքանչյուր քորոց միացված լինելու դրան:

Ինչպես կարող եք եզրակացնել, ափսեը NRF24L01- ը սնուցվում է GND և 3.3v փիններով Արդուինոյից: Մի մոռացեք, որ դա չանեք 5v ազդանշանի միջոցով, հակառակ դեպքում դուք կվնասեք մոդուլին:

Ինտեգրում Arduino- ի հետ

2 NRF24L01 Arduino- ի հետ (միացում)

Երբ իմանաք, թե որն է NRF24L01- ը և ինչպես է այն միանում և սնուցվում, բացի մի շարք նախագծերից, որոնք կարող եք անել այս մի քանի էժանագին սարքերով, հաջորդ բանը ցույց տալն է ծրագրավորման օրինակ այնպես որ կարող եք սկսել փորձեր կատարել ձեր Arduino IDE- ի հետ: Հիշեք, որ տվյալների ձևաչափը, որը կարող եք փոխանցել, կարող է փոփոխվել աղբյուրի կոդում:

Առնչվող հոդված.
L298N: Arduino- ի շարժիչները կառավարելու մոդուլ

Կարող եք ընտրել և ուղարկել լարեր, ամբողջ թիվ, լողացող կետի տվյալներ և այլն: Ես խորհուրդ եմ տալիս ձեզ Arduino ծրագրավորման վերաբերյալ մեր ուղեցույցը եթե սկսում ես: Դրանով դուք կարող եք ստեղծել ձեր առաջին նախագծերը: Եվ որպես NRF24L01- ի կոնկրետ օրինակ, ես այստեղ եմ թողնում ձեզ տողի համար անհրաժեշտ ծածկագրերը.

Կոդավորեք, որը դուք պետք է գրեք Arduino IDE- ում և ծրագրավորեք NRF24L01- ին միացված Arduino տախտակը, որը դուք պատրաստվում եք նշանակել որպես հաղորդիչ:

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

Այստեղ ծածկագիրը, որը դուք պետք է մուտքագրեք Arduino IDE- ում և գրառեք այն տախտակի վրա, որը միացրել եք նվիրված NRF24L01- ին, ընկալիչ:

# ներառել <nRF24L01.h>
# ներառել <RF24.h>
# ներառել <RF24_config.h>
# ներառել <SPI.h>

const int pinCE = 9;
const int pinCSN = 10;
RF24 ռադիո (pinCE, pinCSN);

// Ռադիո խողովակի մեկ հասցե հաղորդակցման համար 2 հանգույցների համար:
կազմ uint64_t խողովակ = 0xE8E8F0F0E1LL;

char տվյալներ [16];

անվավեր կարգավորում (անվավեր)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, խողովակ);
radio.startListening ();
}

անվավեր հանգույց (անվավեր)
{
եթե (ռադիո. մատչելի ())
{
int done = radio.read (տվյալներ, տվյալների չափը);
Serial.println (տվյալներ);
}
}

Դրանով դուք կունենաք այն ամենը, ինչ ձեզ հարկավոր է, և կարող եք փորձել ուղարկել բառեր կամ տեքստի տողեր և տեսնել, թե ինչպես է մյուսը ստանում դրանք, Օգտագործեք երկու համակարգիչ, որոնք USB- ով միացված են Arduino տախտակին `մխիթարիչն օգտագործելու համար` որպես տվյալների դիտման միջոց: Առանձնացրեք նրանց խոհեմ հեռավորությունը ՝ ըստ ձեր ունեցած մոդուլի կամ ձեր տված կազմաձևի, և մյուս համակարգչի էկրանին կսկսեք տեսնել առաջին կոդում մուտքագրած նիշերը ...


Հոդվածի բովանդակությունը հավատարիմ է մեր սկզբունքներին խմբագրական էթիկա, Սխալի մասին հաղորդելու համար կտտացրեք այստեղ.

Մեկնաբանություն, թող ձերը

Թողեք ձեր մեկնաբանությունը

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու: Պահանջվող դաշտերը նշված են *

*

*

  1. Տվյալների համար պատասխանատու ՝ Միգել Անխել Գատոն
  2. Տվյալների նպատակը. Վերահսկել SPAM, մեկնաբանությունների կառավարում:
  3. Օրինականություն. Ձեր համաձայնությունը
  4. Տվյալների հաղորդագրություն. Տվյալները չեն փոխանցվի երրորդ անձանց, բացառությամբ իրավական պարտավորության:
  5. Տվյալների պահպանում. Տվյալների շտեմարան, որը հյուրընկալվում է Occentus Networks (EU) - ում
  6. Իրավունքներ. Timeանկացած պահի կարող եք սահմանափակել, վերականգնել և ջնջել ձեր տեղեկատվությունը:

  1.   Stefan ասաց

    Բարև Իսահակ
    Ես ուզում եմ ավարտել մի նախագիծ `arduino, Rasberry կամ այլ բաներով:
    Կարո՞ղ եք էլփոստով կապվել ՝ բացատրելու համար:
    Ական a01b02@abv.bg
    Շնորհակալություն