CC1101: RF transceiver pre použitie s Arduino

cc1101

Určite v niektorých projektoch potrebujete pracovať s rádiovou frekvenciou s vaším Arduinom, alebo s akoukoľvek inou vývojovou doskou alebo DIY obvodom. No, ak je to váš prípad, mali by ste vedieť, čo Rádiofrekvenčný (RF) transceiver CC1101. A práve to sa vám pokúsime vysvetliť v tomto článku.

A s týmto ďalším elektronický komponent, ktorý je súčasťou nášho zoznamu, môžete pracovať s rôznymi frekvenciami signálu...

čo je RF?

elektromagnetické spektrum

s rádiová frekvencia (RF) Máme na mysli časť elektromagnetického spektra, ktorá sa používa na prenos informácií vzduchom. RF vlny sú typom elektromagnetického žiarenia a vznikajú vždy, keď sa elektrická energia prenáša cez vodič, ako je kábel. Termín RF sa vzťahuje na najmenej energetickú časť elektromagnetického spektra, ktorú vám ukazujem na predchádzajúcom obrázku a ktorá sa nachádza medzi 3 hertzmi (Hz) a 300 gigahertzmi (GHz).

Rýchlosť svetla = vlnová dĺžka · frekvencia

Rýchlosť svetla (približne 3.000.000 2.4 5 m/s) sa nikdy nemení, takže s narastajúcou vlnovou dĺžkou RF signálu úmerne klesá frekvencia a naopak. Relatívne vysokofrekvenčný RF signál má krátku vlnovú dĺžku a nízkofrekvenčný RF signál má dlhšiu vlnovú dĺžku. Z rovnakého dôvodu sú signály s nižšou frekvenciou prenikavejšie alebo môžu pokryť väčšie pokrytie. Napríklad, ak máte XNUMX Ghz WiFi, môže dosiahnuť ďalej a prekonať bariéry lepšie v porovnaní s XNUMX Ghz WiFi, hoci tá druhá umožňuje vyššie prenosové rýchlosti...

Hertz je jednotka merania frekvencie vĺn a zodpovedá jednému cyklu za sekundu. Čím vyššia je frekvencia vlny, tým kratšia je jej vlnová dĺžka. Preto je gama žiarenie veľmi prenikavé, pretože vlnová dĺžka je veľmi malá a jeho frekvencia je veľmi vysoká, takže je vysoko energetické.

Elektromagnetické vlny z tejto oblasti spektra môžu byť prenášané aplikáciou striedavého prúdu pochádzajúceho z generátora na anténu. The rádiofrekvenčné vlnyako elektromagnetické vlny sa pohybujú rýchlosťou svetla. Vo svojej najzákladnejšej podobe môže meniaci sa elektrický signál v anténe produkovať elektromagnetické oscilácie (t. j. RF vlny). Môžu to byť neúmyselné (potenciálne spôsobujúce rušenie s inými zariadeniami) alebo zámerné: starostlivo modulované signály, ktoré môžu prijímať iné antény a môžu byť interpretované ako užitočné informácie.

V rámci tohto RF rozsahu môžeme prenášať dáta vysokou rýchlosťou, napríklad ako v Wi-Fi komunikácie a mobilné telefóny, ako aj tradičné AM a FM rádio.

Čo je to transceiver?

RF prevodník

Transceiver je zariadenie, ktoré kombinuje schopnosti vysielača a prijímača na zdieľaných okruhoch. To znamená, že dokáže vysielať a prijímať signály bez toho, aby musel mať vysielač na jednej strane a prijímač na druhej strane. Niečo celkom praktické pre mnohé DIY projekty.

Vysielače môžu byť dva všeobecné typy: plný duplex a polovičný duplex. V plne duplexnom transceiveri môže zariadenie vysielať a prijímať súčasne. Bežným príkladom plne duplexného transceivera je mobilný telefón. Na druhej strane poloduplexný transceiver stlmí jednu stranu, zatiaľ čo druhá vysiela.

Transceivery sú základný kameň bezdrôtovej komunikácie a používajú sa v rôznych aplikáciách, od mobilných telefónov po komunikačné satelity, prostredníctvom mnohých ďalších sietí a spôsobov prenosu informácií, ako je rádio, TV atď.

Aplikácie transceivera

Rádiofrekvenčný (RF) transceiver je a multifunkčné zariadenie ktorý môže mať veľké množstvo využití. Napríklad, ako som už povedal, jeho prítomnosť je nevyhnutná v rôznych aplikáciách, ktoré vyžadujú bezdrôtovú komunikáciu. V oblasti mobilných telekomunikácií sa transceivery používajú v mobilných telefónoch na prenos a príjem signálov. Okrem toho sú nevyhnutné v technológiách, ako je WiFi a Bluetooth, nasadených v zariadeniach, ako sú smerovače, počítače a zariadenia internetu vecí (IoT), ktorých fungovanie závisí od bezdrôtovej komunikácie.

V profesionálnej oblasti sú RF transceivery nevyhnutné v bezpečnostných systémoch. obojsmerné rádio, ako sú obojsmerné rádiá používané v profesionálnych aplikáciách, bezpečnostných a pohotovostných službách. Tieto zariadenia nachádzajú uplatnenie aj v detekčných systémoch, ako sú radary používané na detekciu objektov, navigáciu a riadenie leteckej dopravy, ako aj v sonarových systémoch pre podvodné aplikácie.

La vysielanie, Pre rozhlas aj televíziu to závisí od RF transceiverov pre prenos signálov cez rôzne médiá, či už pozemné alebo satelitné. Okrem toho vo vesmírnej oblasti sú transceivery kľúčové pre komunikáciu medzi satelitmi a pozemnými stanicami v satelitných komunikačných systémoch.

En diaľkové ovládanie a telemetrické aplikácie, RF transceivery sa používajú na prenos dát z elektronických zariadení, dronov alebo bezpilotných lietadiel (UAV). Sú tiež nevyhnutné v navigačných systémoch, ako sú prijímače GPS, kde prispievajú k určovaniu polohy a navigácii. Stručne povedané, všestrannosť RF transceiverov z nich robí základné komponenty v rôznych moderných technológiách, ktoré sa spoliehajú na bezdrôtovú komunikáciu a prenos dát.

Je zrejmé, že niektoré z týchto aplikácií nie sú v dosahu CC1101, pretože má svoje obmedzenia a funguje v určitých frekvenčných rozsahoch. Mali by ste však vedieť, že na trhu je viac zariadení, ako je tento transceiver na prácu s inými frekvenciami, vzdialenosťami atď.

Čo je CC1101?

cc1101

El CC1101 je rádiofrekvenčný (RF) transceiver navrhnutý na prevádzku pri frekvenciách pod 1 GHz.Toto zariadenie možno použiť v spojení s procesorom, ako je Arduino, na odosielanie alebo prijímanie dát prostredníctvom rádiovej frekvencie. CC1101 môže pracovať na akejkoľvek frekvencii v nasledujúcich pásmach:

  • 300 až 348 MHz
  • 387 až 464 MHz
  • 779 až 928 MHz

Vďaka týmto vlastnostiam je CC1101 voliteľný Všestranné pre rôzne projekty vyžadujúce bezdrôtovú komunikáciu, vrátane projektov Arduino a ESP8266/ESP321 a ďalších elektronických projektov v oblasti diaľkových komunikácií.

Okrem toho CC1101 Umožňuje upraviť bitovú rýchlosť pre rôzne použitia, umožňujúce vyššie prenosové rýchlosti, od 0.6 Kbps do 600 Kbps.A tiež podporuje modulácie 2-FSK, GFSK a MSK3.

V prípade záujmu ho nájdete v špecializovaných predajniach s elektronikou, alebo aj na online predajných platformách ako Amazon, Aliexpress a eBay. Tu máte jeden kúpiť odporúčanie:

Výstupný výkon je tiež programovateľný, pre všetky frekvencie podporujúce až +10 dBm. On dosah je 100-150 metrov, v závislosti od frekvencie. A na svoju činnosť potrebuje napätie 1.8 až 3.6V. Dátová komunikácia prebieha cez zbernicu SPI, takže je ľahké ju používať spolu s MCU alebo doskami ako je Arduino...

Použitie CC1101 s Arduino

Arduino IDE, dátové typy, programovanie

Teraz, keď pochopíte, čo je CC1101, ak ho chcete používať s Arduino, je to jednoduché. Ak to chcete urobiť, prvá vec je správne pripojiť RF zariadenie alebo modul na vašu vývojovú dosku. Buďte opatrní, pretože CC1101 netoleruje 5V napätie a môžete ho poškodiť, takže sa nepripojí k 5V zásuvke Arduina, ako sme to urobili s mnohými inými zariadeniami. Zapojenie, aby správne fungovalo, je nasledovné:

  • VDC: bude pripojený k Arduinu 3v3, aby mal túto zásuvku, ak ju nemá a máte len 5v, budete ju musieť pripojiť k batérii alebo externému zdroju, ktorý dokáže dodať toto napätie alebo CC1101 bude byť poškodený.
  • SI: Bude pripojený k Arduino SCK, ktorý môže meniť kolík v závislosti od modelu, ale vo všeobecnosti je to D13.
  • SO: V tomto prípade bude pripojený ku GO2, čo je zvyčajne pin D12 Arduina.
  • ČSN: musíte to vziať na kolík GO0, čo je D9 Arduina.
  • GND: a nakoniec, GND bude pripojené k GND Arduina alebo vášho napájacieho zdroja.

Akonáhle je to hotové, je čas napísať kód na testovanie v Arduino IDE. Na tento účel vám ukážem veľmi základný príklad, ktorý si však môžete upraviť podľa svojich predstáv. V tomto prípade bude CC1101 fungovať ako prijímač RF signál:

Všimnite si, že budete musieť nainštalovať knižnicu do vášho Arduino IDE, aby ste mohli pracovať, táto knižnica je ELECHOUSE pre CC1101, ktorá si môžete stiahnuť 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 fungujúci ako vysielač RF signál má kód podobný predchádzajúcemu.


Buďte prvý komentár

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.