विषयसूची:

ESP32 के साथ MQTT मूड लाइट्स: 4 कदम (चित्रों के साथ)
ESP32 के साथ MQTT मूड लाइट्स: 4 कदम (चित्रों के साथ)

वीडियो: ESP32 के साथ MQTT मूड लाइट्स: 4 कदम (चित्रों के साथ)

वीडियो: ESP32 के साथ MQTT मूड लाइट्स: 4 कदम (चित्रों के साथ)
वीडियो: How to Easily Control Addressable LEDs with an ESP32 or ESP8266 | WLED Project 2024, नवंबर
Anonim
ESP32. के साथ MQTT मूड लाइट्स
ESP32. के साथ MQTT मूड लाइट्स

मुझे एलईडी बैंडवागन पर कूदने के लिए काफी समय से लुभाया गया था, इसलिए मैं बाहर भागा और खिलौने के लिए एक एलईडी पट्टी उठाई। मैंने इन मूड लाइट्स को समाप्त कर दिया। उन्हें MQTT से नियंत्रित किया जा सकता है, जिससे सभी प्रकार के स्मार्ट जोड़ना संभव हो जाता है।

यह एक अच्छा सप्ताहांत प्रोजेक्ट है यदि आपके पास और कुछ नहीं चल रहा है, और कुछ बनाने के लिए अपने हाथों को गंदा करना चाहते हैं।

ध्यान दें कि इस निर्देश का उद्देश्य मेरी परियोजना का दस्तावेजीकरण करना और दूसरों के साथ विचार साझा करना है, और जरूरी नहीं कि ठोस निर्देश और तरीके प्रदान करें। इसके साथ ही कहा, पढ़ें!

आपूर्ति

इलेक्ट्रॉनिक्स:

  • 1x ESP32 विकास बोर्ड
  • 1x 0.96 "I2C OLED डिस्प्ले
  • 1x बजर
  • 1x बैरल जैक
  • 1x 12V बिजली की आपूर्ति (वर्तमान आपकी पट्टी की लंबाई पर निर्भर करती है)
  • 1x LM2596 हिरन कनवर्टर
  • 1x आम-एनोड आरजीबी एलईडी पट्टी
  • 3x IRFZ44N MOSFETs
  • 3x BC547 ट्रांजिस्टर
  • 3x 10kΩ प्रतिरोधक
  • 4x 100Ω प्रतिरोधक
  • 1x प्रोटोटाइप बोर्ड
  • 4x स्क्रू टर्मिनल
  • पुरुष और महिला हेडर
  • तार (मैंने सिंगल-स्ट्रैंड का इस्तेमाल किया)

अन्य हार्डवेयर और उपकरण:

  • एक बाड़े के लिए आपकी वांछित सामग्री (मैंने एमडीएफ का इस्तेमाल किया)
  • स्पर्श संपर्कों के लिए फ्लैट, प्रवाहकीय सामग्री (मैंने एक पतली एल्यूमीनियम शीट का इस्तेमाल किया)
  • आरी, ड्रिल, सैंडपेपर, आदि।
  • टांका लगाने वाला लोहा और दोस्त
  • गर्म गोंद

मैं दृढ़ता से अनुशंसा करता हूं कि बिल्ट-इन OLED डिस्प्ले के साथ ESP32 न लें, क्योंकि इसके लिए आपके बाड़े में एक अच्छी तरह से संरेखित कटआउट बनाना बहुत कठिन हो जाता है।

चरण 1: इलेक्ट्रॉनिक्स

इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स

योजनाबद्ध संलग्न स्पर्श इनपुट को छोड़कर सभी आवश्यक कनेक्शन दिखाता है। एक अपेक्षाकृत अस्पष्ट ब्रेडबोर्ड आरेख भी है, जिसमें दिखाया गया है कि योजनाबद्ध अपर्याप्त होने की स्थिति में एक MOSFET को कैसे तार-तार किया जाए।

शक्ति

एक LM2596 हिरन कनवर्टर ESP के VIN के लिए बिजली की आपूर्ति से 12V को 5V तक नीचे ले जाता है। सुनिश्चित करें कि आपके द्वारा उपयोग की जाने वाली एलईडी पट्टी की लंबाई के लिए आपकी बिजली आपूर्ति को ठीक से रेट किया गया है। मेरी 2 मीटर लंबी पट्टी 2 एम्पीयर से थोड़ी अधिक खींचती है।

पिन और बाह्य उपकरणों

चार स्पर्श पिन का उपयोग, अच्छी तरह से, स्पर्श इनपुट के लिए किया जाता है। मेरा ESP32 बोर्ड एक OLED डिस्प्ले के साथ आया था, जिसके I2C पिन को हार्डवायर किया गया था। यह चार PWM पिन का उपयोग करता है, प्रत्येक रंग घटक (लाल, हरा और नीला) के लिए एक और बजर के लिए एक।

MOSFET गड़बड़ी

MOSFETs को PWM और अपेक्षाकृत उच्च धारा के लिए तेजी से स्विचिंग समय को संभालने के लिए चुना गया था। प्रत्येक रंग घटक के लिए एक MOSFET है। मैंने IRFZ44Ns को चलाने के लिए एक पुल-अप रोकनेवाला के साथ अलग NPN BJTs (BC547) का उपयोग किया, क्योंकि ESP32 से 3.3V डिजिटल सिग्नल MOSFETs के लिए आवश्यक रूप से अधिक चालू करने के लिए पर्याप्त नहीं हो सकते हैं। IRLZ44N जैसे लॉजिक-लेवल MOSFETs मौजूद हैं, लेकिन मुझे उनके बारे में तभी पता चला जब मैंने सब कुछ सोल्डर कर लिया था। किसी भी तरह से, मेरी पट्टी जो ~ 2A खींचती है वह ठीक काम करती है।

टांकने की क्रिया

एलईडी पट्टी से कनेक्ट करने के लिए स्क्रू टर्मिनलों का उपयोग किया जाता है, और महिला हेडर ईएसपी 32 को प्लग करने के लिए, अगर मैं उनमें से किसी को भी बिना किसी चीज को बदलने के लिए बदलना चाहता हूं। टांका लगाने में लगभग दो घंटे लगे, और यह बहुत सीधा था। मैंने अपनी एलईडी पट्टी को कुछ लंबे तार भी दिए।

मैंने ESP32 क्यों चुना

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

चरण 2: कोड

मैंने इसे प्रोग्राम करने के लिए Arduino टूलसेट (वास्तव में VS कोड के लिए Arduino एक्सटेंशन:)) का उपयोग किया। ESP32 और Arduino IDE के साथ आरंभ करने के तरीके पर इस तरह के महान ट्यूटोरियल हैं, यदि आपने पहले से नहीं किया है।

संभालने के लिए चार अलग-अलग तरीके हैं: स्थिर रंग, यादृच्छिक रंग, रेड अलर्ट और ब्लू अलर्ट। अप, डाउन, नेक्स्ट और रेड अलर्ट के लिए चार टच इनपुट हैं। टच इंटरप्ट का उपयोग करता है।

मैंने एमक्यूटीटी को भी कार्यों में जोड़ा, ताकि मैं इसे वाईफाई पर नियंत्रित कर सकूं। मैं वेब-ऐप बिग थ्री (एचटीएमएल, सीएसएस, जेएस) के लिए एक महसूस करने की कोशिश कर रहा हूं, इसलिए मैंने एक स्टार ट्रेक-थीम वाला (बल्कि बदसूरत) वेबपेज तैयार किया है जो मूड रोशनी को नियंत्रित करने के लिए एक एमक्यूटीटी ब्रोकर के साथ संचार करता है।

मेरे सभी कोड एक त्वरित संदर्भ पत्रक के साथ संलग्न पाए जा सकते हैं, जिसका फ़ाइल नाम आप इसे मार्कडाउन बनाने के लिए बदलना चाह सकते हैं। Arduino के साथ खोलने से पहले सभी फाइलों को "ESP32MQTTMoodLighting" नाम के फोल्डर में ले जाएं।

ध्यान दें कि मेरा कोड काम करता है, लेकिन शायद सबसे बड़ा नहीं है। लेकिन इससे कोई फर्क नहीं पड़ना चाहिए, क्योंकि आप वैसे भी अपना खुद का लिखने जा रहे हैं, है ना?:)

चरण 3: संलग्नक और विधानसभा

संलग्नक और विधानसभा
संलग्नक और विधानसभा
संलग्नक और विधानसभा
संलग्नक और विधानसभा
संलग्नक और विधानसभा
संलग्नक और विधानसभा
संलग्नक और विधानसभा
संलग्नक और विधानसभा

लॉकडाउन के दौरान, केवल 5 मिमी एमडीएफ की एक शीट मुझे मिल सकती थी। मैंने एक नियमित हैकसॉ के साथ बड़े कट लगाए, और सब कुछ एक अच्छी रेत दी। तामचीनी पेंट के एक डबल कोट ने मुख्य तैयारी समाप्त कर दी।

पिछला फलक

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

आखिरकार, गतिरोध अपने छिद्रों में मजबूती से बैठ गया और परफ़ॉर्मर को अपनी जगह पर रखा। क्योंकि मेरा एमडीएफ बहुत मोटा था, दूसरी तरफ से कुछ भी नहीं दिखा।

मैंने पावर जैक के लिए छेद ड्रिल किया, और एलईडी स्ट्रिप तारों के लिए एक स्लॉट बनाया, जहां से मेरे स्क्रू टर्मिनल स्थित थे।

सामने का हिस्सा

OLED डिस्प्ले कटआउट

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

योजक

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

स्पर्श पैड

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

अंत में, प्रत्येक पैड के पीछे कुछ गर्म गोंद डालें और उन्हें सामने के पैनल पर धकेलें। बहुत अधिक जोड़ने से पैड पैनल से उठे हुए बैठेंगे। किसी भी अतिरिक्त गोंद को साफ करें जिसे पैड के नीचे से बाहर धकेल दिया गया हो।

बाकी का

साइड पैनल काफी सीधे हैं। स्क्रू टर्मिनलों के लिए एक त्वरित-पहुंच छेद इसके लायक होने की तुलना में अधिक परेशानी वाला था। मैंने साइड पैनल को फ्रंट पैनल से गर्म किया।

दो किनारों पर वेल्क्रो सामने के हिस्से को बैक पैनल पर रखता है। अंतराल बजर की आवाज से बचने की अनुमति देता है। यदि आप मुझसे बेहतर काम करते हैं, तो आपको ऐसा कुछ नहीं करना चाहिए जो 5 वर्षीय प्रीस्कूल शिल्प जैसा दिखता हो:)

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

चरण 4: इसे प्लग इन करें

यह प्लग लगाओ!
यह प्लग लगाओ!

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

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

सिफारिश की: