Du skal helt sikkert oprette et DIY-projekt ved hjælp af Arduino eller et hvilket som helst andet element, og du er nødt til at gøre brug af trådløs kommunikation. Og det sker ved at have en eller anden type modul eller enhed, der giver dig mulighed for at sende ved hjælp af IR, RF, Bluetooth, WiFi osv. Det vil sige, du skal være klar over behovene for at vide, hvilken type signal der ville være den mest passende i dit tilfælde.
I dette tilfælde har vi en vejledning om NRF24L01 for dig. Det er en trådløs kommunikationschip, der giver dig det, du har brug for for at sende og modtage signaler. Den type signaler, den håndterer, er RF- eller radiofrekvens, det vil sige bølger med stor bølgelængde og derfor med lav energi, som i det elektromagnetiske spektrum er mellem 3 Hz og 300 Ghz i frekvens.
Hvad er NRF24L01?
El NRF24L01 er en chip fremstillet af Nordic Semiconductor. Hvis det Ingen produkter fundet., kommer chippen monteret på et lille printkort med nogle hjælpeelementer, som du har brug for, og derfor komponerer du et modul. Du kan bruge det på flere måder, herunder at forbinde det til Adruino, som jeg vil vise dig senere.
NRF24L01, som det kan udledes af navnet, er en trådløs kommunikationsenhed, der bruger RF- eller radiofrekvens med evnen til at operere ved 2,4 GHz - 2,5 GHz. Det er det gratis bånd til fri brug. Du ved allerede, at andre bands er reserveret, og du skal betale, hvis du vil bruge dem til at overføre information. Derudover integrerer den en sender + en modtager.
Specifikt er det frekvensbånd, du kan bruge, fra 2.400 Mhz til 2.525 Mhz med mulighed for at vælge mellem 125 kanaler med mellemrum på 1MHz. Det anbefales dog ikke at bruge 2.4 GHz-frekvenser, hvis du bruger WiFi-netværk, droner, der arbejder med denne frekvens osv., Eller hvis der er interferens. Derfor er det at foretrække at bruge fra 2.501 MHz og frem.
Med hensyn til dets egenskaber, fungerer fra 1.9 til 3.6v, så det vil være let for dig at tænde det med Arduino-kortet selv med 3.3-forbindelsen ved hjælp af batterier og endda med en strømforsyning, der har den spænding. Derudover kan du konfigurere transmissionshastigheden mellem 250 Kbps, 1 Mbps og op til 2 Mbps.
Chippen i emissioner og modtagelser kan fungere samtidigt med op til 6 forbindelser af forskellige enheder. Med det kan du sende eller modtage fra forskellige punkter uden problemer. Og hvis du er bekymret for kommunikationens robusthed eller pålidelighed, har selve chippen logiske kredsløb til at rette datafejl og videresende oplysninger, hvis det er nødvendigt. Derfor frigør det processoren fra denne opgave.
For at kontrollere det kan du bruge SPI-bussen, så dens kontrol med Arduino er meget enkel. Derudover understøtter datastifterne til NRF24L01 op til 5v uden problemer. Strømforbruget i Stand By er ret lavt, så det vil ikke være et element at bekymre sig om, og når det er i drift, er det ikke noget af det dyreste, da det kun har brug for 15 mA for afsendelse og modtagelse af data.
På markedet finder du flere forskellige moduler, der monterer NRF24L01-chippen, de ændrer sig kun i de hjælpeelementer, de har, eller i nogle detaljer. For eksempel i typen af antenne. Nogle har en antenne trykt på printkortet i en zigzagform med en rækkevidde på ca. 20-30 meter. Andre indrømmer en noget kraftigere ekstern antenne med en forstærker til at gå fra 700 meter til 1 km.
Men det faktiske omfang er begrænset af nogle faktorer, såsom vejhindringer, støj eller interferens fra andre tilstedeværende elementer eller signaler, transmissionshastighed, forsyningsspænding (højere spænding, større afstand) osv. For eksempel, hvis du vil sende med den maksimale hastighed på 2 Mbps, der har en stor straf i afstanden, som kun er 2 eller 3 meter maksimum. Ved lavere hastigheder kan du muligvis klatre den afstand.
Hvad skal du vide, før du køber det?
El NRF24L01 er en meget billig chip der kan bruges i en lang række projekter. For eksempel, hvis du ikke har en ekstern antenne, kan du købe den for op til € 0.65, den eksterne antennemodel er lidt dyrere end denne, men den er stadig meget billig og overstiger normalt ikke € 1.7.
Hvis du ikke har et andet emissions- eller modtagelseselement, ved du allerede, at du skal købe to NRF24L01-moduler, den ene til at bruge på den ene side og den anden på den anden side af det sted, hvor du vil sende. De vil begge opføre sig som afsender eller modtager som du vil.
Pinout og montering af NRF24L01
Med hensyn til samlingen er det ret simpelt. Det NRF24L01 har 8 ben, derfor er pinout meget let for at forstå, hvordan du kan se på dette billede, at jeg efterlader dig. Til højre kan du se pin-diagrammet på et tavle Arduino UNO og hvordan hver af modulets stifter blev forbundet med det.
Som du kan udlede, pladen NRF24L01 får strøm ved hjælp af GND- og 3.3v-stifter fra Arduino. Husk ikke at gøre det med 5v-signalet, ellers beskadiger du modulet.
Integration med Arduino
Når du ved, hvad NRF24L01 er, og hvordan den kan tilsluttes og drives, ud over antallet af projekter, du kan gøre med et par af disse billige enheder, er den næste ting at vise et programmeringseksempel så du kan begynde at eksperimentere med din Arduino IDE. Husk, at det dataformat, du kan sende, kan ændres i kildekoden.
Du kan vælge at sende og modtage en streng, et heltal, flydende data osv. Jeg anbefaler dig vores guide til Arduino programmering hvis du starter. Med det kan du oprette dine første projekter. Og som et konkret eksempel på NRF24L01, her forlader jeg dig de koder, der er nødvendige for en streng.
Kode, som du skal skrive i Arduino IDE og programmere Arduino-kortet, der er tilsluttet NRF24L01, som du skal tildele som sender:
#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); }
Her koden, som du skal indtaste i Arduino IDE og registrere på tavlen, som du har tilsluttet den dedikerede NRF24L01 som receiver:
# inkluderer <nRF24L01.h>
# inkluderer <RF24.h>
#include <RF24_config.h>
# inkluderer <SPI.h>
const int pinCE = 9;
const int pinCSN = 10;
RF24 radio (pinCE, pinCSN);
// Enkel radiorøradresse, som de 2 noder kan kommunikere med.
const uint64_t rør = 0xE8E8F0F0E1LL;
char data [16];
ugyldig opsætning (ugyldig)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, pipe);
radio.startListening ();
}
ugyldig løkke (ugyldig)
{
hvis (radio.tilgængelig ())
{
int done = radio.read (data, størrelse af data);
Serial.println (data);
}
}
Med det du har alt hvad du har brug for, og du kan prøve at sende ord eller tekststrenge af den ene og se, hvordan den anden modtager dem. Brug to computere, der er tilsluttet via USB til Arduino-kortet, til at bruge konsollen som et middel til at se dataene. Adskil dem med en forsigtig afstand i henhold til det modul, du har, eller den konfiguration, du har givet, og du vil begynde at se på skærmen på den anden computer de tegn, du har indtastet i den første kode ...
Hej Isak
Jeg ønsker at gennemføre et projekt med arduino, hindbær eller noget andet.
Kan du give en e-mail-kontakt for at forklare?
En mine - a01b02@abv.bg
Tak