CC1101: RF raiduztvērējs lietošanai ar Arduino

cc1101

Noteikti dažos projektos jums ir jāstrādā ar radio frekvenci ar savu Arduino vai ar jebkuru citu izstrādes plati vai DIY shēmu. Ja tas ir jūsu gadījumā, jums vajadzētu zināt, kas CC1101 radiofrekvenču (RF) raiduztvērējs. Un tas ir tas, ko mēs centīsimies jums izskaidrot šajā rakstā.

Un ar šo otru elektroniskais komponents, kas pievienojas mūsu sarakstam, jūs varat strādāt ar dažādām signāla frekvencēm…

Kas ir RF?

elektromagnētiskais spektrs

ar radio frekvence (RF) Mēs runājam par daļu no elektromagnētiskā spektra, ko izmanto informācijas pārraidīšanai pa gaisu. RF viļņi ir elektromagnētiskā starojuma veids, un tie rodas ikreiz, kad elektriskā enerģija tiek pārraidīta caur vadītāju, piemēram, kabeli. Termins RF attiecas uz vismazāk enerģētisko elektromagnētiskā spektra daļu, ko es jums parādīju iepriekšējā attēlā, un kas atrodas starp 3 herciem (Hz) un 300 gigaherciem (GHz).

Gaismas ātrums = viļņa garums · frekvence

Gaismas ātrums (aptuveni 3.000.000 2.4 5 m/s) nekad nemainās, tāpēc, palielinoties RF signāla viļņa garumam, frekvence proporcionāli samazinās un otrādi. Salīdzinoši augstas frekvences RF signālam ir īss viļņa garums, un zemākas frekvences RF signālam ir garāks viļņa garums. Šī paša iemesla dēļ zemākas frekvences signāli ir labāk iekļūstoši vai var aptvert lielāku pārklājumu. Piemēram, ja jums ir XNUMX GHz WiFi, tas var sasniegt tālāk un labāk pārvarēt barjeras, salīdzinot ar XNUMX GHz WiFi, lai gan pēdējais nodrošina lielāku pārraides ātrumu...

Hercs ir viļņu frekvences mērvienība un atbilst vienam ciklam sekundē. Jo augstāka ir viļņa frekvence, jo īsāks ir tā viļņa garums. Tāpēc gamma starojums ir ļoti caurlaidīgs, jo viļņa garums ir ļoti mazs, un tā frekvence ir ļoti augsta, tāpēc tas ir ļoti enerģisks.

Elektromagnētiskos viļņus no šī spektra apgabala var pārraidīt, pievadot antenai maiņstrāvu no ģeneratora. The radiofrekvenču viļņi, kas ir elektromagnētiskie viļņi, pārvietojas ar gaismas ātrumu. Pamatā mainīgs elektriskais signāls antenā var radīt elektromagnētiskas svārstības (t.i., RF viļņus). Tie var būt netīši (potenciāli radīt traucējumus citām ierīcēm) vai tīši: rūpīgi modulēti signāli, ko citas antenas var uztvert un interpretēt kā noderīgu informāciju.

Šajā RF diapazonā mēs varam pārraidīt datus lielā ātrumā, piemēram, kā tas ir izdarīts Wi-Fi sakari un mobilie tālruņi, kā arī tradicionālais AM un FM radio.

Kas ir raiduztvērējs?

RF devējs

Raiduztvērējs ir ierīce, kas apvieno raidītāja un uztvērēja iespējas koplietojamās shēmās. Tas nozīmē, ka tas var nosūtīt un saņemt signālus, no vienas puses, bez raidītāja un uztvērēja, no otras puses. Kaut kas diezgan praktisks daudziem DIY projektiem.

Raiduztvērēji var būt divi vispārīgi veidi: pilna dupleksa un pusdupleksa. Pilna dupleksā raiduztvērējā ierīce var pārraidīt un saņemt vienlaikus. Izplatīts pilna dupleksa raiduztvērēja piemērs ir mobilais tālrunis. No otras puses, pusdupleksais raiduztvērējs izslēdz vienas puses skaņu, bet otra raida.

Raiduztvērēji ir bezvadu sakaru stūrakmens un tiek izmantoti dažādās lietojumprogrammās, sākot no mobilajiem tālruņiem līdz sakaru satelītiem, izmantojot daudzus citus tīklus un informācijas pārraides veidus, piemēram, radio, TV utt.

Raiduztvērēja pielietojumi

Radiofrekvences (RF) raiduztvērējs ir a daudzfunkcionāla ierīce kam var būt daudz lietojumu. Piemēram, kā jau teicu iepriekš, tā klātbūtne ir būtiska dažādās lietojumprogrammās, kurām nepieciešama bezvadu saziņa. Mobilo telekomunikāciju jomā raiduztvērējus izmanto mobilajos tālruņos signālu pārraidīšanai un uztveršanai. Turklāt tie ir būtiski tādās tehnoloģijās kā WiFi un Bluetooth, kas tiek izvietoti tādās ierīcēs kā maršrutētāji, datori un lietiskā interneta (IoT) ierīces, kuru darbība ir atkarīga no bezvadu sakaru.

Profesionālajā jomā RF raiduztvērēji ir būtiski drošības sistēmās. divvirzienu radio, piemēram, divvirzienu radio, ko izmanto profesionālās lietojumprogrammās, drošības un avārijas dienestos. Šīs ierīces var izmantot arī atklāšanas sistēmās, piemēram, radaros, ko izmanto objektu noteikšanai, navigācijai un gaisa satiksmes kontrolei, kā arī hidrolokatoru sistēmās zemūdens lietojumiem.

La apraide, Gan radio, gan televīzijai tas ir atkarīgs no RF raiduztvērējiem signālu pārraidīšanai caur dažādiem zemes vai satelīta medijiem. Turklāt kosmosa jomā raiduztvērēji ir ļoti svarīgi saziņai starp satelītiem un zemes stacijām satelītu sakaru sistēmās.

En tālvadības pults un telemetrijas lietojumprogrammas, RF raiduztvērējus izmanto datu pārraidei no elektroniskām ierīcēm, droniem vai bezpilota lidaparātiem (UAV). Tie ir būtiski arī navigācijas sistēmās, piemēram, GPS uztvērējos, kur tie palīdz noteikt atrašanās vietu un navigāciju. Rezumējot, RF raiduztvērēju daudzpusība padara tos par būtiskām sastāvdaļām dažādās mūsdienu tehnoloģijās, kuru pamatā ir bezvadu komunikācija un datu pārraide.

Acīmredzot ir dažas no šīm lietojumprogrammām, kuras nav sasniedzamas CC1101, jo tam ir ierobežojumi un tas darbojas noteiktos frekvenču diapazonos. Tomēr jums jāzina, ka tirgū ir vairāk tādu ierīču kā šis raiduztvērējs darbam ar citām frekvencēm, attālumiem utt.

Kas ir CC1101?

cc1101

El CC1101 ir radiofrekvenču (RF) raiduztvērējs, kas paredzēts darbam frekvencēs, kas zemākas par 1 GHz. Šo ierīci var izmantot kopā ar procesoru, piemēram, Arduino, lai nosūtītu vai saņemtu datus, izmantojot radiofrekvences. CC1101 var darboties jebkurā frekvencē šādās joslās:

  • 300 līdz 348 MHz
  • 387 līdz 464 MHz
  • 779 līdz 928 MHz

Šīs funkcijas padara CC1101 par opciju Daudzpusīgs dažādiem projektiem, kuriem nepieciešama bezvadu komunikācija, tostarp Arduino un ESP8266/ESP321 projekti, kā arī citi elektronikas projekti attālo sakaru jomā.

Turklāt CC1101 Ļauj pielāgot bitu pārraides ātrumu dažādiem lietojumiem, nodrošinot lielāku pārraides ātrumu no 0.6 Kb/s līdz 600 Kb/s Un atbalsta arī 2-FSK, GFSK un MSK3 modulācijas.

Ja ir interese, to var atrast specializētajos elektronikas veikalos, vai arī tiešsaistes tirdzniecības platformās, piemēram, Amazon, Aliexpress un eBay. Šeit jums ir viens pirkšanas ieteikums:

Izejas jauda ir arī programmējama visām frekvencēm, kas atbalsta līdz +10 dBm. Viņš diapazons ir līdz 100-150 metriem, atkarībā no frekvences. Un tā darbībai ir nepieciešams spriegums no 1.8 līdz 3.6 V. Datu komunikācija tiek veikta caur SPI kopni, tāpēc to ir viegli izmantot kopā ar MCU vai platēm, piemēram, Arduino...

Izmantojot CC1101 ar Arduino

Arduino IDE, datu tipi, programmēšana

Tagad, kad jūs saprotat, kas ir CC1101, ja vēlaties to izmantot kopā ar Arduino, tas ir viegli izdarāms. Lai to izdarītu, pirmā lieta ir savienot pareizi RF ierīci vai moduli pie attīstības paneļa. Esiet uzmanīgi, jo CC1101 nepieļauj 5 V spriegumu un varat to sabojāt, tāpēc tas netiks savienots ar Arduino 5 V ligzdu, kā mēs to darījām ar daudzām citām ierīcēm. Savienojums, lai tas darbotos pareizi, ir šāds:

  • VDC: tas tiks savienots ar Arduino 3v3, lai būtu šī ligzda, ja tai nav un jums ir tikai 5 V, tad jums tas būs jāpievieno akumulatoram vai ārējam avotam, kas var piegādāt šo spriegumu vai CC1101 būt bojātam.
  • SI: Tas tiks savienots ar Arduino SCK, kas var mainīt tapu atkarībā no modeļa, bet kas parasti ir D13.
  • SO: Šajā gadījumā tas tiks savienots ar GO2, kas parasti ir Arduino D12 tapa.
  • CSN: jums tas ir jānovieto uz GO0 tapu, kas ir Arduino D9.
  • GND: un visbeidzot, GND tiks savienots ar Arduino vai jūsu barošanas avota GND.

Kad tas ir izdarīts, ir pienācis laiks rakstīt kodu, lai to pārbaudītu Arduino IDE. Lai to izdarītu, šeit es parādīšu ļoti vienkāršu piemēru, taču tādu, kuru varat mainīt pēc savas patikas. Šajā gadījumā CC1101 darbosies kā saņēmējs RF signāls:

Ņemiet vērā, ka jums būs jāinstalē bibliotēka savā Arduino IDE, lai varētu strādāt. Šī bibliotēka ir ELECHOUSE bibliotēka, kas paredzēta CC1101. jūs varat lejupielādēt šeit.
#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 darbojas kā raidītājs RF signālam ir kods, kas līdzīgs iepriekšējam.


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.