CC1101: RF transceiver yekushandisa neArduino

cc1101

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?

electromagnetic spectrum

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 ...

Iyo hertz ndiyo yuniti yekuyera yehuwandu hwemasaisai, uye inoenderana nekutenderera kumwechete pasekondi. Iyo yakakwirira kuwanda kwesaisai, ndiko kupfupika kwayo kwewavelength. Ndicho chikonzero nei gamma mwaranzi inopinda zvakanyanya, sezvo wevelength iri idiki kwazvo, uye kuwanda kwayo kwakanyanya, saka ine simba guru.

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?

RF transducer

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?

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:

Kutengesa ICQUANZX Module...
ICQUANZX Module...
Hapana wongororo

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

Arduino IDE, mhando dzedata, kuronga

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:

Ziva kuti uchafanirwa kuisa raibhurari muArduino IDE yako kuti ukwanise kushanda, raibhurari iyoyo ndiyo ELECHOUSE imwe yeCC1101 iyo. unogona kurodha pasi kubva pano.
#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.


Iva wekutanga kutaura

Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako