CC1101: RF siųstuvas-imtuvas, skirtas naudoti su Arduino

cc1101

Žinoma, kai kuriuose projektuose jums reikia dirbti su radijo dažniu su „Arduino“ arba su bet kuria kita kūrimo plokšte ar „pasidaryk pats“ grandine. Na, jei tai jūsų atvejis, turėtumėte žinoti, kas CC1101 radijo dažnio (RF) siųstuvas-imtuvas. Ir tai mes pabandysime jums paaiškinti šiame straipsnyje.

Ir su šiuo kitu elektroninis komponentas, kuris prisijungia prie mūsų sąrašo, galite dirbti su skirtingais signalo dažniais...

Kas yra RF?

elektromagnetinis spektras

su radijo dažnis (RF) Turime omenyje elektromagnetinio spektro dalį, kuri naudojama informacijai perduoti oru. RF bangos yra elektromagnetinės spinduliuotės rūšis ir susidaro, kai elektros energija perduodama laidininku, pavyzdžiui, kabeliu. Terminas RF taikomas mažiausiai energingai elektromagnetinio spektro daliai, kurią parodžiau ankstesniame paveikslėlyje ir kuri yra nuo 3 hercų (Hz) iki 300 gigahercų (GHz).

Šviesos greitis = bangos ilgis · dažnis

Šviesos greitis (apie 3.000.000 2.4 5 m/s) niekada nesikeičia, todėl didėjant RF signalo bangos ilgiui, dažnis proporcingai mažėja ir atvirkščiai. Santykinai aukšto dažnio RF signalas turi trumpą bangos ilgį, o žemesnio dažnio RF signalas – ilgesnį. Dėl tos pačios priežasties žemesnio dažnio signalai prasiskverbia geriau arba gali apimti didesnę aprėptį. Pavyzdžiui, jei turite XNUMX GHz WiFi, jis gali pasiekti toliau ir geriau įveikti kliūtis, palyginti su XNUMX GHz WiFi, nors pastarasis leidžia pasiekti didesnį perdavimo greitį...

Hercas yra bangų dažnio matavimo vienetas ir atitinka vieną ciklą per sekundę. Kuo didesnis bangos dažnis, tuo trumpesnis jos bangos ilgis. Štai kodėl gama spinduliuotė yra labai skvarbi, nes bangos ilgis yra labai mažas, o jos dažnis yra labai didelis, todėl ji yra labai energinga.

Elektromagnetinės bangos iš šios spektro srities gali būti perduodamos naudojant kintamąją srovę, gaunamą iš generatoriaus į anteną. The radijo dažnių bangosBūdamos elektromagnetinės bangos, sklinda šviesos greičiu. Paprasčiausiai kintantis elektrinis signalas antenoje gali sukelti elektromagnetinius virpesius (ty RF bangas). Tai gali būti netyčiniai (galintys trukdyti kitiems įrenginiams) arba tyčiniai: kruopščiai moduliuojami signalai, kuriuos kitos antenos gali priimti ir interpretuoti kaip naudingą informaciją.

Šiame RF diapazone galime perduoti duomenis dideliu greičiu, pavyzdžiui, kaip tai daroma Wi-Fi ryšiai ir mobilieji telefonai, taip pat tradicinis AM ir FM radijas.

Kas yra siųstuvas-imtuvas?

RF keitiklis

Siųstuvas-imtuvas yra įrenginys, kuris sujungia siųstuvo ir imtuvo galimybes bendrose grandinėse. Tai reiškia, kad jis gali siųsti ir priimti signalus be siųstuvo ir imtuvo. Kažkas gana praktiško daugeliui „pasidaryk pats“ projektų.

Siųstuvai-imtuvai gali būti du bendrieji tipai: pilnas dvipusis ir pusiau dvipusis. Pilno dvipusio siųstuvo-imtuvo įrenginys gali siųsti ir priimti tuo pačiu metu. Dažnas dvipusio siųstuvo-imtuvo pavyzdys yra mobilusis telefonas. Kita vertus, pusiau dvipusis siųstuvas-imtuvas nutildo vieną šalį, o kita perduoda.

Siųstuvai-imtuvai yra bevielio ryšio kertinis akmuo ir yra naudojami įvairiose programose – nuo ​​mobiliųjų telefonų iki ryšių palydovų, per daugelį kitų tinklų ir informacijos perdavimo būdų, pavyzdžiui, radijo, televizijos ir kt.

Siųstuvo-imtuvo programos

Radijo dažnio (RF) siųstuvas-imtuvas yra a daugiafunkcinis įrenginys kurios gali būti naudojamos labai įvairiai. Pavyzdžiui, kaip sakiau anksčiau, jo buvimas yra būtinas įvairiose programose, kurioms reikalingas belaidis ryšys. Mobiliųjų telekomunikacijų srityje siųstuvai-imtuvai naudojami mobiliuosiuose telefonuose signalams perduoti ir priimti. Be to, jie yra būtini tokiose technologijose kaip „WiFi“ ir „Bluetooth“, diegiamos tokiuose įrenginiuose kaip maršrutizatoriai, kompiuteriai ir daiktų interneto (IoT) įrenginiai, kurių veikimas priklauso nuo belaidžio ryšio.

Profesinėje srityje RF siųstuvai-imtuvai yra būtini apsaugos sistemose. dvipusis radijas, pvz., dvipusiai radijo imtuvai, naudojami profesionaliose programose, saugos ir pagalbos tarnybose. Šie įrenginiai taip pat pritaikomi aptikimo sistemose, pvz., radaruose, naudojamuose objektų aptikimui, navigacijai ir oro eismo kontrolei, taip pat sonarų sistemose, skirtose povandeninėms reikmėms.

La transliacija, Tiek radijui, tiek televizijai tai priklauso nuo RF siųstuvų-imtuvų, skirtų signalams perduoti įvairiomis laikmenomis, nesvarbu, ar tai būtų antžeminė, ar palydovinė. Be to, kosmoso srityje siųstuvai-imtuvai yra labai svarbūs ryšiui tarp palydovų ir antžeminių stočių palydovinio ryšio sistemose.

En nuotolinio valdymo ir telemetrijos programos, RF siųstuvai-imtuvai naudojami duomenims perduoti iš elektroninių prietaisų, dronų ar nepilotuojamų orlaivių (UAV). Jie taip pat būtini navigacijos sistemose, pvz., GPS imtuvuose, kur prisideda prie vietos nustatymo ir navigacijos. Apibendrinant galima pasakyti, kad RF siųstuvų-imtuvų universalumas daro juos esminiais įvairių šiuolaikinių technologijų, kurios priklauso nuo belaidžio ryšio ir duomenų perdavimo, komponentais.

Akivaizdu, kad kai kurios iš šių programų nėra pasiekiamos CC1101, nes ji turi savo apribojimų ir veikia tam tikruose dažnių diapazonuose. Tačiau turėtumėte žinoti, kad rinkoje yra daugiau tokių įrenginių kaip šis siųstuvas-imtuvas, galintis dirbti su kitais dažniais, atstumais ir pan.

Kas yra CC1101?

cc1101

El CC1101 yra radijo dažnio (RF) siųstuvas-imtuvas, sukurtas veikti žemesniais nei 1 GHz dažniais. Šį įrenginį galima naudoti kartu su procesoriumi, pvz., Arduino, duomenims siųsti arba priimti radijo dažniu. CC1101 gali veikti bet kokiu dažniu šiose juostose:

  • Nuo 300 iki 348 MHz
  • Nuo 387 iki 464 MHz
  • Nuo 779 iki 928 MHz

Dėl šių savybių CC1101 yra galimybė Universalus įvairiems projektams, kuriems reikalingas belaidis ryšys, įskaitant Arduino ir ESP8266/ESP321 projektus ir kitus elektronikos projektus nuotolinio ryšio srityje.

Be to, CC1101 Leidžia reguliuoti bitų spartą Skirtingam naudojimui, leidžiant didesnį perdavimo greitį, nuo 0.6 Kbps iki 600 Kbps, taip pat palaiko 2-FSK, GFSK ir MSK3 moduliacijas.

Jei susidomėjote, galite jį rasti specializuotose elektronikos parduotuvėse arba internetinėse prekybos platformose, tokiose kaip Amazon, Aliexpress ir eBay. Štai jūs turite vieną pirkti rekomendacija:

Išėjimo galia taip pat programuojama visiems dažniams, palaikontiems iki +10 dBm. Jis diapazonas yra iki 100-150 metrų, priklausomai nuo dažnio. O jo veikimui reikia nuo 1.8 iki 3.6 V įtampos. Duomenų perdavimas vyksta per SPI magistralę, todėl ją lengva naudoti kartu su MCU arba tokiomis plokštėmis kaip Arduino...

CC1101 naudojimas su Arduino

Arduino IDE, duomenų tipai, programavimas

Dabar, kai suprasite, kas yra CC1101, jei norite jį naudoti su „Arduino“, tai padaryti lengva. Norėdami tai padaryti, pirmas dalykas yra tinkamai prijungti RF įrenginį arba modulį į savo kūrimo plokštę. Būkite atsargūs, nes CC1101 netoleruoja 5v įtampos ir galite jį sugadinti, todėl jis neprisijungs prie Arduino 5v lizdo, kaip padarėme su daugeliu kitų įrenginių. Ryšys, kad jis tinkamai veiktų, yra toks:

  • VCC: jis bus prijungtas prie Arduino 3v3, kad būtų šis lizdas, jei jo nėra ir turite tik 5v, tada turėsite jį prijungti prie akumuliatoriaus arba išorinio šaltinio, kuris gali tiekti tą įtampą arba CC1101 būti sugadintas.
  • SI: Jis bus prijungtas prie Arduino SCK, kuris gali keisti kaištį, priklausomai nuo modelio, bet paprastai yra D13.
  • SO: Šiuo atveju jis bus prijungtas prie GO2, kuris paprastai yra Arduino D12 kaištis.
  • CSN: turite perkelti jį į GO0 kaištį, kuris yra Arduino D9.
  • GND: ir galiausiai GND bus prijungtas prie Arduino arba jūsų maitinimo šaltinio GND.

Kai tai bus padaryta, laikas parašyti kodą, kad jį išbandytumėte Arduino IDE. Norėdami tai padaryti, čia parodysiu labai paprastą pavyzdį, kurį galite keisti pagal savo skonį. Tokiu atveju CC1101 veiks kaip imtuvas RF signalas:

Atminkite, kad turėsite įdiegti biblioteką savo Arduino IDE, kad galėtumėte dirbti. Ši biblioteka yra ELECHOUSE, skirta CC1101. galite atsisiųsti iš čia.
#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 veikia kaip siųstuvas RF signalo kodas yra panašus į ankstesnį.


Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.