विषयसूची:

कला के लिए गतिशील एलईडी प्रकाश नियंत्रक: 16 कदम (चित्रों के साथ)
कला के लिए गतिशील एलईडी प्रकाश नियंत्रक: 16 कदम (चित्रों के साथ)

वीडियो: कला के लिए गतिशील एलईडी प्रकाश नियंत्रक: 16 कदम (चित्रों के साथ)

वीडियो: कला के लिए गतिशील एलईडी प्रकाश नियंत्रक: 16 कदम (चित्रों के साथ)
वीडियो: Pixel led Home Decoration || S टाइप और Z टाइप की छुट्टी//Creative GS 2024, जुलाई
Anonim
Image
Image

परिचय:

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

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

हमने शैडो बॉक्स और फ्रेम के निर्माण पर एक संबद्ध निर्देश भी लिखा। इसे यहां देखें:

अभी के लिए हम इलेक्ट्रॉनिक्स और प्रोग्रामिंग पर ध्यान देंगे।

चरण 1: सामग्री:

  • WS2812 LED की स्ट्रिंग
  • Arduino Pro Mini 328 - 5V/16 MHz
  • एफटीडीआई मित्र यूएसबी इंटरफेस
  • FTDI के लिए USB A से MiniB केबल
  • 4700 μf संधारित्र
  • 5.5 x 2.1 कनेक्टर के साथ 5v बिजली की आपूर्ति
  • पावर सॉकेट 5.5 x 2.1
  • टर्मिनल ब्लॉक
  • प्रोटोटाइप सर्किट बोर्ड
  • बटन
  • पोटेंशियोमीटर
  • संकेतक एलईडी
  • प्रतिरोधक
  • रिबन केबल
  • हैडर पुरुष
  • हैडर महिला

चरण 2: संसाधन:

  • अरुडिनो; इंटरएक्टिव डेवलपमेंट एनवायरनमेंट (आईडीई)
  • Adafruit NeoPixel लाइब्रेरी
  • NeoPixel ट्यूटोरियल
  • स्ट्रैंडटेस्ट उदाहरण कार्यक्रम
  • FastLED लाइब्रेरी
  • FastLED लिंक और दस्तावेज़ीकरण
  • FastLED फ़ोरम
  • हमारे प्रकाश रेखाचित्र

चरण 3: नियंत्रक अवलोकन:

नियंत्रक अवलोकन
नियंत्रक अवलोकन
नियंत्रक अवलोकन
नियंत्रक अवलोकन

योजनाबद्ध बहुत सरल दिखता है और यह है। हमने अपने नियंत्रकों को चित्र फ़्रेम में एम्बेड करने के लिए बनाया है। चित्रित सर्किट के आयाम 2.25 "x 1.3" x 0.5 "हैं। वैकल्पिक ट्यूनर एक रिबन केबल कनेक्टर के साथ एक अलग सर्किट बोर्ड पर बनाया गया था। ये तस्वीरें हमारे तैयार प्रोजेक्ट को दिखाती हैं।

हम अपने कंट्रोलर को पिक्चर फ्रेम में फिट करना चाहते हैं इसलिए हमने इसके छोटे आकार, लागत और 5v आउटपुट के लिए Arduino pro mini 5v को चुना। आपके लिए आवश्यक 5v बिजली आपूर्ति का आकार इस बात पर निर्भर करेगा कि आपके प्रोजेक्ट में कितने एल ई डी और उनकी अधिकतम चमक है। हमारे सभी प्रोजेक्ट 3 एम्पीयर से कम और कुछ 1 एम्पीयर से कम के थे। कई प्रकार के एड्रेसेबल कलर एलईडी हैं। हमने Adafruit द्वारा उनके "नियोपिक्सल" उत्पादों में से एक के रूप में बेचे गए WS2812 के साथ शुरुआत की। इसने हमारे लिए काम किया और हमने अन्य एल ई डी की खोज नहीं की। हमारी अधिकांश परियोजनाओं में 60 एलईडी प्रति मीटर पट्टी का उपयोग किया गया था। अब तक हमारी परियोजनाएं 145 एलईडी तक की हैं।

वैकल्पिक ट्यूनर:

हमने एक छोटा इनपुट सर्किट "ट्यूनर" बनाया है ताकि हम प्रत्येक समायोजन के लिए प्रोग्राम को संशोधित और अपलोड किए बिना आसानी से प्रकाश के खंडों को समायोजित कर सकें। इसमें है: एक आउटपुट एलईडी जो इनपुट मोड को फ्लैश करता है; एक बटन जो इनपुट मोड को बदलता है; और एक घुंडी जिसे समायोजित किया जा सकता है। Arduino तब मानों को किसी कनेक्टेड कंप्यूटर पर आउटपुट कर सकता है।

चरण 4: भवन नियंत्रक:

भवन नियंत्रक
भवन नियंत्रक

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

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

चरण 5:

छवि
छवि
छवि
छवि
छवि
छवि

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

चरण 6: वैकल्पिक ट्यूनर का निर्माण:

वैकल्पिक ट्यूनर का निर्माण
वैकल्पिक ट्यूनर का निर्माण
वैकल्पिक ट्यूनर का निर्माण
वैकल्पिक ट्यूनर का निर्माण
वैकल्पिक ट्यूनर का निर्माण
वैकल्पिक ट्यूनर का निर्माण

हमने एक छोटा इनपुट सर्किट "ट्यूनर" बनाया है ताकि हम प्रत्येक समायोजन के लिए प्रोग्राम को संशोधित और अपलोड किए बिना आसानी से प्रकाश के खंडों को समायोजित कर सकें। इसमें है: एक आउटपुट एलईडी जो इनपुट मोड को फ्लैश करता है; एक बटन जो इनपुट मोड को बदलता है; और एक घुंडी जिसे समायोजित किया जा सकता है। Arduino तब मानों को किसी कनेक्टेड कंप्यूटर पर आउटपुट कर सकता है।

ये तस्वीरें ट्यूनर के निर्माण को दर्शाती हैं। मैंने पीठ को "गोरिल्ला" टेप से ढक दिया। जो रिबन केबल को स्थिर रखता है और एक अच्छा हैंडल भी बनाता है।

चरण 7: प्रोग्रामिंग नियंत्रक अवलोकन:

यह वास्तव में परियोजना का कठिन हिस्सा है। उम्मीद है कि आप शुरुआत करने के लिए हमारे कुछ कोड और विधियों का उपयोग करने में सक्षम होंगे।

Adafruit और FastLED ने Arduinos को कई प्रकार के एड्रेसेबल LED को नियंत्रित करने में सक्षम बनाने के लिए दो बेहतरीन लाइब्रेरी प्रकाशित की हैं। हम इन दोनों पुस्तकालयों का उपयोग विभिन्न परियोजनाओं में करते हैं। हमारा सुझाव है कि आप इन पुस्तकालयों की कुछ संसाधन सामग्री को भी पढ़ें और उनके कुछ उदाहरण कार्यक्रमों को देखें।

हमारे कार्यक्रमों का जीथब भंडार ऊपर "संसाधन" में सूचीबद्ध है। ध्यान दें कि हम Arduino प्रोग्रामिंग में कुशल नहीं हैं इसलिए सुधार की बहुत गुंजाइश है। मुद्दों को इंगित करने और सुधार में योगदान करने के लिए स्वतंत्र महसूस करें।

चरण 8: प्रोग्रामिंग नियंत्रक उदाहरण लहर:

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

"चेंजब्राइट ()" फ़ंक्शन "हमले" समय के दौरान प्रकाश के शाफ्ट की चमक को बढ़ाएगा, इसे "टिकाऊ" समय के लिए स्थिर रखेगा, फिर "क्षय" समय पर फीका-आउट हो जाएगा।

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

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

चरण 9: प्रोग्रामिंग नियंत्रक उदाहरण सुबह से शाम तक:

Image
Image

अगली परियोजना, जेनी होल्ट द्वारा "डॉन टू डस्क", इस बार एक और फैब्रिक आर्ट पीस है जिसमें शरद ऋतु के रंग के पत्ते हैं। प्रकाश दिन का एक अनुकरण है जिसमें भोर की शुरुआत बाईं ओर उज्ज्वल मध्य-दिन की ओर बढ़ती है और उसके बाद लाल सूर्यास्त के रंग और रात में प्रगति होती है। यहां चुनौती 66 एल ई डी की एक पट्टी पर समय के साथ रंग और चमक को बदलने के विवरण को सरल बना रही है। दूसरी चुनौती प्रकाश परिवर्तन को सुचारू रूप से कर रही है। हम वास्तव में कम रोशनी के स्तर पर प्रकाश में ध्यान देने योग्य बदलाव के साथ संघर्ष कर रहे थे। मैंने FastLED लाइब्रेरी का उपयोग करके सहज प्रकाश संक्रमण प्राप्त करने का प्रयास किया लेकिन सफल नहीं हुआ। यह कार्यक्रम विवरण कम विस्तृत होगा। फिर से हमने Adafruit की NeoPixel लाइब्रेरी का उपयोग किया।

हम ऊपरी बाएं कोने में अपनी एलईडी स्ट्रिप्स शुरू करने के एक सम्मेलन में गए थे। यह एलईडी लोकेशन नंबरिंग को इस टुकड़े में थोड़ा अजीब बनाता है। फ्रेम के चारों ओर 86 एलईडी हैं। डॉन बाईं ओर रोशनी करता है जो 62 से 85 तक जाता है। फिर ऊपर बाएं से नीचे दाएं 0 से 43 तक है।

इस कार्यक्रम में "ट्यूनर" इनपुट सर्किट का उपयोग करने की क्षमता शामिल नहीं है।

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

अब यहां बताया गया है कि हमने प्रकाश पैटर्न के विवरण को कैसे सरल बनाया है। हमने फ्रेम के चारों ओर निचले बाएं से निचले दाएं 12 संदर्भ एलईडी पदों की पहचान की। फिर हमने इन संदर्भ एलईडी के लिए लाल, हरे और नीले (आरजीबी) एलईडी तीव्रता को सुबह से शाम की अवधि के दौरान 12 ब्रेक पॉइंट तक परिभाषित किया। प्रत्येक ब्रेक पॉइंट के लिए 4 बाइट्स होते हैं, अंतिम ब्रेक पॉइंट के बाद से समय की संख्या और आरजीबी रंगों में से प्रत्येक के लिए एक बाइट मान होता है। यह सरणी 576 बाइट्स की कीमती मेमोरी लेती है।

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

चरण 10: प्रोग्रामिंग नियंत्रक उदाहरण वर्षा वन:

अगली परियोजना जिसका मैं वर्णन करूंगा, वह है जूली-एन गैस्पर द्वारा "वर्षा वन"। यह एक बड़ा फैब्रिक आर्ट पीस है जिसमें बहुत गहराई है। यहां हमने लगभग 4.4”गहरे एक छाया बॉक्स का उपयोग किया। प्रकाश की अवधारणा पृष्ठभूमि प्रकाश स्तर है जो समय-समय पर ऊपर की पत्तियों के माध्यम से टिमटिमाते हुए प्रकाश के साथ नीचे की ओर मंद होती है। यहां अवधारणा रिपल के समान है लेकिन प्रकाश के शाफ्ट हिलते नहीं हैं। और लहर के विपरीत जहां चमक सुचारू रूप से बदलती है, यहां झिलमिलाहट की चमक में उतार-चढ़ाव की आवश्यकता होती है। हमने झिलमिलाहट_बी2 नामक एक 40 बाइट सरणी बनाई। हमने पाया कि यदि हम सभी झिलमिलाहट स्थानों के लिए समान पैटर्न का उपयोग करते हैं तो दृश्य प्रभाव ठीक था। हमने 5 झिलमिलाहट स्थानों की स्थापना की। दृश्य प्रभाव की समीक्षा करते समय हमने पाया कि झिलमिलाहट में से एक को दूसरों की तुलना में बहुत व्यापक होना चाहिए। हमने उस झिलमिलाहट को लगभग 20 एल ई डी से अधिक फैलाने के लिए fill_gradient_RGB() फ़ंक्शन का उपयोग किया। प्रत्येक झिलमिलाहट स्वतंत्र है और यादृच्छिक रूप से शुरू होती है। प्रत्येक झिलमिलाहट की संभावना निर्धारित की जा सकती है।

जब झिलमिलाहट पृष्ठभूमि से अधिक चमकदार न हो, तो पृष्ठभूमि रंग को सेट और पुनर्स्थापित करने की आवश्यकता होती है।

इस टुकड़े के लिए हमने FastLED लाइब्रेरी का इस्तेमाल किया। इस कार्यक्रम में #define TUNING का उपयोग यह इंगित करने के लिए किया जाता है कि क्या ट्यूनिंग बोर्ड प्लग इन है, इसे 0 होना चाहिए जब ट्यूनर बोर्ड प्लग इन नहीं किया जाता है। अन्यथा नियंत्रक स्थैतिक बिजली और पोल्टरजिस्ट के प्रति संवेदनशील होता है। कंपाइलर में केवल प्रोग्राम सेगमेंट शामिल होते हैं जो "ट्यूनर" का उपयोग करते हैं जब यह चर 1 होता है।

चरण 11: प्रोग्रामिंग नियंत्रक उदाहरण तूफान:

एक अन्य परियोजना माइक बेक द्वारा "स्टॉर्म" नामक एक तस्वीर को रोशन कर रही थी। तस्वीर एक तूफानी बादल है। हम FastLED लाइब्रेरी का उपयोग करते हैं और इसमें ट्यूनिंग क्षमता शामिल नहीं है। यहाँ प्रकाश की अवधारणा कुछ पृष्ठभूमि प्रकाश है जिसमें बिजली की चमक बादल के चारों ओर तीन बिंदुओं पर बेतरतीब ढंग से दिखाई देती है। प्रत्येक स्थान पर फ्लैश तीन एलईडी के कारण होता है। इन एल ई डी के बीच का स्थान प्रत्येक स्थान के लिए अलग है। इन तीन एलईडी की चमक को तीन 30 बाइट सरणियों द्वारा परिभाषित किया गया है। तीन सरणियों में चमक अनुक्रम तीन एल ई डी में भिन्नता और स्पष्ट गति देता है। प्रत्येक स्थान के लिए कथित गति और समग्र चमक की दिशा का चयन किया जाता है। प्रत्येक स्थान पर फ़्लैश की अवधि को चमक मानों को अद्यतन करने के बीच के समय के विलंब से समायोजित किया जाता है। बिजली गिरने के बीच 0.2 और 10.4 सेकंड के बीच यादृच्छिक समय विलंब होता है। तीन स्ट्राइक स्थानों में से कौन सा यादृच्छिक भी है जिसमें क्लाउड के शीर्ष पर 19% मौका, निचले दाएं में 45% मौका और बाईं ओर 36% मौका है।

चरण 12: प्रोग्रामिंग नियंत्रक उदाहरण एक प्रकार का तोता और नॉर्डिक वृक्ष:

दाना न्यूमैन द्वारा "एक प्रकार का तोता" और जेनी होल्ट द्वारा "नॉर्डिक ट्री" टुकड़े के कथित रंग को बदलने के लिए प्रकाश रंग का उपयोग करते हैं। और दाना के एक बड़े मैकॉ की पेंटिंग के मामले में पक्षी के चारों ओर प्रकाश के रंग के आधार पर पक्षी की मनोदशा हर्षित से खतरनाक में बदल जाती है। ये दोनों कार्यक्रम लगभग समान हैं। हम Adafruit NeoPixel लाइब्रेरी का उपयोग करते हैं और इन कार्यक्रमों में ट्यूनिंग बोर्ड की क्षमता है। ये प्रोग्राम Adafruit_NeoPixel/examples/Strandtest.ino (डाउनलोड 7/29/2015) में थिएटरचेसरेनबो () फ़ंक्शन से अनुकूलित किए गए हैं।

प्रकाश अपेक्षाकृत स्थिर चमक पर आयोजित किया जाता है, जबकि प्रकाश का रंग रंगों के रंग के पहिये के माध्यम से आगे बढ़ता है। रंग चक्र के चारों ओर प्रगति 100% लाल से शुरू होकर और हरे रंग को बढ़ाते हुए लाल रंग में वृद्धि करके बनाई गई है। एक बार जब हरा 100% पर हो जाता है, तो नीले रंग को बढ़ाते हुए इसे घटाया जाता है। और अंत में जैसे नीला कम होता है और लाल बढ़ जाता है आप पूर्ण चक्र में आते हैं।

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

चरण 13: प्रोग्रामिंग नियंत्रक उदाहरण कॉपरहेड:

जेनी होल्ट द्वारा "कॉपरहेड" बाहर की भावना को बढ़ाने और सांप की विशिष्टता में भिन्नता को बढ़ाने के लिए प्रकाश भिन्नता का उपयोग करता है। प्रोग्रामिंग पृष्ठभूमि प्रकाश व्यवस्था के शीर्ष पर प्रकाश की तरंगों को परत करता है।

इस कार्यक्रम के लिए हमने विकास के लिए अपने ट्यूनर सर्किट के साथ फास्टलेड लाइब्रेरी का इस्तेमाल किया।

पृष्ठभूमि रंग फ्रेम के चारों ओर 10 बिंदुओं पर सेट किया गया है और फ़ंक्शन fill_gradient() रंगों के बीच आसानी से संक्रमण के लिए उपयोग किया जाता है।

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

विलंब के बाद प्रकाश की तीन तरंगें ऊपरी दाएं से निचले बाएं की ओर बढ़ रही हैं। पहली लहर सबसे चमकीली होती है, जिसमें निम्न तरंगें धुंधली हो जाती हैं। पहली लहर भी धीमी चलती है।

चरण 14: प्रोग्रामिंग नियंत्रक उदाहरण ब्लैक डूडल:

Image
Image

जेनी होल्ट द्वारा "ब्लैक डूडल" ब्लैक विनाइल के प्रतिबिंबों की पड़ताल करता है।

यह प्रोग्राम FastLED लाइब्रेरी का भी उपयोग करता है और ट्यूनिंग सर्किट से इनपुट ले सकता है।

प्रकाश में फ्रेम के चारों ओर यादृच्छिक बिंदुओं से चलने वाले प्रकाश के 5 एक साथ प्रदर्शित होते हैं। प्रत्येक प्रदर्शन समय के साथ समान 60 चमक मानों के माध्यम से आगे बढ़ता है। प्रत्येक डिस्प्ले में किनारों की ओर कम होने वाली चमक के साथ 7 आसन्न एलईडी शामिल हैं। प्रत्येक प्रदर्शन शुरू होने से पहले एक यादृच्छिक विलंब होता है। प्रदर्शन का स्थान यादृच्छिक है लेकिन एक सक्रिय प्रदर्शन के पास के स्थान बाधित हैं।

पृष्ठभूमि फ्रेम के चारों ओर फैले रंगों का इंद्रधनुष है। यह पृष्ठभूमि इंद्रधनुष धीरे-धीरे मुड़ता है और बेतरतीब ढंग से दिशा को उलट देता है।

ये विवरण कार्यक्रमों को पढ़ने के लिए एक सिंहावलोकन और सहायता हैं। हम आशा करते हैं कि आपको इनमें से कुछ प्रकाश प्रभाव इतने दिलचस्प लगेंगे कि आप अपनी किसी परियोजना में शामिल कर सकें। github.com का लिंक जहां प्रोग्राम संग्रहीत हैं, चरण 2 संसाधन में है।

चरण 15: ट्यूनिंग कार्यों की प्रोग्रामिंग:

वर्षावन कार्यक्रम में हम ट्यूनिंग फ़ंक्शन को "#define TUNING 1" द्वारा चालू कर सकते हैं और इसके रिबन केबल का उपयोग करके ट्यूनिंग इनपुट बोर्ड संलग्न कर सकते हैं। हमें ऐसे पैरामीटर भी सेट करने होंगे जिनके लिए ट्यूनिंग द्वारा एलईडी को प्रभावित किया जाएगा। उदाहरण के लिए, आइए एल ई डी को ६१ से ७३ की स्थिति में समायोजित करें। हम #define START_TUNE ६१ और #define END_TUNE ७३ का उपयोग करते हैं। हम fill_gradient_RGB() कॉल का उपयोग करके सेटअप () में स्ट्रिंग के अन्य खंडों को पृष्ठभूमि रंगों में सेट करते हैं। आपके बाकी स्केच को एलईडी को ट्यूनिंग रेंज में सेट नहीं करना चाहिए या आप अपना समायोजन नहीं देख पाएंगे। अब स्केच चलाएँ और सीरियल मॉनिटर प्रदर्शित करें। कार्यक्रम के ट्यूनिंग भाग में 4 राज्य हैं [ह्यू, संतृप्ति, मूल्य और चमक}। ह्यू रंग का पहिया है जिसमें 0=लाल और 255 अतीत नीला से लगभग लाल होता है। वर्तमान स्थिति को सीरियल मॉनिटर पर मुद्रित किया जाना चाहिए और ट्यूनिंग बोर्ड पर संकेतक एलईडी राज्य को इंगित करने के लिए झपकाएगा (एक ब्लिंक ह्यू है; दो ब्लिंक संतृप्ति और आगे है)। मूल्य प्रकाश की तीव्रता है जबकि चमक एक कमी कारक है जो सभी एल ई डी तीव्रता मूल्यों पर लागू होता है। तो फुल ब्राइटनेस के लिए वैल्यू = 255 और ब्राइटनेस = 255 सेट करें। स्टेट को शिफ्ट करने के लिए बटन दबाएं। जब आप राज्य में हों तो आप घुंडी को समायोजित करना चाहते हैं। प्रोग्राम घुंडी को तब तक अनदेखा करता है जब तक कि वह INHIBIT_LEVEL से अधिक न हो जाए।यह अन्य राज्यों में मूल्यों को बदलने से बचता है जब आप उनके माध्यम से साइकिल चलाते हैं। उदाहरण के लिए आप ह्यू से शुरू कर सकते हैं और मनचाहा रंग प्राप्त कर सकते हैं, फिर मूल्य पर शिफ्ट हो सकते हैं और अपनी इच्छित चमक को खोजने के लिए समायोजित कर सकते हैं।

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

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

आशा है कि आपको यह निर्देश आपके प्रोजेक्ट को काम करने में मददगार लगेगा।

चरण 16: बाकी की कहानी:

यह इस परियोजना के दो अनुदेशों में से एक है। यदि आपने पहले से नहीं किया है, तो निर्देश योग्य साथी की जाँच करें:

सिफारिश की: