I-CC1101: I-transceiver ye-RF ezosetshenziswa ne-Arduino

cc1101

Impela kwamanye amaphrojekthi udinga ukusebenza ngefrikhwensi yomsakazo nge-Arduino yakho, noma nanoma iyiphi enye ibhodi yokuthuthukisa noma isekethe ye-DIY. Hhayi-ke, uma kunjalo, kufanele wazi ukuthi yini CC1101 radio frequency (RF) transceiver. Futhi yilokho esizozama ukukuchazela kona kulesi sihloko.

Futhi nalokhu okunye ingxenye ye-elekthronikhi ejoyina uhlu lwethu, ungasebenza ngamaza amasignali ahlukene...

Iyini i-RF?

i-electromagnetic spectrum

cunt ifrikhwensi yomsakazo (RF) Sibhekisela engxenyeni ye-electromagnetic spectrum esetshenziselwa ukudlulisa ulwazi emoyeni. Amagagasi e-RF awuhlobo lwemisebe kagesi, futhi akhiqizwa noma nini lapho amandla kagesi edluliswa nge-conductor, njengentambo. Itemu elithi RF lisebenza engxenyeni enamandla kancane ye-spectrum kazibuthe kagesi engikubonisa yona esithombeni esidlule, futhi etholakala phakathi kuka-3 hertz (Hz) no-300 gigahertz (GHz).

Isivinini sokukhanya = Ubude begagasi · imvamisa

Ijubane lokukhanya (cishe u-3.000.000 m/s) alishintshi, ngakho-ke njengoba ubude begagasi besignali ye-RF bukhuphuka, imvamisa yehla ngokulinganayo futhi ngokuphambene nalokho. Isiginali ye-RF enefrikhwensi ephezulu inobude obufushane beza kanye nesiginali ye-RF yefrikhwensi ephansi inobude obude beza. Ngalesi sizathu, amasiginali aphansi angena kakhulu noma angamboza kakhulu. Isibonelo, uma une-WiFi engu-2.4 Ghz, ingafinyelela eminye futhi yeqe izithiyo kangcono uma iqhathaniswa ne-5 Ghz WiFi, nakuba eyakamuva ivumela isivinini esikhulu sokudlulisela...

I-hertz iyiyunithi yokulinganisa yemvamisa yamagagasi, futhi ihambisana nomjikelezo owodwa ngomzuzwana. Lapho imvamisa yegagasi iphakeme, iba mfushane ubude bayo begagasi. Yingakho imisebe ye-gamma ingena kakhulu, njengoba ubude begagasi buncane kakhulu, futhi imvamisa yayo iphezulu kakhulu, ngakho inamandla kakhulu.

Amagagasi kagesi asuka kulesi sifunda se-spectrum angasakazwa ngokusebenzisa ukushintshana kwamandla asuka kujeneretha aye othini. I amaza omsakazo, okungamaza kagesi, ahamba ngesivinini sokukhanya. Eziyisisekelo, isignali kagesi ehlukahlukene esothini ingakhiqiza ama-oscillations kagesi (okungukuthi, amaza e-RF). Lokhu kungaba okungahlosiwe (okungase kubangele ukuphazamiseka kwamanye amadivaysi) noma kube ngamabomu: amasiginali ahlelwe ngokucophelela amanye ama-antenna angawathola futhi ahunyushwe njengolwazi oluwusizo.

Ngaphakathi kwalolu banga lwe-RF, singakwazi ukudlulisa idatha ngesivinini esikhulu, isibonelo, njengoba kwenziwa ku Ukuxhumana kwe-Wi-Fi nomakhalekhukhwini, kanye nomsakazo wendabuko we-AM nowe-FM.

Iyini i-transceiver?

I-RF transducer

I-transceiver iyithuluzi elinjalo ihlanganisa amandla esidluliseli kanye nomamukeli kumasekethe okwabelwana ngawo. Lokhu kusho ukuthi ingathumela futhi yamukele amasiginali, ngaphandle kokudinga ukuba nesidlulisi ngakolunye uhlangothi nomamukeli ngakolunye. Okuthile okusebenzayo kumaphrojekthi amaningi e-DIY.

Ama-transceivers angaba izinhlobo ezimbili ezijwayelekile: i-duplex egcwele ne-half duplex. Ku-duplex transceiver egcwele, idivayisi ingadlulisela futhi yamukele ngesikhathi esifanayo. Isibonelo esivamile se-duplex transceiver egcwele iselula. Ngakolunye uhlangothi, i-transceiver eyi-half-duplex ithulisa iqembu elilodwa kuyilapho elinye lidlulisela.

Ama-transceivers yiwona isisekelo sokuxhumana okungenantambo futhi asetshenziswa ezinhlelweni ezihlukahlukene, kusukela kumakhalekhukhwini kuya kumasathelayithi okuxhumana, ngokusebenzisa amanye amanethiwekhi amaningi nezindlela zokudlulisa ulwazi, njengomsakazo, i-TV, njll.

Izicelo ze-transceiver

I-transceiver yefrikhwensi yomsakazo (RF) yi-a idivayisi multifunctional okungaba nenani elikhulu lokusetshenziswa. Isibonelo, njengoba ngishilo ngaphambili, ukuba khona kwayo kubalulekile ezinhlelweni ezihlukahlukene ezidinga ukuxhumana okungenantambo. Emkhakheni wezokuxhumana ngomakhalekhukhwini, ama-transceivers asetshenziswa kumakhalekhukhwini ukudlulisa nokwamukela amasignali. Ngaphezu kwalokho, abalulekile kubuchwepheshe obufana ne-WiFi ne-Bluetooth, asetshenziswa kumadivayisi afana namarutha, amakhompyutha kanye namadivayisi we-inthanethi Yezinto (IoT), ancike ekuxhumaneni okungenantambo ekusebenzeni kwawo.

Emkhakheni wochwepheshe, ama-transceivers e-RF abalulekile ezinhlelweni zokuphepha. two way radio, njengamarediyo anezindlela ezimbili asetshenziswa ezinhlelweni zokusebenza, ezokuphepha nezinkonzo eziphuthumayo. Lawa madivayisi aphinde athole uhlelo lokusebenza kumasistimu okubona, njengama-radar asetshenziselwa ukutholwa kwento, ukuzulazula nokulawulwa kwethrafikhi yomoya, kanye namasistimu e-sonar okusebenza ngaphansi kwamanzi.

La ukusakaza, Kuwo womabili umsakazo nomabonakude, kuncike kuma-transceivers e-RF ekudluliselweni kwamasiginali ngemidiya ehlukene, kungaba okwasemhlabeni noma ngesathelayithi. Ngaphezu kwalokho, esizindeni somkhathi, ama-transceiver abalulekile ekuxhumaneni phakathi kwamasathelayithi neziteshi ezingaphansi ezinhlelweni zokuxhumana ngesathelayithi.

En isilawuli kude kanye nezinhlelo zokusebenza ze-telemetry, ama-transceivers e-RF asetshenziselwa ukudlulisa idatha kusuka kumishini kagesi, ama-drones noma ezimotweni zasemoyeni ezingenamuntu (UAV). Zibalulekile futhi ezinhlelweni zokuzulazula, njengezamukeli ze-GPS, lapho zinikela khona ekunqumeni indawo nokuzulazula. Kafushane, ukusebenzisana kwezinto ezihlukahlukene kwama-transceivers e-RF kuwenza abe izingxenye ezibalulekile ezinhlobonhlobo zobuchwepheshe besimanje obuncike ekuxhumaneni okungenantambo kanye nokudluliswa kwedatha.

Ngokusobala, kukhona ezinye zalezi zinhlelo zokusebenza ezingekho ngaphansi kokufinyeleleka kwe-CC1101, njengoba inemikhawulo yayo futhi isebenza kumabanga athile wokuvama. Kodwa-ke, kufanele wazi ukuthi kunamadivayisi amaningi emakethe njengale transceiver ukuze asebenze namanye amaza, amabanga, njll.

Iyini i-CC1101?

cc1101

El CC1101 iyi-transceiver yefrikhwensi yomsakazo (RF) eyakhelwe ukusebenza kumafrikhwensi angaphansi kuka-1 GHz. Lolu cingo lungasetshenziswa ngokuhlanganyela nephrosesa efana ne-Arduino ukuthumela noma ukwamukela idatha ngefrikhwensi yomsakazo. I-CC1101 ingasebenza kunoma iyiphi imvamisa ngaphakathi kwamabhendi alandelayo:

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

Lezi zici zenza i-CC1101 ibe inketho Isebenza ngezindlela eziningi kumaphrojekthi ahlukahlukene adinga ukuxhumana okungenantambo, okuhlanganisa amaphrojekthi e-Arduino kanye ne-ESP8266/ESP321, namanye amaphrojekthi kagesi ngaphakathi kwenkundla yezokuxhumana ezikude.

Ngaphezu kwalokho, i-CC1101 Ikuvumela ukuthi ulungise isilinganiso sebhithi ukusetshenziswa okuhlukile, okuvumela isivinini sokudlulisa esiphezulu, ukusuka ku-0.6 Kbps kuya ku-600 Kbps. Futhi futhi isekela ukuguqulwa kwe-2-FSK, GFSK kanye ne-MSK3.

Uma unentshisekelo, ungayithola ezitolo ezikhethekile ze-elekthronikhi, noma nasezinkundleni zokuthengisa eziku-inthanethi ezifana ne-Amazon, Aliexpress ne-eBay. Lapha unayo thenga izincomo:

Amandla okukhiphayo nawo ayahleleka, kuwo wonke amafrikhwensi asekela kufika ku-+10 dBm. Yena ububanzi bufika ku-100-150 amamitha, kuye ngobuningi. Futhi ekusebenzeni kwayo idinga i-voltage ye-1.8 kuya ku-3.6V. Ukuxhumana kwedatha kwenziwa ngebhasi le-SPI, ngakho-ke kulula ukuyisebenzisa kanye ne-MCU noma amabhodi afana ne-Arduino...

Ukusebenzisa i-CC1101 nge-Arduino

I-Arduino IDE, izinhlobo zedatha, ukuhlela

Manje, uma usuqonda ukuthi iyini i-CC1101, uma ufuna ukuyisebenzisa nge-Arduino, kulula ukuyenza. Ukuze wenze lokhu, into yokuqala xhuma kahle idivayisi ye-RF noma imojuli ebhodini lakho lokuthuthukisa. Qaphela, njengoba i-CC1101 ingawabekezeleli ama-voltage angu-5v futhi ungayilimaza, ngakho-ke ngeke ixhume isokhethi ye-5v ye-Arduino njengoba senzile namanye amadivaysi amaningi. Ukuxhumana ukuze isebenze kahle imi kanje:

  • I-VDC: izoxhunywa ku-Arduino 3v3 ukuze ube nalesokhethi, uma ingenayo futhi une-5v kuphela, kuzodingeka uyixhume ebhethri noma emthonjeni wangaphandle onganikeza leyo voltage noma i-CC1101 izokwenza. kulimale.
  • SI: Izoxhunywa ku-Arduino SCK, engashintsha iphinikhodi kuye ngokuthi imodeli, kodwa ngokuvamile i-D13.
  • SO: Kulokhu izoxhunywa ku-GO2, okuvamise ukuba yiphinikhodi ye-D12 ye-Arduino.
  • I-CSN: kufanele ukuyise kuphinikhodi ye-GO0, eyi-D9 ye-Arduino.
  • I-GND: futhi ekugcineni, i-GND izoxhunywa ku-GND ye-Arduino noma umphakeli wakho wamandla.

Uma lokhu sekwenziwe, sekuyisikhathi sokubhala ikhodi ukuze uyihlole ku-Arduino IDE. Ukwenza lokhu, lapha ngikukhombisa isibonelo esiyisisekelo, kodwa esisodwa ongakwazi ukusishintsha ngendlela oyithandayo. Kulokhu i-CC1101 izosebenza njenge receptor Isignali ye-RF:

Qaphela ukuthi kuzomele ufake umtapo wolwazi ku-Arduino IDE yakho ukuze ukwazi ukusebenza, lowo mtapo wezincwadi ungoka-ELECHOUSE we-CC1101 lowo. ungalanda kusuka lapha.
#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();
    }
    }
}

I-CC1101 isebenza njenge umgibeli Isiginali ye-RF inekhodi efana neyangaphambili.


Yiba ngowokuqala ukuphawula

Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.