CC1101: Arduino के साथ उपयोग के लिए आरएफ ट्रांसीवर

cc1101

निश्चित रूप से कुछ परियोजनाओं में आपको अपने Arduino, या किसी अन्य विकास बोर्ड या DIY सर्किट के साथ रेडियो फ्रीक्वेंसी के साथ काम करने की आवश्यकता होती है। खैर, अगर यह आपका मामला है, तो आपको पता होना चाहिए कि क्या है CC1101 रेडियो फ्रीक्वेंसी (आरएफ) ट्रांसीवर. और यही हम आपको इस लेख में समझाने की कोशिश करेंगे।

और इसके साथ अन्य इलेक्ट्रॉनिक घटक जो हमारी सूची में शामिल होता है, आप विभिन्न सिग्नल आवृत्तियों के साथ काम कर सकते हैं...

आरएफ क्या है?

विद्युत चुम्बकीय वर्णक्रम

साथ रेडियो फ्रीक्वेंसी (आरएफ) हम विद्युत चुम्बकीय स्पेक्ट्रम के एक हिस्से की बात कर रहे हैं जिसका उपयोग हवा के माध्यम से सूचना प्रसारित करने के लिए किया जाता है। आरएफ तरंगें एक प्रकार का विद्युत चुम्बकीय विकिरण हैं, और जब भी विद्युत ऊर्जा किसी कंडक्टर, जैसे कि केबल के माध्यम से प्रसारित होती है, तब उत्पन्न होती हैं। आरएफ शब्द विद्युत चुम्बकीय स्पेक्ट्रम के सबसे कम ऊर्जावान हिस्से पर लागू होता है जो मैं आपको पिछली छवि में दिखाता हूं, और जो 3 हर्ट्ज़ (हर्ट्ज) और 300 गीगाहर्ट्ज़ (जीएचजेड) के बीच स्थित है।

प्रकाश की गति = तरंगदैर्घ्य · आवृत्ति

प्रकाश की गति (लगभग 3.000.000 मीटर/सेकेंड) कभी नहीं बदलती है, इसलिए जैसे-जैसे आरएफ सिग्नल की तरंग दैर्ध्य बढ़ती है, आवृत्ति आनुपातिक रूप से कम हो जाती है और इसके विपरीत। अपेक्षाकृत उच्च आवृत्ति वाले आरएफ सिग्नल की तरंगदैर्ध्य कम होती है और कम आवृत्ति वाले आरएफ सिग्नल की तरंगदैर्घ्य लंबी होती है। इसी कारण से, कम आवृत्ति वाले सिग्नल अधिक भेदनशील होते हैं या अधिक कवरेज को कवर कर सकते हैं। उदाहरण के लिए, यदि आपके पास 2.4 गीगाहर्ट्ज वाईफाई है, तो यह 5 गीगाहर्ट्ज वाईफाई की तुलना में अधिक दूर तक पहुंच सकता है और बाधाओं को बेहतर ढंग से पार कर सकता है, हालांकि बाद वाला उच्च ट्रांसमिशन गति की अनुमति देता है...

हर्ट्ज़ तरंगों की आवृत्ति के माप की इकाई है, और प्रति सेकंड एक चक्र से मेल खाती है। तरंग की आवृत्ति जितनी अधिक होगी, उसकी तरंगदैर्ध्य उतनी ही कम होगी। इसीलिए गामा विकिरण बहुत मर्मज्ञ होता है, क्योंकि तरंग दैर्ध्य बहुत छोटा होता है, और इसकी आवृत्ति बहुत अधिक होती है, इसलिए यह अत्यधिक ऊर्जावान होता है।

स्पेक्ट्रम के इस क्षेत्र से विद्युत चुम्बकीय तरंगों को जनरेटर से उत्पन्न होने वाली प्रत्यावर्ती धारा को एंटीना में लागू करके प्रसारित किया जा सकता है। रेडियो फ्रीक्वेंसी तरंगेंविद्युत चुम्बकीय तरंगें होने के कारण प्रकाश की गति से चलती हैं। इसके सबसे बुनियादी रूप में, एक एंटीना में एक अलग विद्युत संकेत विद्युत चुम्बकीय दोलन (यानी, आरएफ तरंगें) उत्पन्न कर सकता है। ये अनजाने में (संभावित रूप से अन्य उपकरणों के साथ हस्तक्षेप का कारण) या जानबूझकर हो सकते हैं: सावधानीपूर्वक संशोधित सिग्नल जिन्हें अन्य एंटेना प्राप्त कर सकते हैं और उपयोगी जानकारी के रूप में व्याख्या की जा सकती है।

इस आरएफ रेंज के भीतर, हम उच्च गति पर डेटा संचारित कर सकते हैं, उदाहरण के लिए, जैसा कि इसमें किया गया है वाई-फ़ाई संचार और सेल फ़ोन, साथ ही पारंपरिक AM और FM रेडियो।

ट्रांसीवर क्या है?

आरएफ ट्रांसड्यूसर

ट्रांसीवर एक उपकरण है जो एक ट्रांसमीटर और एक रिसीवर की क्षमताओं को जोड़ती है साझा सर्किट पर. इसका मतलब यह है कि यह एक ओर ट्रांसमीटर और दूसरी ओर रिसीवर की आवश्यकता के बिना सिग्नल भेज और प्राप्त कर सकता है। कई DIY परियोजनाओं के लिए कुछ काफी व्यावहारिक।

ट्रांसीवर हो सकते हैं दो सामान्य प्रकार: पूर्ण डुप्लेक्स और आधा डुप्लेक्स। पूर्ण डुप्लेक्स ट्रांसीवर में, डिवाइस एक ही समय में संचारित और प्राप्त कर सकता है। पूर्ण डुप्लेक्स ट्रांसीवर का एक सामान्य उदाहरण एक मोबाइल फोन है। दूसरी ओर, एक आधा-डुप्लेक्स ट्रांसीवर एक पक्ष को म्यूट करता है जबकि दूसरा संचारित करता है।

ट्रांसीवर हैं बेतार संचार की आधारशिला और इसका उपयोग विभिन्न प्रकार के अनुप्रयोगों में किया जाता है, मोबाइल फोन से लेकर संचार उपग्रहों तक, कई अन्य नेटवर्क और सूचना प्रसारित करने के तरीकों, जैसे रेडियो, टीवी, आदि के माध्यम से।

एक ट्रांसीवर के अनुप्रयोग

एक रेडियो फ्रीक्वेंसी (आरएफ) ट्रांसीवर एक है बहुक्रियाशील उपकरण जिसके बड़ी संख्या में उपयोग हो सकते हैं. उदाहरण के लिए, जैसा कि मैंने पहले कहा, वायरलेस संचार की आवश्यकता वाले विभिन्न अनुप्रयोगों में इसकी उपस्थिति आवश्यक है। मोबाइल दूरसंचार के क्षेत्र में, सिग्नल के प्रसारण और स्वागत के लिए मोबाइल फोन में ट्रांसीवर का उपयोग किया जाता है। इसके अलावा, वे वाईफाई और ब्लूटूथ जैसी प्रौद्योगिकियों में आवश्यक हैं, जो राउटर, कंप्यूटर और इंटरनेट ऑफ थिंग्स (आईओटी) उपकरणों जैसे उपकरणों में तैनात हैं, जो अपने संचालन के लिए वायरलेस संचार पर निर्भर हैं।

पेशेवर क्षेत्र में, सुरक्षा प्रणालियों में आरएफ ट्रांसीवर आवश्यक हैं। दो तरफा रेडियो, जैसे कि व्यावसायिक अनुप्रयोगों, सुरक्षा और आपातकालीन सेवाओं में उपयोग किए जाने वाले दो-तरफ़ा रेडियो। इन उपकरणों का उपयोग डिटेक्शन सिस्टम में भी किया जाता है, जैसे कि वस्तु का पता लगाने, नेविगेशन और हवाई यातायात नियंत्रण के लिए उपयोग किए जाने वाले रडार, साथ ही पानी के नीचे के अनुप्रयोगों के लिए सोनार सिस्टम में भी।

La प्रसारण, रेडियो और टेलीविजन दोनों के लिए, यह विभिन्न मीडिया, चाहे स्थलीय हो या उपग्रह, के माध्यम से संकेतों के प्रसारण के लिए आरएफ ट्रांसीवर पर निर्भर करता है। इसके अलावा, अंतरिक्ष क्षेत्र में, उपग्रह संचार प्रणालियों में उपग्रहों और ग्राउंड स्टेशनों के बीच संचार के लिए ट्रांसीवर महत्वपूर्ण हैं।

En रिमोट कंट्रोल और टेलीमेट्री अनुप्रयोगआरएफ ट्रांसीवर का उपयोग इलेक्ट्रॉनिक उपकरणों, ड्रोन या मानव रहित हवाई वाहनों (यूएवी) से डेटा ट्रांसमिशन के लिए किया जाता है। वे जीपीएस रिसीवर जैसे नेविगेशन सिस्टम में भी आवश्यक हैं, जहां वे स्थान निर्धारण और नेविगेशन में योगदान करते हैं। संक्षेप में, आरएफ ट्रांसीवर की बहुमुखी प्रतिभा उन्हें विभिन्न आधुनिक प्रौद्योगिकियों में आवश्यक घटक बनाती है जो वायरलेस संचार और डेटा ट्रांसमिशन पर निर्भर करती हैं।

जाहिर है, इनमें से कुछ एप्लिकेशन ऐसे हैं जो CC1101 की पहुंच के भीतर नहीं हैं, क्योंकि इसकी अपनी सीमाएं हैं और यह कुछ निश्चित आवृत्ति रेंज में काम करता है। हालाँकि, आपको पता होना चाहिए कि बाजार में अन्य आवृत्तियों, दूरियों आदि के साथ काम करने के लिए इस ट्रांसीवर जैसे और भी उपकरण मौजूद हैं।

CC1101 क्या है?

cc1101

El CC1101 एक रेडियो फ़्रीक्वेंसी (RF) ट्रांसीवर है जिसे 1 GHz से नीचे की फ़्रीक्वेंसी पर संचालित करने के लिए डिज़ाइन किया गया है। इस डिवाइस का उपयोग रेडियो फ़्रीक्वेंसी के माध्यम से डेटा भेजने या प्राप्त करने के लिए Arduino जैसे प्रोसेसर के साथ संयोजन में किया जा सकता है। CC1101 निम्नलिखित बैंड के भीतर किसी भी आवृत्ति पर काम कर सकता है:

  • २४०७ और २४७५ मेगाहर्ट्ज
  • २४०७ और २४७५ मेगाहर्ट्ज
  • २४०७ और २४७५ मेगाहर्ट्ज

ये विशेषताएँ CC1101 को एक विकल्प बनाती हैं वायरलेस संचार की आवश्यकता वाली विभिन्न परियोजनाओं के लिए बहुमुखी, जिसमें Arduino और ESP8266/ESP321 परियोजनाएं, और दूरस्थ संचार के क्षेत्र में अन्य इलेक्ट्रॉनिक्स परियोजनाएं शामिल हैं।

इसके अतिरिक्त, CC1101 आपको बिट दर को समायोजित करने की अनुमति देता है विभिन्न उपयोगों के लिए, 0.6 केबीपीएस से 600 केबीपीएस तक उच्च ट्रांसमिशन गति की अनुमति देता है। और यह 2-एफएसके, जीएफएसके और एमएसके3 मॉड्यूलेशन का भी समर्थन करता है।

यदि आप रुचि रखते हैं, तो आप इसे विशेष इलेक्ट्रॉनिक्स स्टोर, या अमेज़ॅन, एलीएक्सप्रेस और ईबे जैसे ऑनलाइन बिक्री प्लेटफार्मों पर भी पा सकते हैं। यहाँ आपके पास एक है सिफारिश खरीदें:

+10 डीबीएम तक समर्थित सभी आवृत्तियों के लिए आउटपुट पावर भी प्रोग्राम करने योग्य है। वह रेंज 100-150 मीटर तक है, आवृत्ति पर निर्भर करता है। और इसके संचालन के लिए 1.8 से 3.6V के वोल्टेज की आवश्यकता होती है। डेटा संचार SPI बस के माध्यम से किया जाता है, इसलिए इसे MCU या Arduino जैसे बोर्डों के साथ उपयोग करना आसान है...

Arduino के साथ CC1101 का उपयोग करना

Arduino IDE, डेटा प्रकार, प्रोग्रामिंग

अब, एक बार जब आप समझ गए कि CC1101 क्या है, तो यदि आप इसे Arduino के साथ उपयोग करना चाहते हैं, तो यह करना आसान है। ऐसा करने के लिए सबसे पहला काम है सही ढंग से कनेक्ट करें आपके विकास बोर्ड में आरएफ उपकरण या मॉड्यूल। सावधान रहें, क्योंकि CC1101 5v वोल्टेज को सहन नहीं करता है और आप इसे नुकसान पहुंचा सकते हैं, इसलिए यह Arduino के 5v सॉकेट से कनेक्ट नहीं होगा जैसा कि हमने कई अन्य उपकरणों के साथ किया है। इसके ठीक से काम करने के लिए कनेक्शन इस प्रकार है:

  • VCC: इस सॉकेट को रखने के लिए इसे Arduino 3v3 से जोड़ा जाएगा, यदि इसमें यह नहीं है और आपके पास केवल 5v है, तो आपको इसे एक बैटरी या बाहरी स्रोत से कनेक्ट करना होगा जो उस वोल्टेज की आपूर्ति कर सकता है या CC1101 करेगा। क्षतिग्रस्त होना.
  • SI: यह Arduino SCK से जुड़ा होगा, जो मॉडल के आधार पर पिन बदल सकता है, लेकिन जो आम तौर पर D13 है।
  • SO: इस मामले में यह GO2 से जुड़ा होगा, जो आमतौर पर Arduino का D12 पिन है।
  • सीएसएन: आपको इसे GO0 पिन पर ले जाना होगा, जो Arduino का D9 है।
  • GND: और अंत में, GND को Arduino या आपकी बिजली आपूर्ति के GND से जोड़ा जाएगा।

एक बार यह हो जाने के बाद, Arduino IDE में इसका परीक्षण करने के लिए कोड लिखने का समय आ गया है। ऐसा करने के लिए, यहां मैं आपको एक बहुत ही बुनियादी उदाहरण दिखाता हूं, लेकिन जिसे आप अपनी पसंद के अनुसार संशोधित कर सकते हैं। इस स्थिति में CC1101 इस प्रकार कार्य करेगा रिसेप्टर आरएफ संकेत:

ध्यान दें कि काम करने में सक्षम होने के लिए आपको अपने Arduino IDE में एक लाइब्रेरी स्थापित करनी होगी, वह लाइब्रेरी CC1101 के लिए ELECHOUSE है आप यहां से डाउनलोड कर सकते हैं.
#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();
    }
    }
}

CC1101 के रूप में कार्य कर रहा है ट्रांसमीटर आरएफ सिग्नल में पिछले वाले के समान एक कोड होता है।


पहली टिप्पणी करने के लिए

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।