विषयसूची:

लाइटवेट अरुडिनो जीएसएम मोबाइल फोन: 7 कदम (चित्रों के साथ)
लाइटवेट अरुडिनो जीएसएम मोबाइल फोन: 7 कदम (चित्रों के साथ)

वीडियो: लाइटवेट अरुडिनो जीएसएम मोबाइल फोन: 7 कदम (चित्रों के साथ)

वीडियो: लाइटवेट अरुडिनो जीएसएम मोबाइल फोन: 7 कदम (चित्रों के साथ)
वीडियो: Raspberry Pi: Home Automation Using WiFi ESP8266 2024, नवंबर
Anonim
Image
Image
आवश्यक भाग
आवश्यक भाग

नमस्कार दोस्तों, इस निर्देश में मैं आपको अपने लाइटवेट Arduino GSM मोबाइल फोन से परिचित कराऊंगा। लाइटवेट मोबाइल निम्नलिखित राष्ट्रीय/अंतर्राष्ट्रीय सुविधाओं में सक्षम है:

  1. कॉल करें।
  2. कॉल प्राप्त करें।
  3. संदेश भेजो।
  4. एसएमएस प्राप्त करें।

इस प्रोजेक्ट में, मैंने मोबाइल नेटवर्क से कनेक्ट करने के लिए GSM SIM900A मॉड्यूल का उपयोग किया। यह एक प्यारा ऑल-इन-वन सेलुलर मॉड्यूल है जो आपको अपनी परियोजनाओं में आवाज, एसएमएस और डेटा जोड़ने की सुविधा देता है। यह 900/1800 मेगाहर्ट्ज आवृत्तियों पर काम करता है और अनुकूल आरएस232 के साथ आता है जिसे आसानी से किसी भी एमसीयू के साथ जोड़ा जा सकता है, बॉड दर एटी कमांड के माध्यम से 9600 - 115200 से समायोज्य है।

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

अपने आप में, GSM मॉड्यूल और नेक्स्टियन टच डिस्प्ले कुछ नहीं कर सकते। इसे चलाने के लिए एक माइक्रोकंट्रोलर की आवश्यकता होती है। हल्के जीएसएम मोबाइल फोन को चलाने के लिए दिल में एक Arduino Uno है, जो अपने RX/TX पिन पर कमांड भेज और प्राप्त कर सकता है।

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

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

चरण 1: भाग आवश्यक:

यहाँ इस उदाहरण के लिए आवश्यक भाग हैं।

  1. अरुडिनो यूनो।
  2. SIM900A जीएसएम मॉड्यूल।
  3. नेक्स्टियन टीएफटी इंटेलिजेंट एलसीडी टच डिस्प्ले।
  4. सिम कार्ड।
  5. तारों को जोड़ना।

कुछ वैकल्पिक सामान भी हैं।

  1. बाहरी माइक और स्पीकर।
  2. लेखनी.

चरण 2: वायरिंग:

तारों
तारों

नीचे दिए गए उचित चरणों का पालन करके GSM मॉड्यूल और नेक्स्टियन डिस्प्ले को अपने Arduino से कनेक्ट करें।

  • नेक्स्टियन +5V से Arduino VDD_5v.
  • नेक्स्टियन RX से Arduino pin_11.
  • नेक्स्टियन Tx से Arduino pin_10.
  • नेक्स्टियन GND से Arduino GND_0v.
  • GSM Rx से Arduino pin_1.
  • जीएसएम TX से Arduino pin_0.
  • जीएसएम जीएनडी से अरुडिनो जीएनडी_0वी.

नोट: यदि आपका सिम कार्ड पिन कोड से लॉक है। आप या तो पिन को अक्षम कर सकते हैं या नेटवर्क कनेक्ट करने से ठीक पहले 'एटी + सीपीआईएन' कमांड के माध्यम से पिन दर्ज कर सकते हैं। उदाहरण: "एटी + सीपीआईएन = 1234"।

चरण 3: सेटअप:

सेट अप
सेट अप
सेट अप
सेट अप
सेट अप
सेट अप

इसके बाद, मैं आपको दिखाऊंगा कि कैसे Arduino स्केच को भूले बिना नेक्स्टियन डिस्प्ले के लिए. HMI (ह्यूमन मशीन इंटरफेस) तैयार किया जाए।

उपकरण की आवश्यकता:

  • अगला संपादक।
  • पेंट.नेट।
  • अरुडिनो आईडीई।

नेक्स्टियन डिस्प्ले प्रोग्राम करें:

नेक्स्टियन को इंटरफेस प्रदर्शित करने के लिए, पहली बात यह है कि नेक्स्टियन एडिटर में एचएमआई फाइल को डिजाइन करना है। यह संपादक आपको प्लग-एंड-प्ले घटकों जैसे (पाठ, बटन, प्रगति पट्टी, चित्र, गेज, चेकबॉक्स, रेडियोबॉक्स और बहुत कुछ) का उपयोग करके अपने इंटरफेस को डिज़ाइन करने की अनुमति देता है, जिसके लिए आप इनमें से प्रत्येक घटक के लिए कोड और गुण सेट कर सकते हैं।

इस परियोजना में, मैंने इंटरैक्टिव GUI बनाने के लिए 8 पृष्ठों का उपयोग किया। कार्यान्वयन के लिए मैंने जिन अधिकांश आइकनों का उपयोग किया है, वे स्वतंत्र रूप से उपलब्ध एंड्रॉइड आइकन हैं और इसे [लिंक] से डाउनलोड किया जा सकता है। मैंने पेंट.नेट (ओपन सोर्स एडिटर) का उपयोग सभी चित्रों को संपादित / आकार बदलने और आइकनों के इनवर्ट बनाने के लिए किया, ताकि बटन जैसे घटकों को दबाए जाने पर स्पर्श की भावना दी जा सके। जब घटकों को स्पर्श किया जाता है तो स्पर्श ईवेंट जैसे (प्रेस और रिलीज़) भी शामिल होते हैं। यदि आप नेक्स्टियन इंस्ट्रक्शन सेट के बारे में अधिक जानकारी प्राप्त करना चाहते हैं तो आप यहां विकी पेज पर जा सकते हैं।

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

कदम:

  1. . HMI फ़ाइल को संपादक में लोड करें। इस पृष्ठ के मेरे GitHub रिपॉजिटरी अनुभाग को खोजने के लिए नीचे स्क्रॉल करें।
  2. . HMI फ़ाइल संकलित करें (बस मेनू बार के नीचे)।
  3. फ़ाइल> ओपन बिल्ड फोल्डर>.tft फाइल को कॉपी करें> एसडी कार्ड में पेस्ट करें पर जाएं।

    नोट: सुनिश्चित करें कि एसडी कार्ड को FAT32 में स्वरूपित किया गया है।

  4. एक बार कॉपी करने के बाद, एसडी कार्ड को नेक्स्टियन में डालें और फिर power_on।
  5. .tft के अपलोड होने की प्रतीक्षा करें।
  6. नेक्स्टियन को पावर_ऑफ करें, एसडी कार्ड को सुरक्षित रूप से हटा दें और फिर पावर_ऑन करें।
  7. वोइला!, आपको नेक्स्टियन डिस्प्ले पर अपने नए इंटरफेस देखना चाहिए।

अनुकरण:

नेक्सिटॉन.एचएमआई फाइलों का परीक्षण/डीबग करने के लिए एक आसान सिम्युलेटर भी प्रदान करता है, इससे पहले कि आप अपने प्रदर्शन को अपने एमसीयू से कनेक्ट करें। "इंस्ट्रक्शन इनपुट एरिया", आपको नेक्स्टियन डिस्प्ले में चेंज पेज, हाइड / शो पिक्चर, इनेबल / डिसेबल बटन, इनेबल / डिसेबल / टेक्स्ट और बहुत कुछ जैसे कमांड डालने की अनुमति देता है। दूसरी तरफ, "सिम्युलेटर रिटर्न डेटा" आपको टच इवेंट से प्रतिक्रिया देता है जब नेक्स्टियन डिस्प्ले पर घटकों को दबाया जाता है या यहां तक कि नेक्स्टियन को ट्रिगर किए गए कमांड के लिए भी।

चरण 4: Arduino प्रोग्राम करें:

Arduino प्रोग्राम करें
Arduino प्रोग्राम करें
Arduino प्रोग्राम करें
Arduino प्रोग्राम करें
Arduino प्रोग्राम करें
Arduino प्रोग्राम करें

Ardiuno Uno पूरे मोबाइल सिस्टम का दिमाग है, Arduino एक मिडलवेयर के रूप में कार्य करता है जो GSM मॉड्यूल और नेक्स्टियन डिस्प्ले को इंटरफेस करता है।

इस परियोजना के लिए, मैंने किसी भी नेक्स्टियन लाइब्रेरी का उपयोग नहीं किया, क्योंकि इसे समझना मुश्किल लगता है और दस्तावेजों की कमी है और नेक्स्टियन लाइब्रेरी का उपयोग करते समय मेरे स्केच भी संकलित नहीं होते हैं, जल्द ही सुधार होने की उम्मीद है। जैसे, मैंने पुस्तकालयों के उपयोग के बिना आगे बढ़ने का फैसला किया, यह मुश्किल लगता है, है ना? मेरा विश्वास करो ऐसा नहीं है।

पूरा कोड प्राप्त करने के लिए, इस पृष्ठ के मेरे GitHub रिपॉजिटरी अनुभाग को खोजने के लिए बस नीचे स्क्रॉल करें। कोड को कॉपी करें, और इसे Arduino IDE में एक नए स्केच में पेस्ट करें। इसे सेव करें, इसे अपने Arduino पर अपलोड करें।

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

चरण 5: स्रोत कोड:

स्रोत कोड
स्रोत कोड

आप इस लिंक पर क्लिक करके मेरे GitHub से इस प्रोजेक्ट का पूरा कोड डाउनलोड कर सकते हैं।

चरण 6: डेमो:

Image
Image

चरण 7: बोनस:

डिफ़ॉल्ट रूप से, GSM मॉड्यूल का एसएमएस बफर आकार 20 है। दुर्भाग्य से, हम नेक्स्टियन डिस्प्ले पर एक बार में सभी 20 एसएमएस प्रदर्शित नहीं कर सकते हैं, नेक्स्टियन कोड को संकलित करते समय बफर ओवरफ्लो प्राप्त कर रहे हैं। जैसे, मैंने केवल 10 एसएमएस प्रस्तुत करने के लिए नेक्स्टियन डिस्प्ले को इस तरह से प्रोग्राम किया है।

यदि जीएसएम बफर पर 10 या अधिक एसएमएस मौजूद हैं, तो नेक्स्टियन डिस्प्ले पर कम मेमोरी चेतावनी आइकन प्रदर्शित किया जाएगा, जो आपको नए एसएमएस को वृद्धिशील तरीके से देखने के लिए पिछले एसएमएस को हटाने की चेतावनी देता है।

मुझे आशा है कि आपको मेरी पोस्ट पसंद आई होगी और आशा है कि यह ट्यूटोरियल आपको अपने स्वयं के Arduino GSM मोबाइल को लागू करने का एक तरीका खोजने में मदद करेगा और हाँ कृपया अपने किसी भी नवाचार को साझा करें।

मज़े करो.. Cheerz… पढ़ने और साझा करने के लिए धन्यवाद।

-अविषेक हार्डिन

सिफारिश की: