Tikrai turite sukurti „pasidaryk pats“ projektą naudodami „Arduino“ ar bet kurį kitą elementą ir turite tuo pasinaudoti belaidis ryšys. Taip nutinka turint tam tikro tipo modulį ar įrenginį, kuris leidžia perduoti naudojant IR, RF, „Bluetooth“, „WiFi“ ir kt. Tai reiškia, kad turite aiškiai žinoti, koks jūsų signalo tipas būtų tinkamiausias.
Šiuo atveju mes turime a vadovą NRF24L01 tau. Tai belaidžio ryšio lustas, kuris suteiks jums tai, ko jums reikia norint siųsti ir priimti signalus. Signalų tipas, kurį jis valdo, yra RF arba radijo dažnis, tai yra didelio bangos ilgio bangos, taigi ir maža energija, kurios elektromagnetiniame spektre dažnis yra nuo 3 Hz iki 300 Ghz.
Kas yra NRF24L01?
El NRF24L01 yra lustas, kurį gamina „Nordic Semiconductor“. Jei tai Nerasta jokių produktų., lustas yra pritvirtintas ant mažos PCB su keletu pagalbinių elementų, kurių jums reikia, ir todėl sudaromas modulis. Galite naudoti jį keliais būdais, įskaitant prijungimą prie „Adruino“, kaip aš jums parodysiu vėliau.
NRF24L01, kaip galima spręsti iš jo pavadinimo, yra belaidis ryšio įrenginys, kuris naudoja radijo arba radijo dažnius, galėdamas veikti 2,4 GHz - 2,5 GHz. Tai nemokama juosta, skirta nemokamai naudotis. Jūs jau žinote, kad kitos juostos yra rezervuotos ir turite mokėti, jei norite jas naudoti informacijai perduoti. Be to, jis integruoja siųstuvą + imtuvą.
Tiksliau, dažnio juosta, kurią galite naudoti, yra nuo 2.400 2.525 MHz iki XNUMX XNUMX MHz, su galimybe pasirinkti 125 kanalai su 1Mhz tarpais tarp jų. Tačiau nerekomenduojama naudoti 2.4 GHz dažnių, jei naudojate „WiFi“ tinklus, bepiločius orlaivius, kurie dirba su šiuo dažniu ir pan., Arba bus trukdžių. Štai kodėl pageidautina naudoti nuo 2.501Mhz.
Kalbant apie jo savybes, dirba nuo 1.9 iki 3.6v, Taigi jums bus lengva jį maitinti pačia „Arduino“ plokšte su 3.3 jungtimi, naudojant baterijas ir net naudojant maitinimo šaltinį, kuris turi tokią įtampą. Be to, galite sukonfigūruoti perdavimo greitį nuo 250 Kbps, 1Mbps iki 2Mbps.
Emisijos ir priėmimo lustas gali veikti vienu metu iki 6 jungčių įvairių prietaisų. Su tuo galite be problemų transliuoti ar priimti iš skirtingų taškų. Ir jei jums rūpi ryšio patikimumas ar patikimumas, pats lustas turi loginę schemą, kad ištaisytų duomenų klaidas ir prireikus perduotų informaciją. Todėl procesorius atleidžiamas nuo šios užduoties.
Norėdami jį valdyti, galite naudoti SPI autobusas, todėl jo valdymas naudojant „Arduino“ yra labai paprastas. Be to, NRF24L01 duomenų kaiščiai be problemų palaiko iki 5v. Energijos suvartojimas budėjimo režimu yra gana mažas, todėl dėl to nereikės jaudintis, o kai jis veikia, jis nėra vienas iš brangiausių, nes duomenims siųsti ir priimti reikia tik 15 mA.
Turguje rasite keletą skirtingi moduliai, pritvirtinantys NRF24L01 lustą, jie keičiasi tik turimuose pagalbiniuose elementuose arba kai kuriose detalėse. Pavyzdžiui, antenos tipo. Kai kurių ant PCB yra atspausdinta antena zigzago formos, kurios nuotolis yra apie 20–30 metrų. Kiti pripažįsta, kad šiek tiek galingesnė išorinė antena su stiprintuvu eina nuo 700 metrų iki 1 km.
Tačiau, faktinę taikymo sritį riboja kai kurie veiksniai, pvz., kelio kliūtys, kitų esančių elementų ar signalų keliamas triukšmas ar trukdžiai, perdavimo greitis, maitinimo įtampa (didesnė įtampa, didesnis atstumas) ir kt. Pvz., Jei norite perduoti maksimaliu 2Mbps greičiu, tai bus puiki bausmė per atstumą, kuri bus maksimali tik 2 ar 3 metrai. Mažesniu greičiu galite įveikti tą atstumą.
Ką reikia žinoti prieš perkant?
El NRF24L01 yra labai pigi mikroschema kurias galima panaudoti daugybėje projektų. Pavyzdžiui, jei neturite išorinės antenos, galite ją nusipirkti iki 0.65 euro, o išorinės antenos modelis yra šiek tiek brangesnis nei šis, tačiau vis tiek yra labai pigus ir paprastai neviršija 1.7 euro.
Jei neturite kito išmetimo ar priėmimo elemento, jau žinote, kad turite nusipirkti du NRF24L01 modulius, vieną naudoti vienoje, o kitą - toje vietoje, kur norite perduoti. Jie abu elgsis kaip siuntėjas ar gavėjas Kaip tu mėgsti.
NRF24L01 kaištis ir montavimas
Kalbant apie surinkimą, tai gana paprasta. NRF24L01 turi 8 kaiščius, todėl jį labai lengva išimti kad suprastum, kaip šiame paveikslėlyje gali pamatyti, kad aš tave palieku. Dešinėje galite pamatyti lentos kaiščių schemą Arduino UNO ir kaip prie jo bus prijungti visi modulio kaiščiai.
Kaip galite spręsti, plokštė NRF24L01 maitinamas naudojant GND ir 3.3v kaiščius iš Arduino. Nepamirškite to nedaryti naudodami 5v signalą, nes kitaip sugadinsite modulį.
Integracija su „Arduino“
Kai žinosite, kas yra „NRF24L01“ ir kaip jį galima prijungti ir maitinti, be to, kiek projektų galite atlikti su keletu šių pigių įrenginių, kitas dalykas yra parodyti programavimo pavyzdys kad galėtumėte pradėti eksperimentuoti su „Arduino IDE“. Atminkite, kad duomenų formatą, kurį galite perduoti, galima keisti šaltinio kode.
Galite pasirinkti siųsti ir gauti eilutę, sveikąjį skaičių, slankiojo kablelio duomenis ir kt. Aš jums rekomenduoju mūsų „Arduino“ programavimo vadovas jei pradedate. Su juo galite sukurti savo pirmuosius projektus. Kaip konkretų pavyzdį NRF24L01, čia aš jus paliksiu eilutei reikalingus kodus.
Kodas, kurį turite įrašyti „Arduino IDE“ ir užprogramuoti „Arduino“ plokštę, prijungtą prie NRF24L01, kurią ketinate priskirti kaip siųstuvas:
#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); }
Čia kodas, kurį turite įvesti „Arduino IDE“ ir lentoje įrašyti, kad prisijungėte prie tam skirto NRF24L01 kaip imtuvas:
#įtraukti <nRF24L01.h>
#įtraukti <RF24.h>
#include <RF24_config.h>
#įtraukti <SPI.h>
const int pinCE = 9;
const int pinCSN = 10;
RF24 radijas (pinCE, pinCSN);
// Vieno radijo vamzdžio adresas, skirtas 2 mazgams bendrauti.
const uint64_t vamzdis = 0xE8E8F0F0E1LL;
char duomenys [16];
negaliojanti sąranka (negaliojanti)
{
Serijos pradžia (9600);
radijas.prasideda ();
radio.openReadingPipe (1, vamzdis);
radijas.startasKlausymas ();
}
negaliojanti kilpa (negaliojanti)
{
jei (radio.available ())
{
int padaryta = radijas. skaityti (duomenys, duomenų dydis);
Serial.println (duomenys);
}
}
Su tuo turėsite viską, ko jums reikia, ir galėsite pabandyti išsiųsti vieno žodžius ar teksto eilutes ir pamatyti, kaip kitas juos priima. Norėdami naudoti konsolę kaip priemonę duomenims peržiūrėti, naudokite du kompiuterius, prijungtus USB prie „Arduino“ plokštės. Atskirkite jiems protingą atstumą pagal turimą modulį arba jam suteiktą konfigūraciją ir kito kompiuterio ekrane pradėsite matyti simbolius, kuriuos įvedėte į pirmąjį kodą ...
Sveikas Izaokai
Noriu užbaigti projektą su arduino, avietėmis ar dar kuo nors.
Ar galite duoti kontaktą el. Paštu, kad paaiškintumėte?
Mano - a01b02@abv.bg
Ačiū