CC1101: RF-sändtagare för användning med Arduino

cc1101

I vissa projekt behöver du säkert arbeta med radiofrekvens med din Arduino, eller med något annat utvecklingskort eller gör-det-själv-krets. Tja, om det är ditt fall bör du veta vad CC1101 radiofrekvens (RF) transceiver. Och det är vad vi kommer att försöka förklara för dig i den här artikeln.

Och med denna andra elektronisk komponent som ansluter sig till vår lista, du kan arbeta med olika signalfrekvenser...

Vad är RF?

elektromagnetiskt spektrum

med radiofrekvens (RF) Vi syftar på en del av det elektromagnetiska spektrumet som används för att överföra information genom luften. RF-vågor är en typ av elektromagnetisk strålning och produceras närhelst elektrisk energi överförs genom en ledare, till exempel en kabel. Termen RF gäller den minst energirika delen av det elektromagnetiska spektrumet som jag visar dig i föregående bild, och som ligger mellan 3 hertz (Hz) och 300 gigahertz (GHz).

Ljushastighet = Våglängd · frekvens

Ljushastigheten (cirka 3.000.000 2.4 5 m/s) ändras aldrig, så när RF-signalens våglängd ökar minskar frekvensen proportionellt och vice versa. En relativt högfrekvent RF-signal har en kort våglängd och en lägre frekvens RF-signal har en längre våglängd. Av samma anledning är lägre frekvenssignaler mer genomträngande eller kan täcka större täckning. Till exempel, om du har XNUMX Ghz WiFi kan den nå längre och passera barriärer bättre jämfört med XNUMX Ghz WiFi, även om den senare tillåter högre överföringshastigheter...

Hertz är måttenheten för vågfrekvensen och motsvarar en cykel per sekund. Ju högre frekvens vågen har, desto kortare är dess våglängd. Det är därför gammastrålning är mycket penetrerande, eftersom våglängden är mycket liten och dess frekvens är mycket hög, så den är mycket energisk.

Elektromagnetiska vågor från denna del av spektrumet kan sändas genom att applicera växelström som härrör från en generator till en antenn. De radiofrekvensvågor, som är elektromagnetiska vågor, färdas med ljusets hastighet. Som mest grundläggande kan en varierande elektrisk signal i en antenn producera elektromagnetiska oscillationer (dvs RF-vågor). Dessa kan vara oavsiktliga (potentiellt orsaka störningar med andra enheter) eller avsiktliga: noggrant modulerade signaler som andra antenner kan ta emot och tolkas som användbar information.

Inom detta RF-intervall kan vi överföra data med hög hastighet, till exempel som gjort i Wi-Fi-kommunikation och mobiltelefoner, såväl som traditionell AM- och FM-radio.

Vad är en transceiver?

RF-givare

En transceiver är en enhet som kombinerar funktionerna hos en sändare och en mottagare på delade kretsar. Det betyder att den kan skicka och ta emot signaler, utan att behöva ha en sändare å ena sidan och en mottagare å den andra. Något ganska praktiskt för många DIY-projekt.

Transceivrarna kan vara två allmänna typer: full duplex och halv duplex. I en full duplex transceiver kan enheten sända och ta emot samtidigt. Ett vanligt exempel på en full duplex transceiver är en mobiltelefon. Å andra sidan tystar en halvduplex-sändtagare en part medan den andra sänder.

Transceivrarna är hörnstenen i trådlös kommunikation och används i en mängd olika tillämpningar, från mobiltelefoner till kommunikationssatelliter, genom många andra nätverk och sätt att överföra information, såsom radio, TV, etc.

Tillämpningar av en transceiver

En radiofrekvens (RF) transceiver är en multifunktionell enhet som kan ha ett stort antal användningsområden. Till exempel, som jag sa tidigare, är dess närvaro väsentlig i olika applikationer som kräver trådlös kommunikation. Inom området för mobil telekommunikation används sändare/mottagare i mobiltelefoner för överföring och mottagning av signaler. Dessutom är de väsentliga i teknologier som WiFi och Bluetooth, utplacerade i enheter som routrar, datorer och Internet of Things (IoT) enheter, som är beroende av trådlös kommunikation för att fungera.

Inom det professionella området är RF-sändtagare väsentliga i säkerhetssystem. tvåvägsradio, såsom tvåvägsradio som används i professionella applikationer, säkerhet och räddningstjänst. Dessa enheter kan även användas i detekteringssystem, såsom radar som används för objektdetektering, navigering och flygledning, såväl som i ekolodssystem för undervattenstillämpningar.

La sändning, För både radio och TV beror det på RF-sändtagare för överföring av signaler genom olika medier, oavsett om det är markbundet eller satellit. Dessutom är sändtagare i rymdområdet avgörande för kommunikation mellan satelliter och markstationer i satellitkommunikationssystem.

En fjärrkontroll och telemetriapplikationer, RF-sändtagare används för dataöverföring från elektroniska enheter, drönare eller obemannade flygfarkoster (UAV). De är också väsentliga i navigationssystem, såsom GPS-mottagare, där de bidrar till positionsbestämning och navigering. Sammanfattningsvis gör mångsidigheten hos RF-sändtagare dem till väsentliga komponenter i en mängd moderna teknologier som är beroende av trådlös kommunikation och dataöverföring.

Uppenbarligen finns det några av dessa applikationer som inte är inom räckhåll för CC1101, eftersom den har sina begränsningar och fungerar inom vissa frekvensområden. Du bör dock veta att det finns fler enheter på marknaden som denna transceiver för att fungera med andra frekvenser, avstånd etc.

Vad är CC1101?

cc1101

El CC1101 är en radiofrekvenssändtagare (RF) designad för att fungera vid frekvenser under 1 GHz. Denna enhet kan användas tillsammans med en processor som Arduino för att skicka eller ta emot data via radiofrekvens. CC1101 kan arbeta vid vilken frekvens som helst inom följande band:

  • 300 och 348 MHz
  • 387 och 464 MHz
  • 779 och 928 MHz

Dessa funktioner gör CC1101 till ett alternativ Mångsidig för en mängd olika projekt som kräver trådlös kommunikation, inklusive Arduino- och ESP8266/ESP321-projekt, och andra elektronikprojekt inom området fjärrkommunikation.

Dessutom CC1101 Låter dig justera bithastigheten för olika användningsområden, vilket möjliggör högre överföringshastigheter, från 0.6 Kbps till 600 Kbps. Och den stöder även 2-FSK, GFSK och MSK3-moduleringar.

Om du är intresserad kan du hitta den i specialiserade elektronikbutiker, eller även på onlineförsäljningsplattformar som Amazon, Aliexpress och eBay. Här har du en köprekommendation:

Uteffekten är också programmerbar, för alla frekvenser som stöder upp till +10 dBm. han räckvidden är upp till 100-150 meter, beroende på frekvensen. Och för dess funktion behöver den en spänning på 1.8 till 3.6V. Datakommunikation sker via SPI-bussen, så det är lätt att använda den tillsammans med en MCU eller kort som Arduino...

Använder CC1101 med Arduino

Arduino IDE, datatyper, programmering

Nu, när du väl förstår vad CC1101 är, om du vill använda den med Arduino, är det lätt att göra. För att göra detta är det första anslut korrekt RF-enheten eller modulen till ditt utvecklingskort. Var försiktig, eftersom CC1101 inte tolererar 5V spänningar och du kan skada den, så den kommer inte att ansluta till Arduinos 5V-uttag som vi har gjort med många andra enheter. Anslutningen för att den ska fungera korrekt är som följer:

  • Vcc: den kommer att anslutas till Arduino 3v3 för att ha det här uttaget, om det inte har det och du bara har 5v, då måste du ansluta det till ett batteri eller extern källa som kan leverera den spänningen, annars kommer CC1101 vara skadad.
  • SI: Den kommer att kopplas till Arduino SCK, som kan byta stift beroende på modell, men som i allmänhet är D13.
  • SO: I det här fallet kommer den att anslutas till GO2, som vanligtvis är D12-stiftet på Arduino.
  • CSN: du måste ta den till GO0-stiftet, som är D9 på Arduino.
  • GND: och slutligen kommer GND att anslutas till GND på Arduino eller din strömkälla.

När detta är gjort är det dags att skriva koden för att testa den i Arduino IDE. För att göra detta visar jag dig här ett mycket grundläggande exempel, men ett som du kan ändra efter eget tycke. I detta fall kommer CC1101 att fungera som mottagare RF-signal:

Observera att du måste installera ett bibliotek i din Arduino IDE för att kunna fungera, det biblioteket är det ELECHOUSE för CC1101 som du kan ladda ner härifrån.
#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 fungerar som sändare RF-signalen har en kod som liknar den föregående.


Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.