NRF24L01: Arduino traadita side moodul

NRF24L01

Kindlasti peate looma DIY projekti, kasutades Arduino või mõnda muud elementi, ja peate seda kasutama traadita side. Ja see juhtub, kui teil on teatud tüüpi moodul või seade, mis võimaldab teil edastada infrapuna-, raadio-, raadio-, Bluetooth-, WiFi-ühenduse jne abil. See tähendab, et peate teadma, millist tüüpi signaal oleks teie puhul kõige sobivam.

Sel juhul on meil NRF24L01 juhend sinu jaoks. See on traadita sidekiip, mis annab teile signaalide saatmiseks ja vastuvõtmiseks vajaliku. Selle käideldavate signaalide tüüp on raadiosagedus või raadiosagedus, see tähendab suure lainepikkusega ja seetõttu väikese energiaga lained, mis elektromagnetilises spektris on vahemikus 3 Hz kuni 300 Ghz.

Mis on NRF24L01?

NRF24L01

El NRF24L01 on Nordic Semiconductor toodetud kiip. Kui see Tooteid ei leitud., kiip on paigaldatud väikesele PCB-le koos mõne vajaliku abielemendiga ja seega moodustab mooduli. Saate seda kasutada mitmel viisil, sealhulgas ühendada Adruinoga, nagu ma teile hiljem näitan.

NRF24L01, nagu selle nimest võib järeldada, on traadita sideseade, mis kasutab raadiosagedust või raadiosagedust võimega töötada 2,4 GHz - 2,5 Ghz. See on tasuta bänd tasuta kasutamiseks. Te juba teate, et teised bändid on reserveeritud ja peate maksma, kui soovite neid teabe edastamiseks kasutada. Lisaks integreerib see saatja + vastuvõtja.

Täpsemalt on sagedusriba, mida saate kasutada, vahemikus 2.400–2.525 MHz, kusjuures võimalus on valida 125i kanalid nende vahel on 1Mhz tühikud. Siiski ei ole soovitatav kasutada 2.4 GHz sagedusi, kui kasutate WiFi-võrke, selle sagedusega töötavaid droone vms või on häireid. Seetõttu on eelistatav kasutada alates 2.501Mhz.

Selle omaduste osas töötab vahemikus 1.9 kuni 3.6 v, Nii et teil on seda lihtne toita Arduino plaadi enda abil ühendusega 3.3, kasutades patareisid ja isegi selle pingega toiteallikaga. Lisaks saate konfigureerida edastuskiiruse vahemikus 250 Kbps, 1Mbps ja kuni 2Mbps.

Heitmete ja vastuvõttude kiip võib töötada samaaegselt kuni 6 ühendust mitmesugustest seadmetest. Sellega saate probleemideta edastada või vastu võtta erinevatest punktidest. Ja kui olete mures side robustsuse või usaldusväärsuse pärast, on kiibil endal loogikalülitused, et parandada andmevigu ja vajadusel edastada teavet. Seetõttu vabastab see protsessori sellest ülesandest.

Selle juhtimiseks võite kasutada SPI bussi, nii et selle juhtimine Arduinoga on väga lihtne. Lisaks toetavad NRF24L01 andmekontaktid probleemideta kuni 5v. Energiatarve ooterežiimis on üsna väike, nii et see ei ole murettekitav element ja kui see töötab, pole see kõige kulukam, kuna see vajab andmete saatmiseks ja vastuvõtmiseks ainult 15 mA.

Turult leiate mitu erinevad moodulid, mis kinnitavad NRF24L01 kiibi, muutuvad need ainult nende abielementides, mis neil on, või mõnedes detailides. Näiteks antenni tüübi järgi. Mõnel on PCB-le trükitud siksakikujuline antenn, mille tööulatus on umbes 20-30 meetrit. Teised tunnistavad, et mõnevõrra võimsam võimendiga väline antenn läheb 700 meetri pealt 1 km kaugusele.

Kuid tegelikku ulatust piiravad mõned tegurid, näiteks teetakistused, teiste elementide või signaalide müra või häired, edastuskiirus, toitepinge (suurem pinge, suurem vahemaa) jne. Näiteks kui soovite edastada maksimaalsel kiirusel 2Mbps, siis on distantsil suurepärane karistus, mis on maksimaalselt ainult 2 või 3 meetrit. Madalamal kiirusel võite selle vahemaa üles ronida.

ESP8266
Seotud artikkel:
ESP8266: WIFI-moodul Arduinole

Mida peate enne selle ostmist teadma?

NRF40L01 antenn

El NRF24L01 on väga odav kiip mida saab kasutada paljudes projektides. Näiteks kui teil pole välist antenni, saate selle osta kuni 0.65 euro eest, kusjuures välise antenni mudel on veidi kallim kui see, kuid on siiski väga odav ega ületa tavaliselt 1.7 eurot .

Kui teil pole veel ühtegi heite- või vastuvõtuelementi, teate juba, et peate ostma kaks NRF24L01 moodulit, ühe kasutamiseks ühel ja teisel küljel, kuhu soovite edastada. Mõlemad käituvad nagu saatja või vastuvõtja nagu sulle meeldib.

NRF24L01 kinnitus ja kinnitus

tihvt NRF40L01

Mis puutub montaaži, siis see on üsna lihtne. The NRF24L01-l on 8 tihvti, seetõttu on selle kinnitamine väga lihtne et mõista, kuidas näete sellel pildil, et jätan teid maha. Paremal on näha tahvli tihvtdiagramm Arduino UNO ja kuidas iga mooduli tihvt oleks sellega ühendatud.

Nagu võite järeldada, plaat NRF24L01 toide toimub GND ja 3.3v tihvtide abil Arduinost. Ärge unustage, et ärge tehke seda 5v signaaliga, muidu kahjustate moodulit.

Integreerimine Arduinoga

2 NRF24L01 Arduinoga (vooluring)

Kui teate, mis on NRF24L01 ja kuidas seda saab ühendada ja toite toota, on järgmine asi lisaks projektide arvule, mida saate paari sellise odava seadmega teha, programmeerimisnäide nii et võite hakata oma Arduino IDE-ga katsetama. Pidage meeles, et edastatavat andmevormingut saab lähtekoodis muuta.

l298n
Seotud artikkel:
L298N: moodul Arduino mootorite juhtimiseks

Võite valida stringi, täisarvu, ujukomaandmete jne saatmise ja vastuvõtmise. Ma soovitan sind meie juhend Arduino programmeerimise kohta kui alustate. Sellega saate luua oma esimesed projektid. Ja konkreetse näitena NRF24L01 jaoks jätan siia teid stringi jaoks vajalikud koodid.

Kood, mille peate kirjutama Arduino IDE-sse ja programmeerima NRF24L01-ga ühendatud Arduino-tahvli, mille soovite määrata saatja:

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

Siit leiate koodi, mille peate sisestama Arduino IDE-sse ja märkima tahvlile, et olete ühendatud spetsiaalse NRF24L01-ga vastuvõtja:

#kaasas <nRF24L01.h>
#kaasas <RF24.h>
#include <RF24_config.h>
#kaasas <SPI.h>

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

// Ühe raadiotoru aadress kahe sõlme suhtlemiseks.
const uint64_t toru = 0xE8E8F0F0E1LL;

char andmed [16];

tühine seadistus (tühine)
{
Serial.begin (9600);
raadio.alusta ();
radio.openReadingPipe (1, toru);
raadio.alusta kuulamine ();
}

tühine silmus (tühine)
{
kui (raadio.available ())
{
int tehtud = raadio.loetud (andmed, andmete suurus);
Serial.println (andmed);
}
}

Sellega teil on kõik vajalik ja võite proovida ühe sõnu või tekstistringi saata ja vaadata, kuidas teine ​​neid vastu võtab. Andmete vaatamiseks konsooli kasutamiseks kasutage kaht Arduino tahvliga USB kaudu ühendatud arvutit. Eraldage neile mõistlik kaugus vastavalt teie moodulile või teile antud konfiguratsioonile ja hakkate teise arvuti ekraanil nägema märke, mille olete esimese koodi sisestanud ...


Kommentaar, jätke oma

Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   Stefan DIJO

    Tere, Isaac
    Ma tahan projekti lõpule viia arduino, vaarika või millegi muuga.
    Kas saaksite selgituse saamiseks anda e-posti kontakti?
    Minu - a01b02@abv.bg
    tänan