Kindlasti peate mõne projekti puhul töötama raadiosagedusega oma Arduino või mõne muu arendusplaadi või DIY-ahelaga. Noh, kui see on teie juhtum, peaksite teadma, mis see on CC1101 raadiosageduslik (RF) transiiver. Ja seda püüame teile selles artiklis selgitada.
Ja selle teisega elektrooniline komponent, mis liitub meie loendiga, saate töötada erinevate signaalisagedustega…
Mis on RF?
koos raadiosagedus (RF) Peame silmas elektromagnetilise spektri osa, mida kasutatakse teabe edastamiseks õhu kaudu. RF-lained on teatud tüüpi elektromagnetiline kiirgus ja need tekivad alati, kui elektrienergiat edastatakse läbi juhi, näiteks kaabli. Mõiste RF kehtib elektromagnetilise spektri kõige vähem energilisema osa kohta, mida ma teile eelmisel pildil näitan ja mis asub 3 hertsi (Hz) ja 300 gigahertsi (GHz) vahel.
Valguse kiirus = lainepikkus · sagedus
Valguse kiirus (umbes 3.000.000 2.4 5 m/s) ei muutu kunagi, seega RF-signaali lainepikkuse kasvades sagedus proportsionaalselt väheneb ja vastupidi. Suhteliselt kõrge sagedusega RF-signaalil on lühike lainepikkus ja madalama sagedusega RF-signaalil on pikem lainepikkus. Samal põhjusel on madalama sagedusega signaalid läbitungivamad või võivad katta suurema katvuse. Näiteks kui teil on XNUMX GHz WiFi, võib see jõuda kaugemale ja ületada barjääre paremini võrreldes XNUMX GHz WiFi-ga, kuigi viimane võimaldab suuremat edastuskiirust...
Sellest spektripiirkonnast pärit elektromagnetlaineid saab edastada generaatorist antennile tuleva vahelduvvoolu rakendamisel. The raadiosageduslikud lained, mis on elektromagnetlained, levivad valguse kiirusel. Kõige põhilisemalt võib antennis olev muutuv elektrisignaal tekitada elektromagnetilisi võnkumisi (st RF-laineid). Need võivad olla tahtmatud (võivad põhjustada häireid teistes seadmetes) või tahtlikud: hoolikalt moduleeritud signaalid, mida teised antennid saavad vastu võtta ja tõlgendada kasuliku teabena.
Selles raadiosagedusvahemikus saame andmeid edastada suurel kiirusel, näiteks nagu on tehtud Wi-Fi side ja mobiiltelefonid, samuti traditsiooniline AM- ja FM-raadio.
Mis on transiiver?
Transiiver on seade, mis ühendab saatja ja vastuvõtja võimalused jagatud vooluringidel. See tähendab, et see suudab signaale saata ja vastu võtta ilma, et ühelt poolt oleks vaja saatjat ja teiselt poolt vastuvõtjat. Midagi üsna praktilist paljude DIY projektide jaoks.
Transiiverid võivad olla kaks üldist tüüpi: täisdupleks ja pooldupleks. Täisduplekstransiiveris saab seade samaaegselt edastada ja vastu võtta. Täisduplekstransiiveri tavaline näide on mobiiltelefon. Teisest küljest vaigistab pooldupleks-transiiver ühe osapoole, samal ajal kui teine edastab.
Transiiverid on traadita side nurgakivi ja neid kasutatakse mitmesugustes rakendustes, alates mobiiltelefonidest kuni sidesatelliitideni, paljude muude võrkude ja teabeedastusviiside kaudu, nagu raadio, TV jne.
Transiiveri rakendused
Raadiosageduslik (RF) transiiver on a multifunktsionaalne seade millel võib olla palju kasutusvõimalusi. Näiteks, nagu ma varem ütlesin, on selle olemasolu oluline erinevates rakendustes, mis nõuavad traadita sidet. Mobiilside valdkonnas kasutatakse mobiiltelefonides signaalide edastamiseks ja vastuvõtmiseks transiivereid. Lisaks on need olulised sellistes tehnoloogiates nagu WiFi ja Bluetooth, mida kasutatakse sellistes seadmetes nagu ruuterid, arvutid ja asjade Interneti (IoT) seadmed, mille toimimine sõltub traadita sidest.
Professionaalses valdkonnas on RF transiiverid turvasüsteemides hädavajalikud. kahesuunaline raadio, näiteks professionaalsetes rakendustes, turva- ja hädaabiteenustes kasutatavad kahesuunalised raadiod. Need seadmed leiavad rakendust ka tuvastussüsteemides, nagu objektide tuvastamiseks, navigeerimiseks ja lennujuhtimiseks kasutatavad radarid, aga ka veealuste rakenduste sonarisüsteemides.
La ringhääling, Nii raadio kui ka televisiooni puhul sõltub see RF transiiveritest signaalide edastamiseks läbi erinevate meediumite, olgu maapealse või satelliidi kaudu. Lisaks on kosmosevaldkonnas transiiverid satelliitide ja satelliitsidesüsteemide maapealsete jaamade vahelise side jaoks üliolulised.
En kaugjuhtimis- ja telemeetriarakendused, RF transiivereid kasutatakse andmete edastamiseks elektroonikaseadmetest, droonidest või mehitamata õhusõidukitest (UAV). Need on olulised ka navigatsioonisüsteemides, näiteks GPS-vastuvõtjates, kus nad aitavad kaasa asukoha määramisele ja navigeerimisele. Kokkuvõtteks võib öelda, et RF-transiiverite mitmekülgsus muudab need paljudes kaasaegsetes tehnoloogiates olulisteks komponentideks, mis põhinevad traadita side ja andmeedastusel.
Ilmselgelt on mõned neist rakendustest, mis ei ole CC1101 käeulatuses, kuna sellel on oma piirangud ja see töötab teatud sagedusvahemikes. Siiski peaksite teadma, et turul on rohkem selliseid seadmeid nagu see transiiver, mis töötavad teiste sageduste, vahemaade jms korral.
Mis on CC1101?
El CC1101 on raadiosageduslik (RF) transiiver, mis on loodud töötama sagedustel alla 1 GHz. Seda seadet saab kasutada koos protsessoriga (nt Arduino) andmete saatmiseks või vastuvõtmiseks raadiosageduse kaudu. CC1101 võib töötada mis tahes sagedusel järgmistes sagedusalades:
- 300 kuni 348 MHz
- 387 kuni 464 MHz
- 779 kuni 928 MHz
Need funktsioonid muudavad CC1101 valikuliseks Mitmekülgne mitmesuguste projektide jaoks, mis nõuavad traadita sidet, sealhulgas Arduino ja ESP8266/ESP321 projektid ning muud elektroonikaprojektid kaugside valdkonnas.
Lisaks CC1101 Võimaldab reguleerida bitikiirust erinevateks kasutusteks, võimaldades suuremat edastuskiirust, alates 0.6 Kbps kuni 600 Kbps. Ja see toetab ka 2-FSK, GFSK ja MSK3 modulatsioone.
Huvi korral leiate selle spetsialiseeritud elektroonikapoodidest või ka veebimüügiplatvormidelt nagu Amazon, Aliexpress ja eBay. Siin on teil üks osta soovitus:
Väljundvõimsus on samuti programmeeritav, kõikidele sagedustele, mis toetavad kuni +10 dBm. Tema ulatus on kuni 100-150 meetrit, olenevalt sagedusest. Ja selle tööks vajab see pinget 1.8–3.6 V. Andmeside toimub SPI siini kaudu, nii et seda on lihtne kasutada koos MCU või plaatidega nagu Arduino...
CC1101 kasutamine koos Arduinoga
Nüüd, kui olete aru saanud, mis on CC1101, on seda lihtne teha, kui soovite seda Arduinoga kasutada. Selleks on esimene asi ühendage õigesti RF-seade või moodul oma arendusplaadile. Olge ettevaatlik, kuna CC1101 ei talu 5v pinget ja võite seda kahjustada, mistõttu see ei ühendu Arduino 5v pistikupessa, nagu oleme teinud paljude teiste seadmetega. Ühendus selle nõuetekohaseks toimimiseks on järgmine:
- VDC: see ühendatakse selle pistikupesa saamiseks Arduino 3v3-ga, kui tal seda pole ja teil on ainult 5 V, siis peate selle ühendama aku või välise allikaga, mis suudab seda pinget toita või CC1101 olla kahjustatud.
- SI: See ühendatakse Arduino SCK-ga, mis võib olenevalt mudelist pinda vahetada, kuid mis on üldiselt D13.
- SO: Sel juhul ühendatakse see GO2-ga, mis on tavaliselt Arduino D12 pin.
- CSN: peate selle viima GO0 tihvti, mis on Arduino D9.
- GND: ja lõpuks ühendatakse GND Arduino või teie toiteallika GND-ga.
Kui see on tehtud, on aeg kirjutada kood, et seda Arduino IDE-s testida. Selleks näitan teile väga lihtsat näidet, mida saate oma maitse järgi muuta. Sel juhul töötab CC1101 kui vastuvõtja RF signaal:
#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, mis töötab kui saatja RF-signaalil on eelmisega sarnane kood.