विषयसूची:

IoT मून लैंप: 5 कदम
IoT मून लैंप: 5 कदम

वीडियो: IoT मून लैंप: 5 कदम

वीडियो: IoT मून लैंप: 5 कदम
वीडियो: How To Set Up Moon Lamp Stand (step by step) 2024, जुलाई
Anonim
IoT मून लैंप
IoT मून लैंप

इस निर्देशयोग्य में मैं दिखाता हूं कि एक साधारण बैटरी चालित एलईडी लैंप को IoT डिवाइस में कैसे बदला जाए।

इस परियोजना में शामिल हैं:

  • सोल्डरिंग;
  • Arduino IDE के साथ प्रोग्रामिंग ESP8266;
  • एमआईटी ऐप आविष्कारक के साथ एंड्रॉइड एप्लिकेशन बनाना।

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

आपूर्ति

  1. एंड्रॉइड स्मार्टफोन (एंड्रॉइड संस्करण 7-9 परीक्षण)।
  2. सोल्डरिंग टूल्स।
  3. प्रोटोटाइप पीसीबी (प्रोटोबार्ड)।
  4. ESP-12E बोर्ड (या ESP8266 माइक्रोकंट्रोलर के साथ अन्य देवबोर्ड)।
  5. प्रोग्रामिंग के लिए यूएसबी-सीरियल कनवर्टर।
  6. निष्क्रिय घटकों (प्रतिरोधों और कैपेसिटर) के कई अलग-अलग मूल्य।

(वैकल्पिक। "ब्लॉक आरेख" अनुभाग देखें)

  1. 3.3V@500mA एलडीओ आईसी।
  2. 3.3V-5V तर्क स्तर कनवर्टर बोर्ड।
  3. 5 वी डीसी बिजली की आपूर्ति।

चरण 1: विचार

विचार
विचार

मून लैंप एक Li-ION 18650 सेल द्वारा संचालित है और इसमें 3 ऑपरेशन मोड हैं:

  • बंद;
  • हाथ से किया हुआ;
  • ऑटो।

मैनुअल मोड में लैंप को पुश बटन से नियंत्रित किया जाता है, प्रत्येक प्रेस एलईडी लाइट की स्थिति (नीला ऑन, ऑरेंज ऑन, दोनों ऑन, ऑफ) को बदल देती है, पुश बटन को दबाए रखते हुए प्रकाश की तीव्रता में परिवर्तन होता है। ऑटो मोड में एलईडी लाइट की स्थिति लैंप को टैप या हिलाकर बदल जाती है।

मैंने एक वेब सर्वर के रूप में कार्य करने के लिए ESP8266 जोड़ने का निर्णय लिया जो अनुरोधों को सुनता है और तदनुसार बटन प्रेस का अनुकरण करता है। मैं मूल दीपक कार्यक्षमता को तोड़ना नहीं चाहता था, बस वाईफाई पर अतिरिक्त नियंत्रण सुविधाओं को जोड़ना चाहता था, इसलिए मैंने सीधे एलईडी को नियंत्रित करने के बजाय बटन प्रेस को अनुकरण करने के लिए ईएसपी को चुना। इसके अलावा इसने मुझे मूल सर्किटरी के साथ न्यूनतम रूप से बातचीत करने की अनुमति दी।

जब प्रोटोटाइप किया गया था तो यह ऑफ स्टेट में बैटरी से लगातार ~ 80mA (पूर्ण चमक पर ~ 400mA) चला गया। स्टैंडबाय करंट अधिक है क्योंकि ESP8266 एक सर्वर के रूप में काम करता है और हमेशा वाईफाई से जुड़ा रहता है और अनुरोधों को सुनता है। बैटरी केवल डेढ़ दिन के बाद बंद अवस्था में समाप्त हो गई थी, इसलिए बाद में मैंने बाहरी 5V बिजली की आपूर्ति से सभी इलेक्ट्रॉनिक्स को बिजली देने के लिए लैंप USB चार्जिंग पोर्ट का उपयोग करने का निर्णय लिया और बैटरी को एक साथ रखा (लेकिन यह वैकल्पिक है)।

चरण 2: ब्लॉक आरेख

खंड आरेख
खंड आरेख

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

प्रलेखन के अनुसार ESP8266 केवल 3.3V को सहन करता है, हालाँकि ऐसे बहुत से उदाहरण हैं जब ESP8266 5V के साथ पूरी तरह से ठीक काम करता है, इसलिए तर्क स्तर कनवर्टर और 3.3V LDO को छोड़ा जा सकता है, हालाँकि मैं सर्वोत्तम अभ्यास के साथ रहा और उन घटकों को जोड़ा।

मैंने 3 ESP8266 I/O पिन और ADC पिन का उपयोग किया। एक डिजिटल आउटपुट पिन बटन प्रेस का अनुकरण करने के लिए है, दो डिजिटल इनपुट यह पता लगाने के लिए है कि किस रंग की एलईडी चालू हैं (इससे हम यह पता लगा सकते हैं कि एमसीयू किस राज्य में है और बटन प्रेस के बाद कौन सा राज्य है)। एडीसी पिन इनपुट वोल्टेज (वोल्टेज डिवाइडर के माध्यम से) को मापता है, इस तरह हम शेष बैटरी चार्ज स्तर की निगरानी कर सकते हैं।

बाहरी बिजली की आपूर्ति के रूप में मैं पुराने फोन चार्जर 5V@1A का उपयोग करता हूं (त्वरित चार्जर का उपयोग न करें)।

चरण 3: प्रोग्रामिंग

प्रोग्रामिंग
प्रोग्रामिंग
प्रोग्रामिंग
प्रोग्रामिंग

संक्षेप में कार्यक्रम इस तरह काम करता है (अधिक जानकारी के लिए कोड ही देखें):

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

जब आरंभिक MCU हमेशा एक ही रूटीन को हमेशा के लिए निष्पादित करता है:

  1. जांचें कि क्या अभी भी एपी से जुड़ा है, अगर सफलता तक फिर से कनेक्ट करने का प्रयास नहीं किया जाता है।
  2. HTTP अनुरोध करने के लिए क्लाइंट की प्रतीक्षा करें। जब अनुरोध होता है:

    1. इनपुट वोल्टेज की जाँच करें।
    2. जांचें कि एलईडी किस राज्य में हैं।
    3. ज्ञात एलईडी राज्यों के साथ HTTP अनुरोध का मिलान करें (नीला चालू, नारंगी चालू, दोनों चालू, बंद)।
    4. अनुरोधित स्थिति को प्राप्त करने के लिए जितने आवश्यक हो उतने पुश बटन प्रेस का अनुकरण करें।

मैं संक्षेप में प्रोग्रामिंग निर्देशों का वर्णन करूंगा, यदि आपकी पहली बार प्रोग्रामिंग ESP8266 MCU गहराई से निर्देशों की तलाश में है।

आपको Arduino IDE और USB- सीरियल इंटरफ़ेस कनवर्टर (उदाहरण के लिए FT232RL) की आवश्यकता होगी। आईडीई तैयार करने के लिए इन निर्देशों का पालन करें।

प्रोग्रामिंग के लिए ESP-12E मॉड्यूल को जोड़ने के लिए सर्किट आरेख का पालन करें। कुछ सुझाव:

  • बाहरी 3.3V@500mA बिजली की आपूर्ति का उपयोग करें (ज्यादातर मामलों में यूएसबी-सीरियल बिजली की आपूर्ति पर्याप्त नहीं है);
  • जांचें कि आपका यूएसबी-सीरियल कनवर्टर 3.3V तर्क स्तर संगत है या नहीं;
  • जांचें कि क्या यूएसबी-सीरियल कनवर्टर ड्राइवर सफलतापूर्वक स्थापित हैं (विंडोज़ डिवाइस मैनेजर से) आप यह भी जांच सकते हैं कि यह आईडीई से सही ढंग से काम करता है, बस छोटे आरएक्स और TX पिन, आईडीई से COM पोर्ट का चयन करें, सीरियल मॉनिटर खोलें और कुछ लिखें, अगर सभी काम करते हैं आपको वह पाठ दिखाई देना चाहिए जिसे आप कंसोल में भेज रहे हैं;
  • किसी कारण से मैं ईएसपी प्रोग्राम करने में सक्षम था जब मैंने पहली बार यूएसबी-सीरियल कनवर्टर को पीसी से जोड़ा और फिर बाहरी 3.3V स्रोत से ईएसपी पर संचालित किया;
  • सफलतापूर्वक प्रोग्रामिंग के बाद अगले बूट पर GPIO0 को ऊंचा खींचना न भूलें।

चरण 4: योजनाबद्ध और सोल्डरिंग

योजनाबद्ध और सोल्डरिंग
योजनाबद्ध और सोल्डरिंग
योजनाबद्ध और सोल्डरिंग
योजनाबद्ध और सोल्डरिंग
योजनाबद्ध और सोल्डरिंग
योजनाबद्ध और सोल्डरिंग

प्रोटोबार्ड के सभी घटकों को मिलाप करने के लिए योजनाबद्ध का पालन करें। जैसा कि पहले उल्लेख किया गया है कि कुछ घटक वैकल्पिक हैं। मैंने KA78M33 3.3V LDO IC का उपयोग किया और स्पार्कफुन से यह तर्क स्तर कनवर्टर बोर्ड, वैकल्पिक रूप से, आप स्वयं कनवर्टर बना सकते हैं जैसा कि योजनाबद्ध में दिखाया गया है (आप BSS138 के बजाय किसी भी एन-चैनल मस्जिद का उपयोग कर सकते हैं)। यदि आप Li-ION बैटरी का उपयोग करते हैं, तो +5V पावर नेटवर्क बैटरी पॉजिटिव टर्मिनल होगा। ESP8266 ADC संदर्भ वोल्टेज 1V है, मेरे चुने हुए अवरोधक विभक्त मान इनपुट वोल्टेज को 5.7V तक मापने की अनुमति देते हैं।

मूल लैंप पीसीबी से 5 कनेक्शन होने चाहिए: +5V (या +बैटरी), GND, पुश बटन, नीले और नारंगी एलईडी को नियंत्रित करने के लिए लैंप MCU से PWM सिग्नल। यदि आप 5V स्रोत से लैंप को पावर करते हैं, जैसे मैंने किया, तो आप OUTPUT पिन के साथ बैटरी चार्जर IC VCC पिन को छोटा करना चाहेंगे, इस तरह सभी इलेक्ट्रॉनिक्स सीधे +5V से संचालित होंगे न कि बैटरी चार्जर OUTPUT से।

सभी मिलाप बिंदुओं के लिए दूसरी छवि का पालन करें, जिसे आपको लैंप पीसीबी पर बनाने की आवश्यकता होगी।

टिप्पणियाँ:

  1. यदि आपने बैटरी चार्जर IC आउटपुट के साथ +5V को छोटा करने का निर्णय लिया है, तो ऐसा करने से पहले बैटरी को पूरी तरह से हटा दें, आप +5V को सीधे बैटरी से कनेक्ट नहीं करना चाहते हैं।
  2. ध्यान दें कि आप किस पुश बटन को सोल्डर ईएसपी आउटपुट पिन करते हैं, क्योंकि पुश बटन के 2 पिन जमीन से जुड़े होते हैं और जब ईएसपी आउटपुट हाई हो जाता है तो आप शॉर्ट सर्किट नहीं करना चाहते हैं, मल्टीमीटर के साथ बेहतर डबल चेक।

चरण 5: एंड्रॉइड ऐप

एंड्रॉइड ऐप
एंड्रॉइड ऐप
एंड्रॉइड ऐप
एंड्रॉइड ऐप
एंड्रॉइड ऐप
एंड्रॉइड ऐप

एंड्रॉइड ऐप एमआईटी ऐप आविष्कारक के साथ बनाया गया था, अपने लिए एक ऐप और/या क्लोन प्रोजेक्ट डाउनलोड करने के लिए, इस लिंक पर जाएं (इसे एक्सेस करने के लिए आपको Google खाते की आवश्यकता होगी)।

पहले लॉन्च पर आपको सेटिंग खोलनी होगी और अपना ESP8266 IP पता दर्ज करना होगा। यह आईपी सहेजा जाएगा इसलिए प्रोग्राम के पुनरारंभ होने के बाद इसे फिर से दर्ज करने की आवश्यकता नहीं है।

ऐप को कई Android 9 और Android 7 उपकरणों के साथ परीक्षण किया गया।

सिफारिश की: