NRF24L01: module voor draadloze communicatie voor Arduino

NRF24L01

Je moet zeker een doe-het-zelf-project maken met Arduino of een ander element en je moet er gebruik van maken draadloze communicatie. En dat gebeurt door een soort module of apparaat te hebben waarmee u kunt verzenden via IR, RF, Bluetooth, WiFi, enz. Dat wil zeggen, u moet duidelijk zijn over de behoeften om te weten welk type signaal in uw geval het meest geschikt is.

In dit geval hebben we een gids op de NRF24L01 voor jou. Het is een draadloze communicatiechip die u voorziet van wat u nodig hebt om signalen te verzenden en te ontvangen. Het type signalen dat het verwerkt is RF of radiofrequentie, dat wil zeggen golven met een grote golflengte, en dus lage energie, die in het elektromagnetische spectrum een ​​frequentie tussen 3 Hz en 300 Ghz hebben.

Wat is de NRF24L01?

NRF24L01

El NRF24L01 is een chip vervaardigd door Nordic Semiconductor. Als het Geen producten gevonden., wordt de chip gemonteerd op een kleine printplaat met enkele hulpelementen die je nodig hebt, en dus een module samenstellen. U kunt het op verschillende manieren gebruiken, waaronder het verbinden met Adruino, zoals ik u later zal laten zien.

NRF24L01, zoals kan worden afgeleid uit de naam, is een draadloos communicatieapparaat dat gebruikmaakt van RF- of radiofrequentie met de mogelijkheid om te werken op 2,4 Ghz - 2,5 Ghz. Dat is de gratis band voor gratis gebruik. Je weet al dat andere bands gereserveerd zijn en je moet betalen als je ze wilt gebruiken om informatie te verzenden. Bovendien integreert het een zender + een ontvanger.

Concreet is de frequentieband die u kunt gebruiken van 2.400 Mhz tot 2.525 Mhz, met de mogelijkheid om te kiezen tussen 125-kanalen met spaties van 1Mhz ertussen. Het wordt echter niet aanbevolen om 2.4 Ghz-frequenties te gebruiken als u wifi-netwerken gebruikt, drones die met deze frequentie werken, enz., Anders zal er interferentie zijn. Daarom verdient het de voorkeur om vanaf 2.501Mhz te gebruiken.

Met betrekking tot zijn kenmerken, werkt van 1.9 tot 3.6v, dus het zal gemakkelijk voor je zijn om hem van stroom te voorzien met het Arduino-bord zelf met de 3.3-aansluiting, met behulp van batterijen en zelfs met een voeding die die spanning heeft. Bovendien kunt u de transmissiesnelheid configureren tussen 250 Kbps, 1 Mbps en maximaal 2 Mbps.

De chip in emissies en ontvangsten kan gelijktijdig mee werken tot 6 verbindingen van verschillende apparaten. Daarmee kunt u zonder problemen vanaf verschillende punten uitzenden of ontvangen. En als u zich zorgen maakt over de robuustheid of betrouwbaarheid van de communicatie, heeft de chip zelf logische schakelingen om datafouten te corrigeren en indien nodig informatie door te sturen. Daarom bevrijdt het de processor van deze taak.

Om het te besturen kun je gebruiken de SPI-bus, dus de bediening ervan met Arduino is heel eenvoudig. Bovendien ondersteunen de datapinnen van de NRF24L01 probleemloos tot 5v. Het stroomverbruik in stand-by is vrij laag, dus het zal geen element zijn om u zorgen over te maken, en wanneer het in werking is, is het niet een van de duurste, aangezien het slechts 15 mA nodig heeft voor het verzenden en ontvangen van gegevens.

Op de markt vind je er meerdere verschillende modules die de NRF24L01-chip monteren, ze veranderen alleen in de hulpelementen die ze hebben of in sommige details. Bijvoorbeeld in het type antenne. Sommige hebben een antenne gedrukt op de printplaat in een zigzagvorm met een bereik van ongeveer 20-30 meter. Anderen geven toe een wat krachtigere externe antenne met versterker te gaan van 700 meter naar 1 km.

Echter, de werkelijke reikwijdte wordt beperkt door een aantal factoren, zoals obstakels op de weg, lawaai of interferentie van andere elementen of aanwezige signalen, transmissiesnelheid, voedingsspanning (hogere spanning, grotere afstand), enz. Als u bijvoorbeeld wilt verzenden met de maximale snelheid van 2 Mbps, krijgt u een grote straf in de verte, die maximaal 2 of 3 meter zal zijn. Bij lagere snelheden kun je die afstand misschien beklimmen.

ESP8266
Gerelateerd artikel:
ESP8266: de wifi-module voor Arduino

Wat moet u weten voordat u het koopt?

NRF40L01 antenne

El NRF24L01 is een erg goedkope chip die in een groot aantal projecten kunnen worden gebruikt. Als je bijvoorbeeld geen externe antenne hebt, kun je deze kopen voor maximaal € 0.65, waarbij het externe antennemodel iets duurder is dan deze, maar het is nog steeds erg goedkoop en meestal niet hoger dan € 1.7.

Als u geen ander emissie- of ontvangstelement heeft, weet u al dat u twee NRF24L01-modules moet kopen, één om aan de ene kant te gebruiken en de andere aan de andere kant van waar u wilt zenden. Ze zullen allebei handelen zoals afzender of ontvanger Zoals jij het graag wilt.

Pinout en montage van de NRF24L01

pin-out NRF40L01

Wat betreft de montage, het is vrij eenvoudig. De NRF24L01 heeft 8 pinnen, daarom is de pinout erg eenvoudig om te begrijpen hoe u in deze afbeelding kunt zien dat ik u verlaat. Rechts zie je het pin-diagram van een bord Arduino UNO en hoe elk van de pinnen van de module erop zou worden aangesloten.

Zoals je kunt afleiden, de plaat NRF24L01 wordt gevoed met behulp van de GND- en 3.3v-pinnen van Arduino. Denk eraan om dit niet te doen met het 5v-signaal, anders beschadigt u de module.

Integratie met Arduino

2 NRF24L01 met Arduino (circuit)

Als je eenmaal weet wat de NRF24L01 is en hoe hij kan worden aangesloten en gevoed, naast het aantal projecten dat je kunt doen met een paar van deze goedkope apparaten, is het volgende dat je moet laten zien een programmeervoorbeeld zodat je kunt gaan experimenteren met je Arduino IDE. Onthoud dat het gegevensformaat dat u kunt verzenden, kan worden gewijzigd in de broncode.

l298n
Gerelateerd artikel:
L298N: module om motoren voor Arduino aan te sturen

U kunt ervoor kiezen om een ​​string, een geheel getal, een drijvende-kommagegevens, enz. Te verzenden en te ontvangen. ik beveel aan onze gids over Arduino-programmering als je begint. Hiermee kunt u uw eerste projecten maken. En als concreet voorbeeld voor de NRF24L01, hier laat ik je de codes die nodig zijn voor een string.

Code die je in de Arduino IDE moet schrijven en programmeer het Arduino-bord dat is aangesloten op de NRF24L01 en dat je gaat toewijzen als zender:

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

Hier de code die je moet invoeren in de Arduino IDE en noteer op het bord dat je hebt aangesloten op de speciale NRF24L01 als receptor:

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

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

// Eén radiopijpadres voor de 2 knooppunten om te communiceren.
const uint64_t pijp = 0xE8E8F0F0E1LL;

char-gegevens [16];

ongeldige setup (ongeldig)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, pijp);
radio.startListening ();
}

leegte lus (leegte)
{
if (radio.available ())
{
int done = radio.read (data, omvang van data);
Serial.println (gegevens);
}
}

Met dat je hebt alles wat je nodig hebt en je kunt proberen om woorden of tekstreeksen van de een te verzenden en te zien hoe de ander ze ontvangt. Gebruik twee computers die via USB zijn aangesloten op het Arduino-bord om de console te gebruiken als middel om de gegevens te bekijken. Scheid ze op een voorzichtige afstand volgens de module die je hebt of de configuratie die je hebt opgegeven en je zult op het scherm van de andere computer de karakters gaan zien die je in de eerste code hebt ingevoerd ...


Een opmerking, laat de jouwe achter

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Stefan zei

    Hallo Isaac
    Ik wil een project voltooien met Arduino, Rasberry of iets anders.
    Kunt u een e-mailcontact geven om uit te leggen?
    Een mijn - a01b02@abv.bg
    bedankt