NRF24L01: moduł do komunikacji bezprzewodowej dla Arduino

NRF24L01

Na pewno musisz stworzyć projekt DIY za pomocą Arduino lub dowolnego innego elementu i musisz z niego skorzystać komunikacja bezprzewodowa. Dzieje się tak dzięki posiadaniu pewnego rodzaju modułu lub urządzenia, które umożliwia transmisję za pomocą podczerwieni, RF, Bluetooth, WiFi itp. Oznacza to, że musisz mieć jasność co do potrzeby, aby wiedzieć, jaki rodzaj sygnału byłby najbardziej odpowiedni w Twoim przypadku.

W tym przypadku mamy plik przewodnik po NRF24L01 dla Ciebie. Jest to chip do komunikacji bezprzewodowej, który zapewni Ci to, czego potrzebujesz do wysyłania i odbierania sygnałów. Rodzaj obsługiwanych przez niego sygnałów to fale o częstotliwości radiowej lub częstotliwości radiowej, to znaczy fale o dużej długości fali, a zatem o niskiej energii, które w widmie elektromagnetycznym mają częstotliwość od 3 Hz do 300 GHz.

Co to jest NRF24L01?

NRF24L01

El NRF24L01 to chip wyprodukowany przez Nordic Semiconductor. Jeśli to pełne zakupyukład jest montowany na małej płytce drukowanej z kilkoma elementami pomocniczymi, które są potrzebne, a więc tworzą moduł. Możesz go użyć na kilka sposobów, w tym podłączyć go do Adruino, co pokażę później.

NRF24L01, jak można wywnioskować z jego nazwy, to bezprzewodowe urządzenie komunikacyjne, które wykorzystuje częstotliwości radiowe lub radiowe i może działać na 2,4 Ghz - 2,5 Ghz. To jest wolne pasmo do bezpłatnego użytku. Wiesz już, że inne pasma są zarezerwowane i musisz zapłacić, jeśli chcesz używać ich do przesyłania informacji. Dodatkowo integruje nadajnik + odbiornik.

W szczególności pasmo częstotliwości, którego można użyć, wynosi od 2.400 MHz do 2.525 MHz, z możliwością wyboru między Kanały 125 z odstępami 1 MHz między nimi. Jednak nie zaleca się korzystania z częstotliwości 2.4 GHz, jeśli korzystasz z sieci Wi-Fi, dronów, które działają z tą częstotliwością itp., W przeciwnym razie wystąpią zakłócenia. Dlatego lepiej jest używać od 2.501 MHz.

Jeśli chodzi o jego cechy, działa od 1.9 do 3.6v, Łatwo będzie więc zasilić go samą płytką Arduino z połączeniem 3.3, przy użyciu baterii, a nawet zasilacza, który ma to napięcie. Ponadto możesz skonfigurować prędkość transmisji od 250 Kb / s, 1 Mb / s do 2 Mb / s.

Chip w emisjach i przyjęciach może pracować jednocześnie do 6 połączeń różnych urządzeń. Dzięki temu możesz bez problemu nadawać lub odbierać z różnych punktów. A jeśli obawiasz się solidności lub niezawodności komunikacji, sam chip ma obwody logiczne, które korygują błędy danych i przesyłają informacje, jeśli to konieczne. Dlatego zwalnia procesor z tego zadania.

Aby to kontrolować, możesz użyć magistrala SPI, więc jego sterowanie za pomocą Arduino jest bardzo proste. Ponadto piny danych NRF24L01 obsługują do 5 V bez problemów. Pobór mocy w trybie Stand By jest dość niski, więc nie będzie elementem do zmartwień, a podczas pracy nie należy do najbardziej kosztownych, gdyż do wysyłania i odbierania danych potrzebuje tylko 15 mA.

Na rynku znajdziesz kilka różne moduły, które montują układ NRF24L01zmieniają się tylko w elementach pomocniczych, które posiadają lub w niektórych szczegółach. Na przykład w rodzaju anteny. Niektóre mają antenę nadrukowaną na PCB w kształcie zygzaka o zasięgu około 20-30 metrów. Inni przyznają nieco mocniejszą antenę zewnętrzną ze wzmacniaczem, aby przejść od 700 metrów do 1 km.

Jednakże, rzeczywisty zakres jest ograniczony przez pewne czynniki, takie jak przeszkody drogowe, hałas lub zakłócenia powodowane przez inne obecne elementy lub sygnały, prędkość transmisji, napięcie zasilania (wyższe napięcie, większa odległość) itp. Na przykład, jeśli chcesz nadawać z maksymalną prędkością 2 Mb / s, będzie to miało duży wpływ na odległość, która będzie wynosić tylko 2 lub 3 metry. Przy niższych prędkościach możesz pokonać tę odległość.

Podobne artykuł:
ESP8266: moduł WIFI dla Arduino

Co musisz wiedzieć przed zakupem?

Antena NRF40L01

El NRF24L01 to bardzo tani układ które można wykorzystać w wielu projektach. Na przykład, jeśli nie masz anteny zewnętrznej, możesz ją kupić za maksymalnie 0.65 EUR, przy czym model anteny zewnętrznej jest nieco droższy niż ten, ale nadal jest bardzo tani i zwykle nie przekracza 1.7 EUR.

Jeśli nie masz innego elementu nadawczego lub odbiorczego, wiesz już, że musisz kupić dwa moduły NRF24L01, jeden do wykorzystania po jednej stronie, a drugi po drugiej stronie miejsca, w którym chcesz nadawać. Oboje będą się zachowywać jak nadawca lub odbiorca jak chcesz.

Pinout i montaż NRF24L01

wyprowadzenie NRF40L01

Jeśli chodzi o montaż, jest to dość proste. Plik NRF24L01 ma 8 pinów, dlatego jego wyprowadzenie jest bardzo łatwe aby zrozumieć, jak możesz zobaczyć na tym obrazie, że cię zostawiam. Po prawej stronie widać schemat pinów tablicy Arduino UNO i jak każdy z pinów modułu byłby do niego podłączony.

Jak można wywnioskować, talerz NRF24L01 jest zasilany za pomocą pinów GND i 3.3 V. z Arduino. Pamiętaj, aby nie robić tego z sygnałem 5v, bo uszkodzisz moduł.

Integracja z Arduino

2 NRF24L01 z Arduino (obwód)

Kiedy już wiesz, czym jest NRF24L01 i jak można go podłączyć i zasilać, oprócz liczby projektów, które możesz wykonać z kilkoma tymi tanimi urządzeniami, następną rzeczą jest pokazanie przykład programowania więc możesz zacząć eksperymentować ze swoim Arduino IDE. Pamiętaj, że format danych, które możesz przesłać, można zmodyfikować w kodzie źródłowym.

Podobne artykuł:
L298N: moduł do sterowania silnikami dla Arduino

Możesz wybrać wysyłanie i odbieranie łańcucha, liczby całkowitej, danych zmiennoprzecinkowych itp. polecam cię nasz przewodnik po programowaniu Arduino jeśli zaczynasz. Dzięki niemu możesz stworzyć swoje pierwsze projekty. I jako konkretny przykład dla NRF24L01, zostawiam cię kody potrzebne dla łańcucha.

Kod, który musisz wpisać w Arduino IDE i zaprogramować płytkę Arduino podłączoną do NRF24L01, którą zamierzasz przypisać jako nadajnik:

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

Tutaj kod, który należy wpisać w Arduino IDE i zanotować na płytce, że podłączyliśmy do dedykowanego NRF24L01 jako receptor:

#zawiera <nRF24L01.h>
#zawiera <RF24.h>
#include &lt;RF24_config.h&gt;
#zawiera <SPI.h>

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

// Pojedynczy adres potoku radiowego dla 2 węzłów do komunikacji.
const uint64_t potok = 0xE8E8F0F0E1LL;

dane char [16];

void setup (void)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, potok);
radio.startListening ();
}

void loop (void)
{
if (radio.available ())
{
int done = radio.read (data, sizeof data);
Serial.println (dane);
}
}

Z tym będziesz miał wszystko, czego potrzebujesz i możesz spróbować wysłać słowa lub ciągi tekstowe jednego i zobaczyć, jak drugi je otrzyma. Użyj dwóch komputerów podłączonych przez USB do płyty Arduino, aby użyć konsoli jako środka do przeglądania danych. Oddziel je na rozsądną odległość w zależności od posiadanego modułu lub konfiguracji, którą mu nadałeś, a zaczniesz widzieć na ekranie drugiego komputera znaki, które wpisałeś w pierwszym kodzie ...


Treść artykułu jest zgodna z naszymi zasadami etyka redakcyjna. Aby zgłosić błąd, kliknij tutaj.

Komentarz, zostaw swój

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Stefan powiedział

    Cześć Izaak
    Chcę ukończyć projekt z arduino, rasberry lub czymś innym.
    Czy możesz podać kontakt e-mail, aby wyjaśnić?
    Mina - a01b02@abv.bg
    dzięki