CC1101: Transmetues RF për përdorim me Arduino

cc1101

Me siguri në disa projekte ju duhet të punoni me frekuencë radio me Arduino-n tuaj, ose me ndonjë bord tjetër zhvillimi ose qark DIY. Epo, nëse ky është rasti juaj, duhet të dini se çfarë Transmetuesi i frekuencës së radios (RF) CC1101. Dhe kjo është ajo që ne do të përpiqemi t'ju shpjegojmë në këtë artikull.

Dhe me këtë tjetër komponent elektronik që i bashkohet listës sonë, mund të punoni me frekuenca të ndryshme sinjali…

Çfarë është RF?

spektri elektromagnetik

me radio frekuenca (RF) Po i referohemi një pjese të spektrit elektromagnetik që përdoret për transmetimin e informacionit përmes ajrit. Valët RF janë një lloj rrezatimi elektromagnetik dhe prodhohen sa herë që energjia elektrike transmetohet përmes një përcjellësi, siç është një kabllo. Termi RF zbatohet për pjesën më pak energjike të spektrit elektromagnetik që ju tregoj në imazhin e mëparshëm dhe që ndodhet midis 3 herc (Hz) dhe 300 gigahertz (GHz).

Shpejtësia e dritës = Gjatësia e valës · frekuenca

Shpejtësia e dritës (afërsisht 3.000.000 m/s) nuk ndryshon kurrë, kështu që me rritjen e gjatësisë së valës së sinjalit RF, frekuenca zvogëlohet proporcionalisht dhe anasjelltas. Një sinjal RF me frekuencë relativisht të lartë ka një gjatësi vale të shkurtër dhe një sinjal RF me frekuencë më të ulët ka një gjatësi vale më të gjatë. Për të njëjtën arsye, sinjalet me frekuencë më të ulët janë më depërtuese ose mund të mbulojnë mbulim më të madh. Për shembull, nëse keni WiFi 2.4 Ghz, ai mund të arrijë më tej dhe të kalojë më mirë barrierat në krahasim me WiFi 5 Ghz, megjithëse kjo e fundit lejon shpejtësi më të larta transmetimi...

Herci është njësia matëse për frekuencën e valëve dhe korrespondon me një cikël për sekondë. Sa më e lartë të jetë frekuenca e valës, aq më e shkurtër është gjatësia e valës së saj. Kjo është arsyeja pse rrezatimi gama është shumë depërtues, pasi gjatësia e valës është shumë e vogël, dhe frekuenca e tij është shumë e lartë, kështu që është shumë energjik.

Valët elektromagnetike nga ky rajon i spektrit mund të transmetohen duke aplikuar rrymë alternative që vjen nga një gjenerator në një antenë. Të valët e radiofrekuencës, duke qenë valë elektromagnetike, udhëtojnë me shpejtësinë e dritës. Në bazë të tij, një sinjal elektrik i ndryshueshëm në një antenë mund të prodhojë lëkundje elektromagnetike (d.m.th., valë RF). Këto mund të jenë të paqëllimshme (duke shkaktuar potencialisht ndërhyrje me pajisje të tjera) ose të qëllimshme: sinjale të moduluara me kujdes që antenat e tjera mund të marrin dhe të interpretohen si informacione të dobishme.

Brenda këtij intervali RF, ne mund të transmetojmë të dhëna me shpejtësi të lartë, për shembull, siç bëhet në Komunikimet Wi-Fi dhe telefonat celularë, si dhe radio tradicionale AM ​​dhe FM.

Çfarë është një marrës?

Transduktor RF

Një marrës është një pajisje që kombinon aftësitë e një transmetuesi dhe një marrësi në qarqet e përbashkëta. Kjo do të thotë se mund të dërgojë dhe marrë sinjale, pa pasur nevojë të ketë një transmetues nga njëra anë dhe një marrës nga ana tjetër. Diçka mjaft praktike për shumë projekte DIY.

Transmetuesit mund të jenë dy lloje të përgjithshme: full duplex dhe gjysmë dupleks. Në një marrës të plotë dupleks, pajisja mund të transmetojë dhe të marrë në të njëjtën kohë. Një shembull i zakonshëm i një transmetuesi të plotë dupleks është një telefon celular. Nga ana tjetër, një marrës gjysmë-dupleks mbyll njërën palë ndërsa tjetra transmeton.

Transmetuesit janë gur themeli i komunikimit pa tel dhe përdoren në një sërë aplikacionesh, nga telefonat celularë tek satelitët e komunikimit, përmes shumë rrjeteve dhe mënyrave të tjera të transmetimit të informacionit, si radio, TV, etj.

Aplikimet e një transmetuesi

Një marrës me frekuencë radio (RF) është a pajisje shumëfunksionale të cilat mund të kenë një numër të madh përdorimesh. Për shembull, siç thashë më parë, prania e tij është thelbësore në aplikacione të ndryshme që kërkojnë komunikim pa tel. Në fushën e telekomunikacionit celular, transmetuesit përdoren në telefonat celularë për transmetimin dhe marrjen e sinjaleve. Përveç kësaj, ato janë thelbësore në teknologji të tilla si WiFi dhe Bluetooth, të vendosura në pajisje të tilla si ruterat, kompjuterët dhe pajisjet e Internetit të Gjërave (IoT), të cilat varen nga komunikimi me valë për funksionimin e tyre.

Në fushën profesionale, transmetuesit RF janë thelbësorë në sistemet e sigurisë. radio me dy drejtime, të tilla si radiot me dy drejtime të përdorura në aplikacione profesionale, shërbime sigurie dhe emergjence. Këto pajisje gjejnë aplikim edhe në sistemet e zbulimit, si radarët që përdoren për zbulimin e objekteve, navigimin dhe kontrollin e trafikut ajror, si dhe në sistemet sonare për aplikime nënujore.

La transmetimi, Si për radion ashtu edhe për televizionin, kjo varet nga transmetuesit RF për transmetimin e sinjaleve përmes mediave të ndryshme, qofshin ato tokësore apo satelitore. Për më tepër, në fushën e hapësirës, ​​transmetuesit janë thelbësorë për komunikimin midis satelitëve dhe stacioneve tokësore në sistemet e komunikimit satelitor.

En aplikime për telekomandë dhe telemetri, Transmetuesit RF përdoren për transmetimin e të dhënave nga pajisjet elektronike, dronët ose mjetet ajrore pa pilot (UAV). Ato janë gjithashtu thelbësore në sistemet e navigimit, të tilla si marrës GPS, ku kontribuojnë në përcaktimin e vendndodhjes dhe navigimin. Në përmbledhje, shkathtësia e transmetuesve RF i bën ata komponentë thelbësorë në një sërë teknologjish moderne që mbështeten në komunikimin me valë dhe transmetimin e të dhënave.

Natyrisht, ka disa nga këto aplikacione që nuk janë brenda mundësive të CC1101, pasi ai ka kufizimet e tij dhe funksionon në intervale të caktuara frekuencash. Sidoqoftë, duhet të dini se ka më shumë pajisje në treg si ky transmetues për të punuar me frekuenca të tjera, distanca, etj.

Çfarë është CC1101?

cc1101

El CC1101 është një marrës me frekuencë radioje (RF) i projektuar për të funksionuar në frekuenca nën 1 GHz. Kjo pajisje mund të përdoret së bashku me një procesor si Arduino për të dërguar ose marrë të dhëna nëpërmjet frekuencës radio. CC1101 mund të funksionojë në çdo frekuencë brenda brezave të mëposhtëm:

  • 300 një 348 MHz
  • 387 një 464 MHz
  • 779 një 928 MHz

Këto veçori e bëjnë CC1101 një opsion I gjithanshëm për një sërë projektesh që kërkojnë komunikim pa tel, duke përfshirë projektet Arduino dhe ESP8266/ESP321, dhe projekte të tjera elektronike në fushën e komunikimeve në distancë.

Për më tepër, CC1101 Ju lejon të rregulloni shpejtësinë e biteve për përdorime të ndryshme, duke lejuar shpejtësi më të larta transmetimi, nga 0.6 Kbps në 600 Kbps dhe gjithashtu mbështet modulimet 2-FSK, GFSK dhe MSK3.

Nëse jeni të interesuar, mund ta gjeni në dyqane të specializuara elektronike, apo edhe në platformat e shitjeve online si Amazon, Aliexpress dhe eBay. Këtu keni një rekomandim për blerje:

Fuqia dalëse është gjithashtu e programueshme, për të gjitha frekuencat që mbështesin deri në +10 dBm. Ai distanca është deri në 100-150 metra, në varësi të frekuencës. Dhe për funksionimin e tij ka nevojë për një tension prej 1.8 deri në 3.6V. Komunikimi i të dhënave kryhet përmes autobusit SPI, kështu që është e lehtë ta përdorni atë së bashku me një MCU ose borde të tilla si Arduino...

Duke përdorur CC1101 me Arduino

Arduino IDE, llojet e të dhënave, programimi

Tani, sapo të kuptoni se çfarë është CC1101, nëse doni ta përdorni me Arduino, është e lehtë për t'u bërë. Për ta bërë këtë, gjëja e parë është lidheni saktë pajisjen ose modulin RF në bordin tuaj të zhvillimit. Kini kujdes, pasi CC1101 nuk toleron tensione 5v dhe mund ta dëmtoni atë, kështu që nuk do të lidhet me prizën 5v të Arduino siç kemi bërë me shumë pajisje të tjera. Lidhja që ai të funksionojë siç duhet është si më poshtë:

  • KQV-ja: do të lidhet me Arduino 3v3 për të pasur këtë prizë, nëse nuk e ka dhe keni vetëm 5v, atëherë do të duhet ta lidhni me një bateri ose burim të jashtëm që mund të furnizojë atë tension ose CC1101 do të jetë i dëmtuar.
  • SI: Do të lidhet me Arduino SCK, i cili mund të ndryshojë pinin në varësi të modelit, por që në përgjithësi është D13.
  • SO: Në këtë rast do të lidhet me GO2, që zakonisht është pin D12 i Arduino.
  • CSN: duhet ta çoni te kunja GO0, e cila është D9 e Arduino.
  • GND: dhe së fundi, GND do të lidhet me GND të Arduino-s ose me furnizimin tuaj me energji elektrike.

Pasi të jetë bërë kjo, është koha për të shkruar kodin për ta testuar atë në Arduino IDE. Për ta bërë këtë, këtu po ju tregoj një shembull shumë themelor, por që ju mund ta modifikoni sipas dëshirës tuaj. Në këtë rast, CC1101 do të funksionojë si receptor Sinjali RF:

Vini re se do të duhet të instaloni një bibliotekë në Arduino IDE-në tuaj për të qenë në gjendje të funksionojë, ajo bibliotekë është ajo ELECHOUSE për CC1101 që mund të shkarkoni nga këtu.
#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 funksionon si transmetues Sinjali RF ka një kod të ngjashëm me atë të mëparshëm.


Bëhu i pari që komenton

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.