Arduino - वायरलेस संचार
वायरलेस ट्रांसमीटर और रिसीवर मॉड्यूल 315 मेगाहर्ट्ज पर काम करते हैं। वे आसानी से एक ब्रेडबोर्ड में फिट हो सकते हैं और एक बहुत ही सरल वायरलेस डेटा लिंक बनाने के लिए माइक्रोकंट्रोलर्स के साथ अच्छी तरह से काम कर सकते हैं। ट्रांसमीटर और रिसीवर की एक जोड़ी के साथ, मॉड्यूल केवल डेटा वन-वे से संवाद करने का काम करेगा, हालांकि, ट्रांसमीटर / रिसीवर जोड़ी के रूप में कार्य करने के लिए आपको दो जोड़े (विभिन्न आवृत्तियों के) की आवश्यकता होगी।
Note- ये मॉड्यूल अंधाधुंध हैं और उचित मात्रा में शोर प्राप्त करते हैं। ट्रांसमीटर और रिसीवर दोनों सामान्य आवृत्तियों पर काम करते हैं और आईडी नहीं रखते हैं।
रिसीवर मॉड्यूल विनिर्देशों
- उत्पाद मॉडल - एमएक्स -05 वी
- ऑपरेटिंग वोल्टेज - DC5V
- मौन वर्तमान - 4mA
- आवृत्ति प्राप्त करना - 315Mhz
- रिसीवर संवेदनशीलता - -105DB
- आकार - 30 * 14 * 7 मिमी
ट्रांसमीटर मॉड्यूल विनिर्देशों
- उत्पाद मॉडल - एमएक्स-एफएस -03 वी
- लॉन्च दूरी - 20-200 मीटर (विभिन्न वोल्टेज, विभिन्न परिणाम)
- ऑपरेटिंग वोल्टेज - 3.5-12V
- आयाम - 19 * 19 मिमी
- ऑपरेटिंग मोड - ए.एम.
- अंतरण दर - 4KB / S
- संचारण शक्ति - 10mW
- संचारण आवृत्ति - 315Mhz
- एक बाहरी एंटीना - 25 सेमी साधारण मल्टी-कोर या सिंगल-कोर लाइन
- बाएं से दाएं → दाएं - (डेटा; वी सीसी ; जीएनडी)
अवयव आवश्यक
आपको निम्नलिखित घटकों की आवश्यकता होगी -
- 2 × Arduino UNO बोर्ड
- 1 × आरएफ लिंक ट्रांसमीटर
- 1 × आरएफ लिंक रिसीवर
प्रक्रिया
सर्किट आरेख का पालन करें और नीचे दिए गए चित्र में दिखाए अनुसार कनेक्शन बनाएं।
स्केच
अपने कंप्यूटर पर Arduino IDE सॉफ्टवेयर खोलें। Arduino भाषा में कोडिंग आपके सर्किट को नियंत्रित करेगा। New पर क्लिक करके एक नया स्केच फाइल खोलें।
Note- आपको अपने Arduino लाइब्रेरी फ़ाइल में कीपैड लाइब्रेरी को शामिल करना होगा। नीचे दिए गए स्क्रीनशॉट में हाइलाइट किए गए पुस्तकालयों फ़ोल्डर में VirtualWire.lib फ़ाइल को कॉपी और पेस्ट करें।
ट्रांसमीटर के लिए Arduino कोड
//simple Tx on pin D12
#include <VirtualWire.h>
char *controller;
void setup() {
pinMode(13,OUTPUT);
vw_set_ptt_inverted(true);
vw_set_tx_pin(12);
vw_setup(4000);// speed of data transfer Kbps
}
void loop() {
controller="1" ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13,1);
delay(2000);
controller="0" ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13,0);
delay(2000);
}
नोट करने के लिए कोड
यह एक सरल कोड है। सबसे पहले, यह चरित्र '1' भेजेगा और दो सेकंड के बाद यह चरित्र '0' और इतने पर भेज देगा।
रिसीवर के लिए Arduino कोड
//simple Rx on pin D12
#include <VirtualWire.h>
void setup() {
vw_set_ptt_inverted(true); // Required for DR3100
vw_set_rx_pin(12);
vw_setup(4000); // Bits per sec
pinMode(5, OUTPUT);
vw_rx_start(); // Start the receiver PLL running
}
void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Non-blocking {
if(buf[0]=='1') {
digitalWrite(5,1);
}
if(buf[0]=='0') {
digitalWrite(5,0);
}
}
}
नोट करने के लिए कोड
Arduino बोर्ड पर पिन नंबर 5 से जुड़ी एलईडी को चालू किया जाता है जब चरित्र '1' प्राप्त होता है और वर्ण '0' प्राप्त होने पर बंद हो जाता है।