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?
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...
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-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?
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
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:
#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.