I nogle projekter skal du helt sikkert arbejde med radiofrekvens med din Arduino eller med et hvilket som helst andet udviklingskort eller gør-det-selv-kredsløb. Nå, hvis det er dit tilfælde, bør du vide, hvad der er CC1101 radiofrekvens (RF) transceiver. Og det er det, vi vil forsøge at forklare dig i denne artikel.
Og med denne anden elektronisk komponent, der slutter sig til vores liste, du kan arbejde med forskellige signalfrekvenser...
Hvad er RF?
med radiofrekvens (RF) Vi henviser til en del af det elektromagnetiske spektrum, der bruges til at transmittere information gennem luften. RF-bølger er en type elektromagnetisk stråling og produceres, når elektrisk energi transmitteres gennem en leder, såsom et kabel. Udtrykket RF gælder for den mindst energiske del af det elektromagnetiske spektrum, som jeg viser dig på det forrige billede, og som er placeret mellem 3 hertz (Hz) og 300 gigahertz (GHz).
Lysets hastighed = Bølgelængde · frekvens
Lysets hastighed (ca. 3.000.000 m/s) ændres aldrig, så når bølgelængden af RF-signalet stiger, falder frekvensen proportionalt og omvendt. Et relativt højfrekvent RF-signal har en kort bølgelængde, og et lavfrekvent RF-signal har en længere bølgelængde. Af samme grund er lavere frekvenssignaler mere gennemtrængende eller kan dække større dækning. For eksempel, hvis du har 2.4 Ghz WiFi, kan den nå længere og krydse barrierer bedre sammenlignet med 5 Ghz WiFi, selvom sidstnævnte tillader højere transmissionshastigheder...
Elektromagnetiske bølger fra dette område af spektret kan transmitteres ved at påføre vekselstrøm, der stammer fra en generator, til en antenne. Det radiofrekvensbølger, som er elektromagnetiske bølger, rejser med lysets hastighed. På det mest basale kan et varierende elektrisk signal i en antenne producere elektromagnetiske svingninger (dvs. RF-bølger). Disse kan være utilsigtede (potentielt forårsage interferens med andre enheder) eller bevidste: omhyggeligt modulerede signaler, som andre antenner kan modtage og fortolkes som nyttig information.
Inden for dette RF-område kan vi transmittere data med høj hastighed, for eksempel som det er gjort i Wi-Fi-kommunikation og mobiltelefoner samt traditionel AM- og FM-radio.
Hvad er en transceiver?
En transceiver er en enhed, der kombinerer en senders og en modtagers muligheder på fælles kredsløb. Det betyder, at den kan sende og modtage signaler uden at skulle have en sender på den ene side og en modtager på den anden. Noget ganske praktisk til mange DIY-projekter.
Transceiverne kan være to generelle typer: fuld duplex og halv duplex. I en fuld duplex transceiver kan enheden sende og modtage på samme tid. Et almindeligt eksempel på en fuld duplex transceiver er en mobiltelefon. På den anden side dæmper en halv-dupleks transceiver den ene part, mens den anden sender.
Transceiverne er hjørnestenen i trådløs kommunikation og bruges i en række forskellige applikationer, fra mobiltelefoner til kommunikationssatellitter, gennem mange andre netværk og måder at overføre information på, såsom radio, tv osv.
Anvendelser af en transceiver
En radiofrekvens (RF) transceiver er en multifunktionel enhed som kan have et stort antal anvendelser. For eksempel, som jeg sagde tidligere, er dens tilstedeværelse essentiel i forskellige applikationer, der kræver trådløs kommunikation. Inden for mobiltelekommunikation bruges transceivere i mobiltelefoner til transmission og modtagelse af signaler. Derudover er de essentielle i teknologier som WiFi og Bluetooth, implementeret i enheder som routere, computere og Internet of Things (IoT) enheder, som er afhængige af trådløs kommunikation til deres drift.
På det professionelle område er RF-transceivere essentielle i sikkerhedssystemer. tovejs radio, såsom to-vejs radioer, der bruges i professionelle applikationer, sikkerhed og nødtjenester. Disse enheder finder også anvendelse i detektionssystemer, såsom radarer, der bruges til objektdetektering, navigation og lufttrafikkontrol, såvel som i ekkolodssystemer til undervandsapplikationer.
La udsendelse, For både radio og tv afhænger det af RF-transceivere til transmission af signaler gennem forskellige medier, hvad enten det er jordbaseret eller satellit. Desuden er transceivere i rumområdet afgørende for kommunikation mellem satellitter og jordstationer i satellitkommunikationssystemer.
En fjernbetjening og telemetri applikationer, RF-transceivere bruges til datatransmission fra elektroniske enheder, droner eller ubemandede luftfartøjer (UAV). De er også væsentlige i navigationssystemer, såsom GPS-modtagere, hvor de bidrager til lokaliseringsbestemmelse og navigation. Sammenfattende gør RF-transceiveres alsidighed dem til væsentlige komponenter i en række moderne teknologier, der er afhængige af trådløs kommunikation og datatransmission.
Det er klart, at der er nogle af disse applikationer, som ikke er inden for rækkevidde af CC1101, da det har sine begrænsninger og fungerer i visse frekvensområder. Du skal dog vide, at der er flere enheder på markedet som denne transceiver til at arbejde med andre frekvenser, afstande osv.
Hvad er CC1101?
El CC1101 er en radiofrekvens (RF) transceiver designet til at fungere ved frekvenser under 1 GHz. Denne enhed kan bruges sammen med en processor såsom Arduino til at sende eller modtage data via radiofrekvens. CC1101 kan arbejde ved enhver frekvens inden for følgende bånd:
- 300 og 348 MHz
- 387 og 464 MHz
- 779 og 928 MHz
Disse funktioner gør CC1101 til en mulighed Alsidig til en række projekter, der kræver trådløs kommunikation, herunder Arduino- og ESP8266/ESP321-projekter og andre elektronikprojekter inden for fjernkommunikation.
Derudover CC1101 Giver dig mulighed for at justere bithastigheden til forskellige anvendelser, hvilket tillader højere transmissionshastigheder, fra 0.6 Kbps til 600 Kbps. Og det understøtter også 2-FSK, GFSK og MSK3 modulationer.
Hvis du er interesseret, kan du finde den i specialiserede elektronikbutikker eller også på online salgsplatforme som Amazon, Aliexpress og eBay. Her har du en køb anbefaling:
Udgangseffekten er også programmerbar, for alle frekvenser, der understøtter op til +10 dBm. Han rækkevidde er op til 100-150 meter, afhængigt af frekvensen. Og til dens drift har den brug for en spænding på 1.8 til 3.6V. Datakommunikation udføres gennem SPI-bussen, så det er nemt at bruge det sammen med en MCU eller boards som Arduino...
Brug af CC1101 med Arduino
Nu, når du først forstår, hvad CC1101 er, hvis du vil bruge det med Arduino, er det nemt at gøre. For at gøre dette er den første ting tilsluttes korrekt RF-enheden eller modulet til dit udviklingskort. Vær forsigtig, da CC1101 ikke tolererer 5V spændinger og du kan beskadige den, så den vil ikke forbindes til Arduinos 5V stik, som vi har gjort med mange andre enheder. Forbindelsen for at den kan fungere korrekt er som følger:
- Vcc: den vil blive forbundet til Arduino 3v3 for at have denne stikkontakt, hvis den ikke har den, og du kun har 5v, så bliver du nødt til at tilslutte den til et batteri eller ekstern kilde, der kan levere den spænding, ellers vil CC1101 blive beskadiget.
- SI: Den bliver forbundet til Arduino SCK, som kan skifte pin afhængig af model, men som generelt er D13.
- SO: I dette tilfælde vil den være forbundet til GO2, som normalt er D12-benet på Arduino.
- CSN: du skal tage den til GO0-stiften, som er D9 på Arduino.
- GND: og endelig vil GND blive forbundet til GND på Arduino eller din strømforsyning.
Når dette er gjort, er det tid til at skrive koden for at teste den i Arduino IDE. For at gøre dette viser jeg dig her et meget grundlæggende eksempel, men et som du kan ændre efter din smag. I dette tilfælde vil CC1101 fungere som receiver RF-signal:
#include <ELECHOUSE_CC1101_SRC_DRV.h> void setup(){ Serial.begin(9600); if (ELECHOUSE_cc1101.getCC1101()){ // Comprobar la conexión SPI del CC1101. Serial.println("Connection OK"); }else{ Serial.println("Connection Error"); } ELECHOUSE_cc1101.Init(); // Inicializa el CC1101 ELECHOUSE_cc1101.setCCMode(1); // Configuración del modo de transferencia interna. ELECHOUSE_cc1101.setModulation(0); // Modulación: 0 = 2-FSK, 1 = GFSK, 2 = ASK/OOK, 3 = 4-FSK, 4 = MSK. ELECHOUSE_cc1101.setMHZ(300,15); // Pon la frecuencia que quieras usar para la transmisión (por defecto es 433,92 Mhz) ELECHOUSE_cc1101.setSyncMode(2); // Modo de sync: 0 = No preamble/sync. 1 = 16 sync word bits detected. 2 = 16/16 sync word bits detected. 3 = 30/32 sync word bits detected. 4 = No preamble/sync, carrier-sense above threshold. 5 = 15/16 + carrier-sense above threshold. 6 = 16/16 + carrier-sense above threshold. 7 = 30/32 + carrier-sense above threshold. ELECHOUSE_cc1101.setCrc(1); // 1 = CRC calculado en TX y comprobación CRC en RX habilitada. 0 = CRC deshabilitado en TX y RX. Serial.println("Rx Mode"); } byte buffer[61] = {0}; void loop(){ //Comprueba si se ha recibido algo en un tiempo marcado por (time in millis) if (ELECHOUSE_cc1101.CheckRxFifo(100)){ if (ELECHOUSE_cc1101.CheckCRC()){ //Prueba CRC. Si "setCrc(false)" CRC devuelve un OK siempre. Serial.print("Rssi: "); Serial.println(ELECHOUSE_cc1101.getRssi()); Serial.print("LQI: "); Serial.println(ELECHOUSE_cc1101.getLqi()); int len = ELECHOUSE_cc1101.ReceiveData(buffer); buffer[len] = '\0'; Serial.println((char *) buffer); for (int i = 0; i < len; i++){ Serial.print(buffer[i]); Serial.print(","); } Serial.println(); } } }
CC1101 fungerer som transmitter RF-signal har en kode, der ligner den forrige.