Chokwadi mune mamwe mapurojekiti iwe unofanirwa kushanda neredhiyo frequency neArduino yako, kana nechero imwe bhodhi rekusimudzira kana DIY redunhu. Zvakanaka, kana iri nyaya yako, iwe unofanirwa kuziva kuti chii CC1101 radio frequency (RF) transceiver. Uye ndizvo zvatichaedza kukutsanangurirai munyaya ino.
Uye neimwe iyi chikamu chemagetsi chinojoinha runyorwa rwedu, unogona kushanda nemasaini akasiyana-siyana…
Chii chinonzi RF?
Con radio frequency (RF) Tiri kureva chikamu chemagetsi emagetsi chinoshandiswa kufambisa ruzivo kuburikidza nemhepo. Mafungu eRF imhando yemagetsi emagetsi, uye anogadzirwa pese panofambiswa simba remagetsi kuburikidza nekondukita, senge tambo. Izwi rekuti RF rinoshanda kune chikamu chishoma chine simba chemagetsi emagetsi chandinokuratidza mumufananidzo wapfuura, uye chiri pakati pe3 hertz (Hz) uye 300 gigahertz (GHz).
Kumhanya kwechiedza = Wavelength · frequency
Iko kumhanya kwechiedza (ingangoita 3.000.000 m / s) haimbochinji, saka sezvo wavelength yechiratidzo cheRF ichiwedzera, frequency inodzikira zvakaenzanirana uye zvichipesana. Iyo yakakwira frequency RF siginecha ine ipfupi wavelength uye yakaderera frequency RF siginecha ine kureba wavelength. Nechikonzero chimwe chete ichi, yakaderera frequency masaini ari kupinda zvakanyanya kana anogona kuvhara kuvharika kukuru. Semuenzaniso, kana iwe uine 2.4 Ghz WiFi, inogona kusvika mberi uye kuyambuka zvipingamupinyi zvirinani zvichienzaniswa ne5 Ghz WiFi, kunyangwe iyo yekupedzisira ichibvumira kukurumidza kutapurirana ...
Electromagnetic waves kubva mudunhu rino respectrum rinogona kutapurirana nekushandisa alternating ikozvino kubva kune jenareta kuenda kune antenna. The masaisai eredhiyo, ari mafungu emagetsi, anofamba nekumhanya kwechiedza. Pakunyanya kwayo, chiratidzo chemagetsi chakasiyana muantenna chinogona kuburitsa magetsi emagetsi oscillations (kureva, mafungu eRF). Izvi zvinogona kunge zvisiri zvemaune (zvichigona kukonzera kukanganisa nemimwe michina) kana nemaune: masaini akanyatsogadziridzwa anogona kugashirwa nemamwe ma antenna uye kududzirwa seruzivo runobatsira.
Mukati meiyi RF renji, tinogona kufambisa data nekumhanya kwakanyanya, semuenzaniso, sezvakaitwa mukati Wi-Fi kutaurirana uye nharembozha, pamwe neyechinyakare AM uye FM radio.
Chii chinonzi transceiver?
Transceiver mudziyo uyo inosanganisa kugona kweiyo transmitter uye inogamuchira pamatunhu akagoverwa. Izvi zvinoreva kuti inogona kutumira uye kugashira masaini, isingade kuve neinotumira kune rimwe ruoko uye inogamuchira kune rimwe. Chimwe chinhu chinoshanda kune akawanda DIY mapurojekiti.
Ma transceivers anogona kuva marudzi maviri akazara: duplex yakazara uye hafu duplex. Mune yakazara duplex transceiver, mudziyo unogona kutumira uye kugamuchira panguva imwe chete. Muenzaniso wakajairika weiyo yakazara duplex transceiver inhare mbozha. Kune rimwe divi, hafu-duplex transceiver inonyevenutsa rimwe bato nepo imwe ichitumira.
Matransceivers ndiwo ibwe repakona rekutaurirana pasina waya uye anoshandiswa mumhando dzakasiyana siyana dzekushandisa, kubva kunharembozha kuenda kumasatellite ekutaurirana, kuburikidza nemamwe akawanda network uye nzira dzekufambisa ruzivo, seredhiyo, TV, nezvimwe.
Zvishandiso zvetransceiver
Redhiyo frequency (RF) transceiver ndeye multifunctional device iyo inogona kuva nehuwandu hwekushandisa. Semuyenzaniso, sezvandambotaura, kuvapo kwayo kwakakosha mumashandisirwo akasiyana siyana anoda kutaurirana pasina waya. Mumunda wekufambiswa kwemafoni, ma transceivers anoshandiswa mumafoni ekufambisa uye kugamuchira zviratidzo. Uye zvakare, iwo akakosha mune matekinoroji akadai seWiFi neBluetooth, akaiswa mumidziyo yakadai semarouta, makomputa uye Internet yezvinhu (IoT) zvishandiso, zvinoenderana nekutaurirana kusina waya pakushanda kwavo.
Mundima yehunyanzvi, maRF transceivers akakosha mukuchengetedza masisitimu. two way radio, senge maviri-nzira maredhiyo anoshandiswa muhunyanzvi maapplication, chengetedzo uye masevhisi ekukurumidzira. Midziyo iyi zvakare inowana maapplication mumasisitimu ekuona, senge radars anoshandiswa kuona chinhu, kufamba uye kutonga kwemhepo, pamwe neiyo sonar masisitimu ekushandisa pasi pemvura.
La kutepfenyura, Zveredhiyo neterevhizheni, zvinoenderana neRF transceivers pakufambiswa kwemasaini kuburikidza nenhau dzakasiyana, ingave yepasi kana setiraiti. Uyezve, munzvimbo yemuchadenga, matransceivers akakosha pakukurukurirana pakati pemasetellite uye zviteshi zvepasi mumasevhisi ekutaurirana masisitimu.
En remote control uye telemetry application, RF transceivers inoshandiswa pakufambisa data kubva kumagetsi emagetsi, drones kana unmanned aerial vehicles (UAV). Izvo zvakakoshawo mumafambisirwo emafambisirwo, seanogamuchira GPS, kwaanobatsira pakutsunga kwenzvimbo uye kufamba. Muchidimbu, kuchinjika kweRF transceivers kunoita kuti zvive zvakakosha mumhando dzakasiyana dzemazuva ano tekinoroji dzinotsamira pakutaurirana pasina waya uye kutapurirana data.
Zviripachena, kune mamwe eaya maapplication asiri mukati mekusvika kweCC1101, sezvo iine painogumira uye inoshanda mune mamwe ma frequency renji. Nekudaro, iwe unofanirwa kuziva kuti pane zvimwe zvishandiso pamusika senge iyi transceiver yekushanda nemamwe ma frequency, madaro, nezvimwe.
Chii chinonzi CC1101?
El CC1101 iredhiyo frequency (RF) transceiver yakagadzirirwa kushanda pamafrequency ari pasi pe 1 GHz.Mudziyo uyu unogona kushandiswa pamwe chete nepurosesa yakaita seArduino kutumira kana kugamuchira data neredhiyo frequency. Iyo CC1101 inogona kushanda chero frequency mukati meanotevera mabhendi:
- 300 kusvika 348 MHz
- 387 kusvika 464 MHz
- 779 kusvika 928 MHz
Aya maficha anoita iyo CC1101 sarudzo Yakasiyana-siyana kune akasiyana mapurojekiti anoda kutaurirana pasina waya, kusanganisira Arduino uye ESP8266/ESP321 mapurojekiti, uye mamwe mapurojekiti emagetsi mukati memunda wekutaurirana kure.
Uyezve, iyo CC1101 Inokutendera iwe kugadzirisa iyo bit rate zvekushandisa kwakasiyana, zvichibvumira kumhanya kwekufambisa kwepamusoro, kubva pa0.6 Kbps kusvika 600 Kbps. Uye inotsigirawo 2-FSK, GFSK uye MSK3 modulations.
Kana iwe uchifarira, unogona kuzviwana muzvitoro zvemagetsi zvehunyanzvi, kana zvakare pamapuratifomu ekutengesa epamhepo akadai seAmazon, Aliexpress uye eBay. Pano une imwe tenga kurudziro:
Simba rinobuda rinogoneka zvakare, kune ese ma frequency anotsigira kusvika +10 dBm. Iye kureba kunosvika 100-150 metres, zvichienderana nehuwandu. Uye nokuda kwekushanda kwayo inoda voltage ye 1.8 kusvika 3.6V. Kutaurirana kwedata kunoitwa kuburikidza nebhazi reSPI, saka zviri nyore kuishandisa pamwe chete neMCU kana mabhodhi akadai seArduino...
Kushandisa iyo CC1101 neArduino
Zvino, kana wanzwisisa kuti CC1101 chii, kana iwe uchida kuishandisa neArduino, zviri nyore kuita. Kuti uite izvi, chinhu chekutanga batanidza nemazvo iyo RF mudziyo kana module kune yako yekuvandudza bhodhi. Ngwarira, sezvo CC1101 isingashiviriri 5v voltages uye unogona kuikuvadza, saka haizobatana neArduino's 5v socket sezvatakaita nemimwe michina yakawanda. Kubatana kuti ishande nemazvo ndeiyi inotevera:
- VDC: ichave yakabatana neArduino 3v3 kuitira kuti ive nechigadziko ichi, kana isina uye iwe une 5v chete, iwe uchafanirwa kuibatanidza nebhateri kana kunze kwekunze kunogona kupa iyo voltage kana CC1101 ichaita. kukuvadzwa.
- SI: Ichabatanidzwa neArduino SCK, iyo inogona kuchinja pini zvichienderana nemuenzaniso, asi iyo inowanzoitwa D13.
- SO: Muchiitiko ichi ichabatanidzwa neGO2, inowanzova D12 pini yeArduino.
- CSN: iwe unofanirwa kuenda nayo kuGO0 pini, inova D9 yeArduino.
- GND: uye pakupedzisira, GND ichave yakabatana neGND yeArduino kana magetsi ako.
Kana izvi zvangoitwa, yave nguva yekunyora kodhi kuti uiedze muArduino IDE. Kuti uite izvi, pano ini ndinokuratidza muenzaniso wakanyanya, asi iwo waunogona kushandura sezvaunoda. Muchiitiko ichi CC1101 ichange ichishanda se receptor RF chiratidzo:
#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(); } } }
Iyo CC1101 inoshanda se wokutepfenyurisa RF chiratidzo chine kodhi yakafanana neyakapfuura.