I-CC1101: I-RF transceiver yokusetyenziswa kunye ne-Arduino

cc1101

Ngokuqinisekileyo kwezinye iiprojekthi kufuneka usebenze ngokuphindaphindiweyo kunomathotholo ngeArduino yakho, okanye ngayo nayiphi na enye ibhodi yophuhliso okanye isekethe ye-DIY. Ewe, ukuba kunjalo, kuya kufuneka uyazi ukuba yintoni na CC1101 radio frequency (RF) transceiver. Kwaye yile nto siza kuzama ukukucacisela yona kweli nqaku.

Kwaye nale enye icandelo lombane elijoyina uluhlu lwethu, ungasebenza ngeefrikhwensi zophawu olwahlukileyo...

Yintoni iRF?

i-electromagnetic spectrum

Con Irediyo yerediyo (RF) Sibhekisa kwinxalenye ye-electromagnetic spectrum esetyenziselwa ukuhambisa ulwazi ngomoya. Amaza eRF luhlobo lwemitha yemitha yombane, kwaye iveliswa nanini na amandla ombane esasazwa nge-conductor, efana nentambo. Igama elithi RF lisebenza kowona mmandla unamandla wombane endikubonisa wona kumfanekiso ongaphambili, ophakathi kwe-3 hertz (Hz) kunye ne-300 gigahertz (GHz).

Isantya sokukhanya = Ubude beWaveleng · frequency

Isantya sokukhanya (malunga ne-3.000.000 m/s) asitshintshi, njengoko ubude bophawu lwe-RF bunyuka, amaza e-frequency ehla ngokulinganayo kwaye ngokuphambanayo. Isiginali ye-RF enefrikhwensi ephezulu ngokwentelekiso inobude obufutshane kwaye isiginali yeRF esezantsi inobude obude. Ngesi sizathu sinye, iisignali zamaza asezantsi zingena kakhulu okanye zinokugubungela ukhuselo olukhulu. Umzekelo, ukuba une-2.4 Ghz WiFi, inokufikelela ngakumbi kwaye inqumle imiqobo engcono xa ithelekiswa ne-5 Ghz WiFi, nangona le yokugqibela ivumela isantya esiphezulu sothumelo...

I-hertz yiyunithi yokulinganisa ukuphindaphinda kwamaza, kwaye ihambelana nomjikelo omnye ngesekhondi. Ukuphakama kwamaza amaza, kokukhona bufutshane ubude balo. Yiyo loo nto imitha ye-gamma ingena kakhulu, kuba ubude be-waveleng buncinci kakhulu, kwaye i-frequency yayo iphezulu kakhulu, ngoko inamandla kakhulu.

Amaza ombane ombane asuka kulo mmandla wespectrum anokudluliselwa ngokusebenzisa umsinga otshintshayo osuka kwijenereyitha ukuya kwi-eriyali. I amaza kanomathotholo, njengamaza ombane, ahamba ngesantya sokukhanya. Kweyona nto isisiseko, isignali yombane eyahluka-hlukeneyo kwi-eriyali inokuvelisa i-electromagnetic oscillations (okt, amaza eRF). Oku kunokuba kungenjongo (enokuthi ibangele ukuphazamiseka kwezinye izixhobo) okanye ngabom: imiqondiso ehlengahlengisiweyo ngononophelo enokuthi ifumaneke ezinye ii-eriyali kwaye zitolikwe njengengcaciso eluncedo.

Ngaphakathi kolu luhlu lweRF, sinokusasaza idatha ngesantya esiphezulu, umzekelo, njengoko kwenziwa kwi Unxibelelwano lwe-Wi-Fi kunye neeselfowuni, kunye nerediyo ye-AM kunye ne-FM.

Yintoni i-transceiver?

I-RF transducer

I-transceiver sisixhobo eso idibanisa izakhono ze-transmitter kunye nomamkeli kwiisekethe ekwabelwana ngazo. Oku kuthetha ukuba inokuthumela kwaye ifumane imiqondiso, ngaphandle kokufuna ukuba ne-transmitter kwelinye icala kunye nomamkeli kwelinye. Into esebenzayo kwiiprojekthi ezininzi ze-DIY.

Iitransceivers zinokuba iintlobo ezimbini jikelele: i-duplex epheleleyo kunye nesiqingatha se-duplex. Kwi-duplex transceiver epheleleyo, isixhobo sinokusasaza kwaye sifumane kwangaxeshanye. Umzekelo oqhelekileyo we-duplex transceiver epheleleyo yifowuni ephathwayo. Kwelinye icala, i-half-duplex transceiver ithulisa elinye iqela ngelixa elinye lihambisa.

Iitransceivers zezi ilitye lembombo lonxibelelwano olungenazingcingo kwaye zisetyenziswa kwiinkqubo ezahlukeneyo, ukusuka kwiifowuni eziphathwayo ukuya kwiisathelayithi zonxibelelwano, ngokusebenzisa ezinye iinethiwekhi ezininzi kunye neendlela zokusasaza ulwazi, olufana nonomathotholo, iTV, njl.

Ukusetyenziswa kwe-transceiver

I-transceiver yerediyo (RF) yi- isixhobo esinemisebenzi emininzi enokuba nenani elikhulu losetyenziso. Umzekelo, njengoko benditshilo ngaphambili, ubukho bayo bubalulekile kwizicelo ezahlukeneyo ezifuna unxibelelwano olungenazingcingo. Kwintsimi yonxibelelwano lweselula, ii-transceivers zisetyenziswa kwiifowuni eziphathwayo zokuhambisa kunye nokwamkela iimpawu. Ukongeza, zibalulekile kubuchwephesha obufana neWiFi kunye neBluetooth, ezifakwe kwizixhobo ezinjengee-routers, iikhompyuter kunye ne-Intanethi yezinto (IoT) izixhobo, ezixhomekeke kunxibelelwano olungenazingcingo ekusebenzeni kwazo.

Kwinkalo yobungcali, iitransceivers zeRF zibalulekile kwiinkqubo zokhuseleko. Irediyo yeendlela ezimbini, ezifana nerediyo ezimbini ezisetyenziswa kwizicelo zobungcali, ukhuseleko kunye neenkonzo zikaxakeka. Ezi zixhobo zikwafumana ukusetyenziswa kwiinkqubo zokubona, ezifana ne-radars ezisetyenziselwa ukukhangela into, ukuhamba kunye nokulawulwa kwe-air traffic, kunye nakwiinkqubo ze-sonar zokusetyenziswa kwamanzi.

La usasazo, Kunomathotholo nakumabonakude, kuxhomekeke kwiitransceiver zeRF ekugqithiseni iisignali kumajelo osasazo awohlukeneyo, nokuba zezasemhlabeni okanye ngesathelayithi. Ngaphaya koko, kwi-domain ye-space, ii-transceivers zibalulekile kunxibelelwano phakathi kweesathelayithi kunye nezikhululo ezisezantsi kwiinkqubo zonxibelelwano ngesathelayithi.

En ulawulo olukude kunye nezicelo zetelemetry, iitransceivers zeRF zisetyenziselwa ukuhanjiswa kwedatha ukusuka kwizixhobo zombane, iidrone okanye iinqwelomoya ezingenamntu (UAV). Zikwabalulekile kwiinkqubo zokukhangela, ezifana nabamkeli beGPS, apho banegalelo ekumiseleni indawo kunye nokuhamba. Ngamafutshane, ukuguquguquka kweetransceivers zeRF kuzenza zibe yinxalenye ebalulekileyo kwiintlobo ntlobo zetekhnoloji zale mihla ezixhomekeke kunxibelelwano lwamacingo kunye nokuhanjiswa kwedatha.

Ngokucacileyo, kukho ezinye zezi zicelo ezingekho phantsi kokufikelela kwi-CC1101, kuba inemida yayo kwaye isebenza kwiintlobo ezithile zefrikhwensi. Nangona kunjalo, kuya kufuneka wazi ukuba kukho izixhobo ezininzi kwimarike ezifana nale transceiver ukusebenza namanye amaza, imigama, njl.

Yintoni i-CC1101?

cc1101

El CC1101 sisidlulisi serediyo (RF) esilungiselelwe ukusebenza kumaza angaphantsi kwe-1 GHz Esi sixhobo sinokusetyenziswa ngokudityaniswa neprosesa efana ne-Arduino ukuthumela okanye ukufumana idata ngefrikwensi yerediyo. I-CC1101 inokusebenza kuyo nayiphi na into eyenzeka ngaphakathi kwezi bhendi zilandelayo:

  • 300 i-348 MHz
  • 387 i-464 MHz
  • 779 i-928 MHz

Ezi mpawu zenza i-CC1101 ibe yinketho Iguquguquka kwiiprojekthi ezahlukeneyo ezifuna unxibelelwano olungenazingcingo, kubandakanywa iiprojekthi ze-Arduino kunye ne-ESP8266/ESP321, kunye nezinye iiprojekthi ze-elektroniki ngaphakathi kwentsimi yonxibelelwano olukude.

Ukongeza, iCC1101 Ikuvumela ukuba unyenyise umlinganiselo webit kusetyenziso olwahlukileyo, ukuvumela isantya esiphezulu sothumelo, ukusuka ku-0.6 Kbps ukuya ku-600 Kbps. Kwaye ikwaxhasa i-2-FSK, GFSK kunye ne-MSK3 iimodyuli.

Ukuba unomdla, ungayifumana kwiivenkile ezikhethekileyo ze-elektroniki, okanye nakwiindawo ezithengiswayo kwi-intanethi njengeAmazon, Aliexpress kunye ne-eBay. Apha unenye ukuthenga iingcebiso:

Amandla emveliso nawo ayakwazi ukucwangciswa, kuzo zonke iifrikhwensi ezixhasa ukuya kuthi ga kwi +10 dBm. Yena ububanzi bufikelela kwi-100-150 yeemitha, kuxhomekeke kumaza. Kwaye ngenxa yokusebenza kwayo idinga i-voltage ye-1.8 ukuya kwi-3.6V. Unxibelelwano lwedatha lwenziwa ngebhasi yeSPI, ngoko kulula ukuyisebenzisa kunye ne-MCU okanye iibhodi ezinjengeArduino...

Ukusebenzisa i-CC1101 kunye neArduino

Arduino IDE, iintlobo zedatha, inkqubo

Ngoku, xa uqonda ukuba yintoni iCC1101, ukuba ufuna ukuyisebenzisa ngeArduino, kulula ukuyenza. Ukwenza oku, into yokuqala qhagamshela ngokuchanekileyo isixhobo seRF okanye imodyuli kwibhodi yakho yophuhliso. Qaphela, njengoko i-CC1101 inganyamezeli i-5v voltages kwaye unokuyonakalisa, ngoko ayiyi kudibanisa kwi-socket ye-5v ye-Arduino njengoko senze nezinye izixhobo ezininzi. Uqhagamshelo ukuze lusebenze ngokufanelekileyo luloluhlobo lulandelayo:

  • VDC: iya kudityaniswa kwi-Arduino 3v3 ukuze ube nale socket, ukuba ayinayo kwaye une-5v kuphela, ngoko kuya kufuneka uyidibanise kwibhetri okanye kumthombo wangaphandle onokunika loo mbane okanye i-CC1101. yonakele.
  • SI: Iya kudibaniswa ne-Arduino SCK, enokutshintsha ipini ngokuxhomekeke kumzekelo, kodwa ngokuqhelekileyo i-D13.
  • SO: Kule meko iya kudibaniswa ne-GO2, edla ngokuba yi-D12 pin ye-Arduino.
  • I-CSN: kufuneka uyise kwi-GO0 pin, eyi-D9 ye-Arduino.
  • GND: kwaye ekugqibeleni, i-GND iya kudityaniswa kwi-GND ye-Arduino okanye unikezelo lwamandla akho.

Nje ukuba kwenziwe oku, lixesha lokuba ubhale ikhowudi ukuyivavanya kwi-Arduino IDE. Ukwenza oku, apha ndikubonisa umzekelo osisiseko, kodwa onokuthi uwuguqule ngendlela othanda ngayo. Kule meko i-CC1101 iya kusebenza njenge i-receptor Umqondiso weRF:

Qaphela ukuba kuya kufuneka ufake ilayibrari kwi-Arduino IDE yakho ukuze ukwazi ukusebenza, elo thala leencwadi ngu-ELECHOUSE enye yeCC1101 leyo. ungalanda apha.
#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 umthumeli Umqondiso weRF unekhowudi efana nale yangaphambili.


Yiba ngowokuqala ukuphawula

Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.