CC1101: Transceiver RF do użytku z Arduino

cc1101

Z pewnością w niektórych projektach musisz pracować na częstotliwości radiowej z Arduino lub z jakąkolwiek inną płytką rozwojową lub obwodem DIY. Cóż, jeśli tak jest w twoim przypadku, powinieneś wiedzieć, co Transceiver częstotliwości radiowej (RF) CC1101. I to właśnie postaramy się wyjaśnić w tym artykule.

I z tym innym element elektroniczny, który dołącza do naszej listymożesz pracować z różnymi częstotliwościami sygnału…

Co to jest RF?

widmo elektromagnetyczne

z częstotliwość radiowa (RF) Mówimy o części widma elektromagnetycznego wykorzystywanego do przesyłania informacji w powietrzu. Fale RF są rodzajem promieniowania elektromagnetycznego i powstają, gdy energia elektryczna jest przesyłana przez przewodnik, taki jak kabel. Termin RF odnosi się do najmniej energetycznej części widma elektromagnetycznego, którą pokazuję na poprzednim obrazie i która mieści się w przedziale od 3 herców (Hz) do 300 gigaherców (GHz).

Prędkość światła = długość fali · częstotliwość

Prędkość światła (około 3.000.000 2.4 5 m/s) nigdy się nie zmienia, zatem wraz ze wzrostem długości fali sygnału RF częstotliwość maleje proporcjonalnie i odwrotnie. Sygnał RF o stosunkowo wysokiej częstotliwości ma krótką długość fali, a sygnał RF o niższej częstotliwości ma dłuższą długość fali. Z tego samego powodu sygnały o niższej częstotliwości są bardziej przenikliwe lub mogą pokryć większy zasięg. Na przykład, jeśli masz Wi-Fi XNUMX GHz, może ono dotrzeć dalej i lepiej pokonywać bariery w porównaniu do Wi-Fi XNUMX GHz, chociaż to drugie pozwala na wyższe prędkości transmisji...

Herc jest jednostką miary częstotliwości fal i odpowiada jednemu cyklowi na sekundę. Im wyższa częstotliwość fali, tym krótsza jest jej długość. Dlatego promieniowanie gamma jest bardzo przenikliwe, ponieważ długość fali jest bardzo mała, a jego częstotliwość jest bardzo wysoka, a zatem jest bardzo energetyczne.

Fale elektromagnetyczne z tego zakresu widma można przesyłać poprzez przyłożenie do anteny prądu przemiennego pochodzącego z generatora. The fale o częstotliwości radiowej, będące falami elektromagnetycznymi, poruszają się z prędkością światła. W najbardziej podstawowym ujęciu zmienny sygnał elektryczny w antenie może powodować oscylacje elektromagnetyczne (tj. fale RF). Mogą one być niezamierzone (potencjalnie powodować zakłócenia w działaniu innych urządzeń) lub celowe: starannie modulowane sygnały, które inne anteny mogą odbierać i interpretować jako przydatne informacje.

W tym zakresie RF możemy na przykład przesyłać dane z dużą prędkością, jak to ma miejsce w przypadku Komunikacja Wi-Fi i telefony komórkowe, a także tradycyjne radio AM i FM.

Co to jest transceiver?

Przetwornik RF

Transceiver to urządzenie, które łączy w sobie możliwości nadajnika i odbiornika na wspólnych obwodach. Oznacza to, że może wysyłać i odbierać sygnały bez konieczności posiadania nadajnika z jednej strony i odbiornika z drugiej. Coś całkiem praktycznego dla wielu projektów DIY.

Transceivery mogą być dwa ogólne typy: pełny dupleks i półdupleks. W trybie pełnego dupleksu urządzenie może jednocześnie nadawać i odbierać. Typowym przykładem transiwera pełnego dupleksu jest telefon komórkowy. Z drugiej strony, transceiver półdupleksowy wycisza jedną stronę, podczas gdy druga nadaje.

Transceivery to tzw kamień węgielny komunikacji bezprzewodowej i są wykorzystywane w różnych zastosowaniach, od telefonów komórkowych po satelity komunikacyjne, poprzez wiele innych sieci i sposobów przesyłania informacji, takich jak radio, telewizja itp.

Zastosowania transiwera

Transceiver częstotliwości radiowej (RF) to: urządzenie wielofunkcyjne które mogą mieć mnóstwo zastosowań. Na przykład, jak powiedziałem wcześniej, jego obecność jest niezbędna w różnych zastosowaniach wymagających komunikacji bezprzewodowej. W telekomunikacji mobilnej transceivery są stosowane w telefonach komórkowych do transmisji i odbioru sygnałów. Ponadto są niezbędne w technologiach takich jak Wi-Fi i Bluetooth, wdrażanych w urządzeniach takich jak routery, komputery i urządzenia Internetu rzeczy (IoT), których działanie zależy od komunikacji bezprzewodowej.

W praktyce transceivery RF są niezbędne w systemach bezpieczeństwa. dwukierunkowe radio, takie jak radiotelefony dwukierunkowe stosowane w zastosowaniach profesjonalnych, służbach bezpieczeństwa i ratunkowych. Urządzenia te znajdują również zastosowanie w systemach detekcyjnych, takich jak radary służące do wykrywania obiektów, nawigacji i kontroli ruchu lotniczego, a także w systemach sonarowych do zastosowań podwodnych.

La nadawanie, Zarówno w przypadku radia, jak i telewizji do transmisji sygnałów za pośrednictwem różnych mediów, naziemnych lub satelitarnych, wykorzystywane są nadajniki-odbiorniki RF. Ponadto w przestrzeni kosmicznej nadajniki-odbiorniki mają kluczowe znaczenie dla komunikacji między satelitami a stacjami naziemnymi w systemach łączności satelitarnej.

En aplikacje do zdalnego sterowania i telemetriiTransceivery RF służą do transmisji danych z urządzeń elektronicznych, dronów czy bezzałogowych statków powietrznych (UAV). Są również niezbędne w systemach nawigacji, takich jak odbiorniki GPS, gdzie przyczyniają się do określania lokalizacji i nawigacji. Podsumowując, wszechstronność nadajników-odbiorników RF sprawia, że ​​są one niezbędnymi elementami wielu nowoczesnych technologii, które opierają się na komunikacji bezprzewodowej i transmisji danych.

Oczywiście istnieją pewne zastosowania, które nie są w zasięgu CC1101, ponieważ ma on swoje ograniczenia i działa w określonych zakresach częstotliwości. Warto jednak wiedzieć, że na rynku dostępnych jest więcej urządzeń takich jak ten transiwer, które działają z innymi częstotliwościami, odległościami itp.

Co to jest CC1101?

cc1101

El Wózki CC1101 to nadajnik-odbiornik częstotliwości radiowej (RF) przeznaczony do pracy w częstotliwościach poniżej 1 GHz. To urządzenie może być używane w połączeniu z procesorem takim jak Arduino do wysyłania lub odbierania danych za pośrednictwem częstotliwości radiowej. CC1101 może pracować na dowolnej częstotliwości w następujących pasmach:

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

Te cechy sprawiają, że CC1101 jest opcją Wszechstronny do różnorodnych projektów wymagających komunikacji bezprzewodowej, w tym projekty Arduino i ESP8266/ESP321 oraz inne projekty elektroniki z zakresu komunikacji zdalnej.

Dodatkowo CC1101 Umożliwia regulację szybkości transmisji do różnych zastosowań, umożliwiając wyższą prędkość transmisji, od 0.6 Kb/s do 600 Kb/s. Obsługuje również modulacje 2-FSK, GFSK i MSK3.

Jeśli jesteś zainteresowany, możesz go znaleźć w wyspecjalizowanych sklepach z elektroniką, ale także na internetowych platformach sprzedażowych, takich jak Amazon, Aliexpress i eBay. Tutaj masz jeden kup rekomendację:

Moc wyjściowa jest również programowalna, dla wszystkich częstotliwości obsługujących do +10 dBm. On zasięg wynosi do 100-150 metrów, w zależności od częstotliwości. Do swojej pracy potrzebuje napięcia od 1.8 do 3.6 V. Komunikacja danych odbywa się poprzez magistralę SPI, dzięki czemu bez problemu można go używać razem z MCU lub płytkami typu Arduino...

Używanie CC1101 z Arduino

Arduino IDE, typy danych, programowanie

Teraz, gdy już zrozumiesz, czym jest CC1101, jeśli chcesz go używać z Arduino, jest to łatwe. Aby to zrobić, pierwszą rzeczą jest podłączyć poprawnie urządzenie lub moduł RF do płytki rozwojowej. Bądź ostrożny, ponieważ CC1101 nie toleruje napięć 5 V i możesz go uszkodzić, więc nie połączy się z gniazdem 5 V Arduino, jak to zrobiliśmy z wieloma innymi urządzeniami. Aby połączenie działało prawidłowo, połączenie jest następujące:

  • Vcc: będzie podłączony do Arduino 3v3, aby mieć to gniazdo, jeśli go nie ma, a masz tylko 5 V, wówczas będziesz musiał podłączyć go do akumulatora lub zewnętrznego źródła, które może dostarczyć to napięcie, w przeciwnym razie CC1101 będzie zostać uszkodzony.
  • SI: Będzie podłączony do Arduino SCK, które może zmieniać piny w zależności od modelu, ale zazwyczaj jest to D13.
  • SO: W tym przypadku będzie podłączony do GO2, którym zwykle jest pin D12 Arduino.
  • CSN: musisz podłączyć go do pinu GO0, który jest D9 Arduino.
  • GND: i na koniec GND zostanie podłączone do GND Arduino lub zasilacza.

Kiedy już to zrobisz, czas napisać kod, aby przetestować go w Arduino IDE. Aby to zrobić, pokażę ci bardzo prosty przykład, ale taki, który możesz modyfikować według własnych upodobań. W tym przypadku CC1101 będzie działał jako receptor Sygnał radiowy:

Pamiętaj, że będziesz musiał zainstalować bibliotekę w swoim Arduino IDE, aby móc pracować, ta biblioteka to ELECHOUSE dla CC1101, która możesz pobrać stąd.
#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 działa jako nadajnik Sygnał RF ma kod podobny do poprzedniego.


Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.