विषयसूची:

इंटरफेस Arduino मेगा जीपीएस मॉड्यूल के साथ (नियो -6 एम): 8 कदम
इंटरफेस Arduino मेगा जीपीएस मॉड्यूल के साथ (नियो -6 एम): 8 कदम

वीडियो: इंटरफेस Arduino मेगा जीपीएस मॉड्यूल के साथ (नियो -6 एम): 8 कदम

वीडियो: इंटरफेस Arduino मेगा जीपीएस मॉड्यूल के साथ (नियो -6 एम): 8 कदम
वीडियो: First GPS Arduino Project by ChatGPT 2024, नवंबर
Anonim
GPS मॉड्यूल के साथ इंटरफ़ेस Arduino मेगा (Neo-6M)
GPS मॉड्यूल के साथ इंटरफ़ेस Arduino मेगा (Neo-6M)

इस परियोजना में, मैंने दिखाया है कि Arduino Mega के साथ GPS मॉड्यूल (Neo-6M) को कैसे इंटरफ़ेस किया जाए। TinyGPS लाइब्रेरी का उपयोग देशांतर और अक्षांश के डेटा को प्रदर्शित करने के लिए किया जाता है और TinyGPS++ का उपयोग सीरियल मॉनीटर पर अक्षांश, देशांतर, ऊंचाई, गति और उपग्रहों की संख्या को प्रदर्शित करने के लिए किया जाता है।

चरण 1: आवश्यक घटक

हार्डवेयर

  • अरुडिनो मेगा ==> $ 30
  • नियो -6 एम जीपीएस मॉड्यूल ==> $ 30

सॉफ्टवेयर

अरुडिनो आईडीई

परियोजना की कुल लागत $60. है

चरण 2: जीपीएस के बारे में जानकारी

जीपीएस क्या है

ग्लोबल पोजिशनिंग सिस्टम (जीपीएस) एक उपग्रह आधारित नेविगेशन सिस्टम है जो कम से कम 24 उपग्रहों से बना है। GPS किसी भी मौसम की स्थिति में, दुनिया में कहीं भी, 24 घंटे बिना किसी सदस्यता शुल्क या सेटअप शुल्क के काम करता है।

जीपीएस कैसे काम करता है

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

अपनी 2-डी स्थिति (अक्षांश और देशांतर) की गणना करने और गति ट्रैक करने के लिए, एक GPS रिसीवर को कम से कम 3 उपग्रहों के सिग्नल पर लॉक किया जाना चाहिए। 4 या अधिक उपग्रहों को देखते हुए, रिसीवर आपकी 3-डी स्थिति (अक्षांश, देशांतर और ऊंचाई) निर्धारित कर सकता है। आम तौर पर, एक जीपीएस रिसीवर 8 या अधिक उपग्रहों को ट्रैक करेगा, लेकिन यह दिन के समय पर निर्भर करता है और आप पृथ्वी पर कहां हैं। एक बार आपकी स्थिति निर्धारित हो जाने के बाद, GPS इकाई अन्य जानकारी की गणना कर सकती है, जैसे

  • स्पीड
  • सहन करना
  • संकरा रास्ता
  • ट्रिप जिला
  • गंतव्य से दूरी

संकेत क्या है

GPS उपग्रह कम से कम 2 कम-शक्ति वाले रेडियो सिग्नल प्रसारित करते हैं। संकेत दृष्टि की रेखा से यात्रा करते हैं, जिसका अर्थ है कि वे बादलों, कांच और प्लास्टिक से गुजरेंगे, लेकिन अधिकांश ठोस वस्तुओं, जैसे कि इमारतों और पहाड़ों से नहीं गुजरेंगे। हालांकि, आधुनिक रिसीवर अधिक संवेदनशील होते हैं और आमतौर पर घरों के माध्यम से ट्रैक कर सकते हैं। GPS सिग्नल में 3 अलग-अलग प्रकार की जानकारी होती है

छद्म यादृच्छिक कोड

यह एक आई.डी. कोड जो यह पहचानता है कि कौन सा उपग्रह सूचना प्रसारित कर रहा है। आप अपने उपकरण के उपग्रह पृष्ठ पर देख सकते हैं कि आपको किन उपग्रहों से संकेत मिल रहे हैं।

पंचांग डेटा

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

पंचांग डेटा

पंचांग डेटा जीपीएस रिसीवर को बताता है कि प्रत्येक जीपीएस उपग्रह दिन भर में किसी भी समय होना चाहिए और उस उपग्रह और सिस्टम के हर दूसरे उपग्रह के लिए कक्षीय जानकारी दिखाता है।

चरण 3: नियो -6 एम जीपीएस मॉड्यूल

NEO-6M GPS मॉड्यूल नीचे दिए गए चित्र में दिखाया गया है। यह बाहरी एंटीना के साथ आता है और हेडर पिन के साथ नहीं आता है। तो आपको इसे मिलाप करने की आवश्यकता होगी।

NEO-6M GPS मॉड्यूल का अवलोकन

NEO-6M जीपीएस चिप

मॉड्यूल का दिल यू-ब्लॉक्स से एक एनईओ -6 एम जीपीएस चिप है। यह 50 चैनलों पर 22 उपग्रहों को ट्रैक कर सकता है और उद्योग के उच्चतम स्तर की संवेदनशीलता यानी -161 डीबी ट्रैकिंग प्राप्त कर सकता है, जबकि केवल 45 एमए आपूर्ति की खपत करता है। यू-ब्लॉक्स 6 पोजीशनिंग इंजन में 1 सेकंड से कम का टाइम-टू-फर्स्ट-फिक्स (टीटीएफएफ) भी है। चिप द्वारा प्रदान की जाने वाली सर्वोत्तम सुविधाओं में से एक पावर सेव मोड (पीएसएम) है। यह रिसीवर के कुछ हिस्सों को चालू और बंद करके सिस्टम बिजली की खपत में कमी की अनुमति देता है। यह नाटकीय रूप से मॉड्यूल की बिजली खपत को केवल 11mA तक कम कर देता है जिससे यह GPS कलाई घड़ी जैसे बिजली संवेदनशील अनुप्रयोगों के लिए उपयुक्त हो जाता है। NEO-6M GPS चिप के आवश्यक डेटा पिन को 0.1″ पिच हेडर में विभाजित किया गया है। इसमें UART पर माइक्रोकंट्रोलर के साथ संचार के लिए आवश्यक पिन शामिल हैं।

नोट: - मॉड्यूल 9600 के डिफ़ॉल्ट बॉड के साथ 4800bps से 230400bps तक बॉड दर का समर्थन करता है।

स्थिति फिक्स एलईडी संकेतक

NEO-6M GPS मॉड्यूल पर एक LED है जो पोजिशन फिक्स की स्थिति को इंगित करता है। यह किस राज्य में है, इसके आधार पर यह विभिन्न दरों पर झपकाएगा

  1. नो ब्लिंकिंग ==> का अर्थ है कि यह उपग्रहों की खोज कर रहा है
  2. हर 1 सेकंड में पलक झपकाएं - मतलब पोजिशन फिक्स मिल गया

3.3V एलडीओ नियामक

NEO-6M चिप का ऑपरेटिंग वोल्टेज 2.7 से 3.6V तक है। लेकिन, यह मॉड्यूल MICREL के MIC5205 अल्ट्रा-लो ड्रॉपआउट 3V3 रेगुलेटर के साथ आता है। लॉजिक पिन भी 5-वोल्ट टॉलरेंट होते हैं, इसलिए हम इसे बिना किसी लॉजिक लेवल कन्वर्टर के आसानी से Arduino या किसी 5V लॉजिक माइक्रोकंट्रोलर से कनेक्ट कर सकते हैं।

बैटरी और EEPROM

मॉड्यूल HK24C32 टू वायर सीरियल EEPROM से लैस है। यह आकार में 4KB है और I2C के माध्यम से NEO-6M चिप से जुड़ा है। मॉड्यूल में एक रिचार्जेबल बटन बैटरी भी होती है जो सुपर-कैपेसिटर के रूप में कार्य करती है।

बैटरी के साथ एक EEPROM बैटरी समर्थित RAM (BBR) को बनाए रखने में मदद करता है। बीबीआर में घड़ी डेटा, नवीनतम स्थिति डेटा (जीएनएसएस कक्षा डेटा) और मॉड्यूल कॉन्फ़िगरेशन शामिल है। लेकिन यह स्थायी डेटा संग्रहण के लिए नहीं है।

चूंकि बैटरी घड़ी और अंतिम स्थिति को बरकरार रखती है, इसलिए पहले ठीक करने का समय (TTFF) काफी कम होकर 1s हो जाता है। यह बहुत तेज स्थिति ताले की अनुमति देता है।

बैटरी के बिना GPS हमेशा कोल्ड-स्टार्ट होता है इसलिए प्रारंभिक GPS लॉक में अधिक समय लगता है। पावर लागू होने पर बैटरी स्वचालित रूप से चार्ज हो जाती है और बिना पावर के दो सप्ताह तक डेटा बनाए रखती है।

बाहर पिन

GND ग्राउंड पिन है और इसे Arduino पर GND पिन से कनेक्ट करने की आवश्यकता है।

सीरियल संचार के लिए TxD (ट्रांसमीटर) पिन का उपयोग किया जाता है।

सीरियल संचार के लिए RxD (रिसीवर) पिन का उपयोग किया जाता है।

वीसीसी मॉड्यूल के लिए बिजली की आपूर्ति करता है। आप इसे सीधे Arduino पर 5V पिन से जोड़ सकते हैं।

चरण 4: अरुडिनो मेगा

Arduino एक ओपन-सोर्स इलेक्ट्रॉनिक्स प्लेटफॉर्म है जो उपयोग में आसान हार्डवेयर और सॉफ्टवेयर पर आधारित है। Arduino बोर्ड इनपुट पढ़ने में सक्षम हैं - एक सेंसर पर प्रकाश, एक बटन पर एक उंगली, या एक ट्विटर संदेश - और इसे एक आउटपुट में बदल दें - एक मोटर को सक्रिय करना, एक एलईडी चालू करना, कुछ ऑनलाइन प्रकाशित करना। आप बोर्ड पर माइक्रोकंट्रोलर को निर्देशों का एक सेट भेजकर अपने बोर्ड को बता सकते हैं कि क्या करना है। ऐसा करने के लिए आप प्रसंस्करण पर आधारित Arduino प्रोग्रामिंग भाषा (वायरिंग पर आधारित), और Arduino सॉफ़्टवेयर (IDE) का उपयोग करते हैं।

अरुडिनो मेगा

Arduino Mega 2560 Atmega2560 पर आधारित एक माइक्रोकंट्रोलर बोर्ड है।

  • बोर्ड पर ५४ डिजिटल आई/ओ पिन और १६ एनालॉग पिन शामिल हैं जो इस डिवाइस को अद्वितीय बनाते हैं और दूसरों से अलग हैं। ५४ डिजिटल आई/ओ में से १५ पीडब्लूएम (पल्स चौड़ाई मॉडुलन) के लिए उपयोग किए जाते हैं।
  • बोर्ड पर 16 मेगाहर्ट्ज आवृत्ति का एक क्रिस्टल थरथरानवाला जोड़ा जाता है।
  • बोर्ड यूएसबी केबल पोर्ट के साथ आता है जिसका उपयोग कंप्यूटर से बोर्ड में कोड को जोड़ने और स्थानांतरित करने के लिए किया जाता है।
  • डीसी पावर जैक को बोर्ड के साथ जोड़ा जाता है जिसका उपयोग बोर्ड को पावर देने के लिए किया जाता है।
  • बोर्ड दो वोल्टेज नियामक यानी 5V और 3.3V के साथ आता है जो आवश्यकता के अनुसार वोल्टेज को विनियमित करने के लिए लचीलापन प्रदान करता है।
  • एक रीसेट बटन और 4 हार्डवेयर सीरियल पोर्ट है जिसे USART कहा जाता है जो संचार स्थापित करने के लिए अधिकतम गति उत्पन्न करता है।
  • बोर्ड को सत्ता में लाने के तीन तरीके हैं। आप या तो बोर्ड को पावर देने और बोर्ड को कोड ट्रांसफर करने के लिए यूएसबी केबल का उपयोग कर सकते हैं या आप बोर्ड के विन का उपयोग करके या पावर जैक या बैटर के माध्यम से इसे पावर कर सकते हैं।

विशेष विवरण

बाहर पिन

पिन विवरण

  • 5V और 3.3V ==> इस पिन का उपयोग 5V के आसपास आउटपुट विनियमित वोल्टेज प्रदान करने के लिए किया जाता है। यह विनियमित बिजली आपूर्ति बोर्ड पर नियंत्रक और अन्य घटकों को शक्ति प्रदान करता है। इसे बोर्ड के विन या यूएसबी केबल या अन्य विनियमित 5 वी वोल्टेज आपूर्ति से प्राप्त किया जा सकता है। जबकि एक और वोल्टेज रेगुलेशन 3.3V पिन द्वारा प्रदान किया जाता है। अधिकतम शक्ति जो वह खींच सकता है वह 50mA है।
  • GND ==> बोर्ड पर 5 ग्राउंड पिन उपलब्ध हैं जो प्रोजेक्ट के लिए एक से अधिक ग्राउंड पिन की आवश्यकता होने पर इसे उपयोगी बनाते हैं।
  • रीसेट ==> इस पिन का उपयोग बोर्ड को रीसेट करने के लिए किया जाता है। इस पिन को LOW पर सेट करने से बोर्ड रीसेट हो जाएगा।
  • विन ==> यह बोर्ड को आपूर्ति की जाने वाली इनपुट वोल्टेज है जो 7V से 20V तक होती है। पावर जैक द्वारा प्रदान किए गए वोल्टेज को इस पिन के माध्यम से एक्सेस किया जा सकता है। हालाँकि, इस पिन के माध्यम से बोर्ड को आउटपुट वोल्टेज स्वचालित रूप से 5V तक सेट हो जाएगा।
  • सीरियल कम्युनिकेशन ==> RXD और TXD सीरियल डेटा को प्रसारित करने और प्राप्त करने के लिए उपयोग किए जाने वाले सीरियल पिन हैं यानी Rx डेटा के प्रसारण का प्रतिनिधित्व करता है जबकि Tx डेटा प्राप्त करने के लिए उपयोग किया जाता है। इन सीरियल पिन के चार संयोजनों का उपयोग किया जाता है जहां सेरेल 0 में RX(0) और TX(1), सीरियल 1 में TX(18) और RX(19), सीरियल 2 में TX(16) और RX(17) शामिल हैं। और सीरियल 3 में TX(14) और RX(15) शामिल हैं।
  • बाहरी व्यवधान ==> छह पिनों का उपयोग बाह्य व्यवधान उत्पन्न करने के लिए किया जाता है अर्थात व्यवधान 0(0), व्यवधान 1(3), व्यवधान 2(21), व्यवधान 3(20), व्यवधान 4(19), व्यवधान 5(18)। ये पिन कई तरीकों से इंटरप्ट उत्पन्न करते हैं यानी कम मूल्य प्रदान करना, बढ़ते या गिरते किनारे या इंटरप्ट पिन को मूल्य बदलना।
  • LED ==> यह बोर्ड बिल्ट-इन LED के साथ आता है जो डिजिटल पिन से जुड़ा है 13. इस पिन पर उच्च मान LED को चालू कर देगा और LOW मान इसे बंद कर देगा।
  • AREF ==> AREF का मतलब एनालॉग संदर्भ वोल्टेज है जो एनालॉग इनपुट के लिए एक संदर्भ वोल्टेज है।
  • एनालॉग पिन ==> ए0 से ए15 के रूप में लेबल किए गए बोर्ड पर 16 एनालॉग पिन शामिल हैं। यह ध्यान रखना महत्वपूर्ण है कि इन सभी एनालॉग पिनों को डिजिटल I/O पिन के रूप में उपयोग किया जा सकता है। प्रत्येक एनालॉग पिन 10-बिट रिज़ॉल्यूशन के साथ आता है। ये पिन जमीन से 5V तक माप सकते हैं। हालांकि, एआरईएफ और एनालॉग रेफरेंस () फ़ंक्शन का उपयोग करके ऊपरी मान को बदला जा सकता है।
  • I2C ==> दो पिन 20 और 21 I2C संचार का समर्थन करते हैं जहां 20 एसडीए (सीरियल डेटा लाइन मुख्य रूप से डेटा रखने के लिए उपयोग किया जाता है) का प्रतिनिधित्व करता है और 21 एससीएल का प्रतिनिधित्व करता है (सीरियल क्लॉक लाइन मुख्य रूप से उपकरणों के बीच डेटा सिंक्रनाइज़ेशन प्रदान करने के लिए उपयोग की जाती है)
  • SPI संचार ==> SPI का अर्थ सीरियल पेरिफेरल इंटरफ़ेस है जिसका उपयोग नियंत्रक और अन्य बाह्य उपकरणों के बीच डेटा के प्रसारण के लिए किया जाता है। SPI संचार के लिए चार पिन यानी 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) का उपयोग किया जाता है।

चरण 5: Arduino IDE

यहाँ मैं मान रहा हूँ कि आपने पहले ही Arduino IDE स्थापित कर लिया है।

1. नीचे दिए गए आवश्यक पुस्तकालय को डाउनलोड करें

टाइनीजीपीएस लिब

2. इसे डाउनलोड करने के बाद। इसे निकालें और इसे फ़ोल्डर में ले जाएं C:\Users\…\Documents\Arduino\libraries सुनिश्चित करें कि कोई (-) नहीं है।

3. Arduino IDE खोलें और प्रोग्राम सेक्शन से कोड कॉपी करें।

4. फिर उसके लिए बोर्ड का चयन करें टूल्स पर जाएं ==> बोर्ड ==> बोर्ड का चयन करें यहां हम Arduino मेगा 2560 का उपयोग कर रहे हैं

5. उसके लिए बोर्ड सेलेक्ट पोर्ट का चयन करने के बाद टूल्स ==> पोर्ट्स पर जाएं

६. बोर्ड और पोर्ट का चयन करने के बाद अपलोड पर क्लिक करें।

7. एक बार कोड अपलोड हो जाने पर आउटपुट देखने के लिए सीरियल टर्मिनल खोलें।

चरण 6: कनेक्शन

Arduino MEGA ==> NEO-6M GPS

  • 3.3V ==> वीसीसी
  • जीएनडी ==> जीएनडी
  • टीएक्स1 (18) ==> आरएक्स
  • आरएक्स (19) ==> टीएक्स

आप Serial1 के बजाय Serial2 या Serial3 का भी उपयोग कर सकते हैं

सिफारिश की: