NRF24L01: Arduino के लिए वायरलेस संचार के लिए मॉड्यूल

एनआरएफ24एल01

निश्चित रूप से आपको Arduino या किसी अन्य तत्व का उपयोग करके एक DIY प्रोजेक्ट बनाने की आवश्यकता है और आपको इसका उपयोग करना होगा वायरलेस संचार। और यह किसी प्रकार के मॉड्यूल या डिवाइस के होने से होता है जो आपको IR, RF, ब्लूटूथ, WiFi आदि का उपयोग करने की अनुमति देता है। यही है, आपको यह जानने की ज़रूरतों के बारे में स्पष्ट होना चाहिए कि आपके मामले में किस प्रकार का संकेत सबसे उपयुक्त होगा।

इस मामले में हमने ए NRF24L01 पर गाइड आपके लिए। यह एक वायरलेस संचार चिप है जो आपको सिग्नल भेजने और प्राप्त करने की आवश्यकता के साथ प्रदान करेगा। इसके द्वारा हैंडल किए जाने वाले संकेतों का प्रकार RF या रेडियो फ़्रीक्वेंसी है, यानी, बड़ी तरंग दैर्ध्य की तरंगें, और इसलिए कम ऊर्जा, जो विद्युतचुंबकीय स्पेक्ट्रम में आवृत्ति में 3 हर्ट्ज और 300 Ghz के बीच होती है।

NRF24L01 क्या है?

एनआरएफ24एल01

El NRF24L01 नॉर्डिक सेमीकंडक्टर द्वारा निर्मित एक चिप है। अगर यह कोई उत्पाद नहीं मिला।, चिप कुछ सहायक तत्वों के साथ एक छोटे पीसीबी पर मुहिम शुरू करता है जिनकी आपको आवश्यकता होती है, और इसलिए एक मॉड्यूल की रचना करना। आप इसे कई तरीकों से उपयोग कर सकते हैं, जिसमें इसे एड्रिनो से जोड़ना भी शामिल है जैसा कि मैं आपको बाद में दिखाऊंगा।

NRF24L01, जैसा कि इसके नाम से घटाया जा सकता है, एक वायरलेस संचार उपकरण है जो RF या रेडियो फ्रीक्वेंसी का उपयोग करने की क्षमता के साथ करता है 2,4Ghz - 2,5 Ghz। यह मुफ्त उपयोग के लिए मुफ्त बैंड है। आप पहले से ही जानते हैं कि अन्य बैंड आरक्षित हैं और आपको भुगतान करना होगा यदि आप उन्हें सूचना प्रसारित करने के लिए उपयोग करना चाहते हैं। इसके अलावा, यह एक ट्रांसमीटर + एक रिसीवर को एकीकृत करता है।

विशेष रूप से, आवृत्ति बैंड जिसे आप उपयोग कर सकते हैं, 2.400 मेगाहर्ट्ज से 2.525 मेगाहर्ट्ज तक है, जिसके बीच चयन करने की संभावना है 125 चैनल उनके बीच 1Mhz रिक्त स्थान के साथ। हालांकि, यदि आप वाईफाई नेटवर्क, ड्रोन का उपयोग कर रहे हैं, तो इस आवृत्ति के साथ काम करने वाले 2.4Ghz आवृत्तियों का उपयोग करने की अनुशंसा नहीं की जाती है, या कोई हस्तक्षेप नहीं होगा। यही कारण है कि 2.501Mhz के बाद से उपयोग करना बेहतर होता है।

इसकी विशेषताओं के बारे में, 1.9 से 3.6v तक काम करता है, इसलिए आपके लिए यह आसान होगा कि वह Arduino Board के साथ खुद को 3.3 कनेक्शन के साथ, बैटरी का उपयोग करके, और यहां तक ​​कि उस वोल्टेज वाले बिजली की आपूर्ति के साथ भी बिजली दे सके। इसके अलावा, आप 250 Kbps, 1Mbps और 2Mbps तक की ट्रांसमिशन स्पीड को कॉन्फ़िगर कर सकते हैं।

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

इसे नियंत्रित करने के लिए आप इसका उपयोग कर सकते हैं एसपीआई बस, इसलिए Arduino के साथ इसका नियंत्रण बहुत सरल है। इसके अलावा, NRF24L01 का डेटा पिन समस्याओं के बिना 5v तक का समर्थन करता है। स्टैंड बाय में बिजली की खपत काफी कम है, इसलिए यह चिंता करने का एक तत्व नहीं होगा, और जब यह ऑपरेशन में होता है तो यह सबसे महंगा नहीं होता है, क्योंकि इसे केवल डेटा भेजने और प्राप्त करने के लिए 15mA की आवश्यकता होती है।

बाजार में आपको कई मिल जाएंगे विभिन्न मॉड्यूल जो NRF24L01 चिप को माउंट करते हैं, वे केवल उनके पास या कुछ विवरणों में सहायक तत्वों में बदल जाते हैं। उदाहरण के लिए एंटीना के प्रकार में। कुछ में लगभग 20-30 मीटर की सीमा के साथ एक ज़िगज़ैग आकार में पीसीबी पर एक एंटीना मुद्रित होता है। दूसरों को 700 मीटर से 1 किमी तक जाने के लिए एम्पलीफायर के साथ कुछ अधिक शक्तिशाली बाहरी एंटीना स्वीकार करते हैं।

हालांकि, वास्तविक गुंजाइश कुछ कारकों द्वारा सीमित है, जैसे कि सड़क के अवरोध, शोर या अन्य तत्वों या संकेतों से हस्तक्षेप, मौजूद संचरण गति, आपूर्ति वोल्टेज (उच्च वोल्टेज, अधिक दूरी), आदि। उदाहरण के लिए, यदि आप अधिकतम 2Mbps की गति से संचारित करना चाहते हैं, तो दूरी में एक महान जुर्माना होगा, जो केवल 2 या 3 मीटर अधिकतम होगा। कम गति पर आप उस दूरी पर चढ़ने में सक्षम हो सकते हैं।

ESP8266
संबंधित लेख:
ESP8266: Arduino के लिए वाईफ़ाई मॉड्यूल

इसे खरीदने से पहले आपको क्या जानना होगा?

NRF40L01 एंटीना

El NRF24L01 एक बहुत सस्ती चिप है इसका उपयोग कई परियोजनाओं में किया जा सकता है। उदाहरण के लिए, यदि आपके पास बाहरी एंटीना नहीं है, तो आप इसे € 0.65 तक खरीद सकते हैं, बाहरी एंटीना मॉडल इस से थोड़ा अधिक महंगा है, लेकिन यह अभी भी बहुत सस्ता है और आमतौर पर € 1.7 से अधिक नहीं है।

यदि आपके पास एक और उत्सर्जन या रिसेप्शन तत्व नहीं है, तो आप पहले से ही जानते हैं कि आपको दो एनआरएफ 24 एल 01 मॉड्यूल खरीदना होगा, एक का उपयोग एक तरफ और दूसरा दूसरी तरफ जहां आप संचारित करना चाहते हैं। वे दोनों की तरह कार्य करेंगे प्रेषक या रिसीवर जैसा आपको पसंद।

NRF24L01 का पिनआउट और माउंटिंग

पिनआउट NRF40L01

विधानसभा के लिए, यह काफी सरल है। NRF24L01 में 8 पिन हैं, इसलिए इसका पिनआउट बहुत आसान है यह समझने के लिए कि आप इस छवि में कैसे देख सकते हैं कि मैं आपको छोड़ देता हूं। दाईं ओर आप एक बोर्ड का पिन आरेख देख सकते हैं Arduino UNO और मॉड्यूल के प्रत्येक पिन को इससे कैसे जोड़ा जाएगा।

जैसा कि आप कटौती कर सकते हैं, प्लेट NRF24L01 GND और 3.3v पिन के उपयोग से संचालित है Arduino से। याद रखें कि 5v सिग्नल के साथ ऐसा न करें या आप मॉड्यूल को नुकसान पहुंचाएंगे।

Arduino के साथ एकीकरण

Arduino (सर्किट) के साथ 2 NRF24L01

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

l298n
संबंधित लेख:
L298N: Arduino के लिए मोटर्स को नियंत्रित करने के लिए मॉड्यूल

आप एक स्ट्रिंग, एक पूर्णांक, एक फ्लोटिंग पॉइंट डेटा आदि भेजना और प्राप्त करना चुन सकते हैं। मैं आपको अनुशंसित करता हूं Arduino प्रोग्रामिंग पर हमारा गाइड अगर आप शुरू कर रहे हैं। इसके साथ आप अपनी पहली परियोजनाएँ बना सकते हैं। और NRF24L01 के लिए एक ठोस उदाहरण के रूप में, यहां मैं आपको छोड़ देता हूं एक स्ट्रिंग के लिए आवश्यक कोड.

कोड जिसे आपको Arduino IDE में लिखना होगा और NRF24L01 से जुड़े Arduino बोर्ड को प्रोग्राम करना होगा जिसे आप असाइन करने जा रहे हैं ट्रांसमीटर:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
 
const int pinCE = 9;
const int pinCSN = 10;
RF24 radio(pinCE, pinCSN);
 
// Single radio pipe address for the 2 nodes to communicate.
const uint64_t pipe = 0xE8E8F0F0E1LL;
 
char data[16]="Aquí tu mensaje" ;
 
void setup(void)
{
   radio.begin();
   radio.openWritingPipe(pipe);
}
 
void loop(void)
{
   radio.write(data, sizeof data);
   delay(1000);
}

यहाँ कोड जिसे आपको Arduino IDE में दर्ज करना है और उस बोर्ड पर रिकॉर्ड करना है जिसे आपने समर्पित NRF24L01 से जोड़ा है रिसेप्टर:

#शामिल करें <nRF24L01.h>
#शामिल करें <RF24.h>
#शामिल करें <RF24_config.h>
# किंकर्तव्यविमू <SPI.h>

कॉन्स्ट इंट पिनसीई = 9;
कॉन्स्ट इंट पिनसीएसएन = 10;
RF24 रेडियो (pinCE, pinCSN);

// 2 नोड्स के लिए एकल रेडियो पाइप पता संचार करने के लिए।
const uint64_t पाइप = 0xE8E8F0F0E1LL;

चार डेटा [16];

शून्य सेटअप (शून्य)
{
Serial.begin (9600);
Radio.begin ();
Radio.openReadingPipe (1, पाइप);
Radio.startListening ();
}

शून्य लूप (शून्य)
{
अगर (Radio.available) ()
{
int done = Radio.read (डेटा, साइज़ोफ़ डेटा);
Serial.println (डेटा);
}
}

उस के साथ आपके पास वह सब कुछ होगा जो आपको चाहिए और आप एक के शब्द या पाठ तार भेजने की कोशिश कर सकते हैं और देख सकते हैं कि दूसरा उन्हें कैसे प्राप्त करता है। डेटा को देखने के साधन के रूप में कंसोल का उपयोग करने के लिए Arduino बोर्ड से USB से जुड़े दो कंप्यूटरों का उपयोग करें। आपके द्वारा दिए गए मॉड्यूल या आपके द्वारा दिए गए कॉन्फ़िगरेशन के अनुसार एक विवेकपूर्ण दूरी को अलग करें और आप दूसरे कंप्यूटर की स्क्रीन पर उन वर्णों को देखना शुरू कर देंगे जिन्हें आपने पहले कोड में दर्ज किया है ...


एक टिप्पणी, अपनी छोड़ो

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

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

*

*

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

  1.   स्टीफन कहा

    इसहाक को नमस्कार
    मैं arduino, रास्पबेरी या कुछ और के साथ एक परियोजना को पूरा करना चाहता हूं।
    क्या आप समझाने के लिए ईमेल संपर्क दे सकते हैं?
    एक मेरा - a01b02@abv.bg
    धन्यवाद