Určitě v některých projektech potřebujete pracovat s radiofrekvencí s vaším Arduinem nebo s jakoukoli jinou vývojovou deskou nebo DIY obvodem. No, pokud je to váš případ, měli byste vědět, co Radiofrekvenční (RF) transceiver CC1101. A právě to se vám pokusíme vysvětlit v tomto článku.
A s tímto dalším elektronická součástka, která se připojuje k našemu seznamu, můžete pracovat s různými frekvencemi signálu…
Co je RF?
s rádiová frekvence (RF) Máme na mysli část elektromagnetického spektra, která se používá k přenosu informací vzduchem. RF vlny jsou typem elektromagnetického záření a vznikají vždy, když je elektrická energie přenášena vodičem, jako je kabel. Termín RF se vztahuje na nejméně energetickou část elektromagnetického spektra, kterou jsem vám ukázal na předchozím obrázku a která se nachází mezi 3 hertz (Hz) a 300 gigahertz (GHz).
Rychlost světla = vlnová délka · frekvence
Rychlost světla (cca 3.000.000 2.4 5 m/s) se nikdy nemění, takže s rostoucí vlnovou délkou RF signálu úměrně klesá frekvence a naopak. Relativně vysokofrekvenční RF signál má krátkou vlnovou délku a nízkofrekvenční RF signál má delší vlnovou délku. Ze stejného důvodu jsou signály s nižší frekvencí pronikavější nebo mohou pokrýt větší pokrytí. Pokud máte například XNUMX Ghz WiFi, může dosáhnout dále a překonat bariéry lépe ve srovnání s XNUMX Ghz WiFi, i když ta umožňuje vyšší přenosové rychlosti...
Elektromagnetické vlny z této oblasti spektra mohou být přenášeny aplikací střídavého proudu pocházejícího z generátoru do antény. The radiofrekvenční vlnyjako elektromagnetické vlny se pohybují rychlostí světla. Ve své nejzákladnější podobě může proměnný elektrický signál v anténě produkovat elektromagnetické oscilace (tj. RF vlny). Ty mohou být neúmyslné (potenciálně způsobující rušení jiných zařízení) nebo záměrné: pečlivě modulované signály, které mohou ostatní antény přijímat a být interpretovány jako užitečné informace.
V tomto RF rozsahu můžeme přenášet data vysokou rychlostí, například jako v Wi-Fi komunikace a mobilní telefony, stejně jako tradiční AM a FM rádio.
Co je to transceiver?
Transceiver je zařízení, které kombinuje schopnosti vysílače a přijímače na sdílených okruzích. To znamená, že může odesílat a přijímat signály, aniž by musel mít vysílač na jedné straně a přijímač na straně druhé. Něco docela praktického pro mnoho DIY projektů.
Transceivery mohou být dva obecné typy: plný duplex a poloviční duplex. V plně duplexním transceiveru může zařízení vysílat a přijímat současně. Běžným příkladem plně duplexního transceiveru je mobilní telefon. Na druhou stranu poloduplexní transceiver ztlumí jednu stranu, zatímco druhá vysílá.
Transceivery jsou základní kámen bezdrátové komunikace a používají se v různých aplikacích, od mobilních telefonů po komunikační satelity, prostřednictvím mnoha dalších sítí a způsobů přenosu informací, jako je rádio, TV atd.
Aplikace transceiveru
Radiofrekvenční (RF) transceiver je a multifunkční zařízení který může mít velké množství využití. Například, jak jsem řekl dříve, jeho přítomnost je nezbytná v různých aplikacích, které vyžadují bezdrátovou komunikaci. V oblasti mobilních telekomunikací se transceivery používají v mobilních telefonech pro přenos a příjem signálů. Kromě toho jsou nezbytné v technologiích, jako je WiFi a Bluetooth, nasazených v zařízeních, jako jsou routery, počítače a zařízení internetu věcí (IoT), jejichž provoz závisí na bezdrátové komunikaci.
V profesionální oblasti jsou RF transceivery zásadní v bezpečnostních systémech. obousměrné rádio, jako jsou obousměrné vysílačky používané v profesionálních aplikacích, bezpečnostních a záchranných službách. Tato zařízení nacházejí uplatnění také v detekčních systémech, jako jsou radary používané pro detekci objektů, navigaci a řízení letového provozu, a také v sonarových systémech pro podvodní aplikace.
La vysílání, U rozhlasu i televize záleží na RF transceiverech pro přenos signálů přes různá média, ať už pozemní nebo satelitní. Kromě toho jsou ve vesmírné oblasti transceivery klíčové pro komunikaci mezi satelity a pozemními stanicemi v satelitních komunikačních systémech.
En dálkové ovládání a telemetrické aplikace, RF transceivery se používají pro přenos dat z elektronických zařízení, dronů nebo bezpilotních vzdušných prostředků (UAV). Jsou také nezbytné v navigačních systémech, jako jsou přijímače GPS, kde přispívají k určení polohy a navigaci. Stručně řečeno, všestrannost vysokofrekvenčních transceiverů z nich činí základní součásti v řadě moderních technologií, které se spoléhají na bezdrátovou komunikaci a přenos dat.
Je zřejmé, že některé z těchto aplikací nejsou v dosahu CC1101, protože má svá omezení a pracuje v určitých frekvenčních rozsazích. Měli byste však vědět, že na trhu existuje více zařízení, jako je tento transceiver pro práci s jinými frekvencemi, vzdálenostmi atd.
Co je CC1101?
El CC1101 je radiofrekvenční (RF) transceiver navržený pro provoz na frekvencích pod 1 GHz.Toto zařízení lze použít ve spojení s procesorem, jako je Arduino, k odesílání nebo přijímání dat prostřednictvím rádiové frekvence. CC1101 může pracovat na libovolné frekvenci v následujících pásmech:
- 300 až 348 MHz
- 387 až 464 MHz
- 779 až 928 MHz
Tyto vlastnosti dělají z CC1101 možnost Univerzální pro různé projekty vyžadující bezdrátovou komunikaci, včetně projektů Arduino a ESP8266/ESP321 a dalších elektronických projektů v oblasti vzdálených komunikací.
Navíc CC1101 Umožňuje upravit přenosovou rychlost pro různá použití, umožňující vyšší přenosové rychlosti, od 0.6 Kbps do 600 Kbps.A také podporuje modulace 2-FSK, GFSK a MSK3.
V případě zájmu jej seženete ve specializovaných obchodech s elektronikou, nebo také na online prodejních platformách jako je Amazon, Aliexpress a eBay. Tady jeden máte koupit doporučení:
Výstupní výkon je také programovatelný pro všechny frekvence s podporou až +10 dBm. On dosah je 100-150 metrů, v závislosti na frekvenci. A pro svůj provoz potřebuje napětí 1.8 až 3.6V. Datová komunikace probíhá přes sběrnici SPI, takže je snadné ji používat společně s MCU nebo deskami jako je Arduino...
Použití CC1101 s Arduinem
Nyní, jakmile pochopíte, co je CC1101, pokud jej chcete používat s Arduinem, je to snadné. Chcete-li to udělat, první věc je správně připojit RF zařízení nebo modul k vaší vývojové desce. Buďte opatrní, protože CC1101 netoleruje 5V napětí a můžete jej poškodit, takže se nepřipojí k 5V zásuvce Arduina, jak jsme to udělali s mnoha jinými zařízeními. Připojení, aby správně fungovalo, je následující:
- Vcc: bude připojen k Arduinu 3v3, aby měl tuto zásuvku, pokud ji nemá a máte pouze 5v, tak ji budete muset připojit k baterii nebo externímu zdroji, který to napětí dokáže dodat, nebo bude CC1101 být poškozen.
- SI: Bude připojen k Arduino SCK, který může měnit pin v závislosti na modelu, ale obecně je to D13.
- SO: V tomto případě bude připojen ke GO2, což je obvykle pin D12 Arduina.
- ČSN: musíte to vzít na pin GO0, což je D9 Arduina.
- GND: a nakonec bude GND připojeno k GND Arduina nebo vašeho napájecího zdroje.
Jakmile je toto hotovo, je čas napsat kód a otestovat jej v Arduino IDE. Chcete-li to provést, zde vám ukážu velmi základní příklad, který si však můžete upravit podle svých představ. V tomto případě bude CC1101 fungovat jako přijímač RF signál:
#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ící jako vysílač RF signál má kód podobný předchozímu.