विषयसूची:
- चरण 1: आरजीबी कलर स्पेस
- चरण 2: द गुड शिप लिसाजौस
- चरण 3: रुको - हम एक साइनसॉइडल वेव के साथ एक एलईडी कैसे चला सकते हैं?
- चरण 4: आइए एक 3D LIssajous पैटर्न बनाएं
- चरण 5: यह सब एक साथ Arduino पर रखना
- चरण 6: आगे क्या है?
वीडियो: रंग स्थान की खोज: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
हमारी आंखें उन रिसेप्टर्स के माध्यम से प्रकाश का अनुभव करती हैं जो दृश्य स्पेक्ट्रम में लाल, हरे और नीले रंग के प्रति संवेदनशील होते हैं। लोगों ने पिछले एक सौ वर्षों में फिल्म, टेलीविजन, कंप्यूटर और अन्य उपकरणों के माध्यम से रंगीन चित्र प्रदान करने के लिए इस तथ्य का उपयोग किया है।
कंप्यूटर या फोन के डिस्प्ले में, स्क्रीन पर एक दूसरे के बगल में छोटे लाल, हरे और नीले एल ई डी की तीव्रता को बदलकर छवियों को कई रंगों में प्रदर्शित किया जाता है। लाल, हरे या नीले एलईडी से प्रकाश की तीव्रता को बदलकर लाखों अलग-अलग रंग दिखाए जा सकते हैं।
यह प्रोजेक्ट आपको Arduino, RGB LED और थोड़ा गणित का उपयोग करके लाल, हरे और नीले (RGB) रंग स्थान का पता लगाने में मदद करेगा।
आप तीन रंगों, लाल, हरे और नीले रंग की तीव्रता के बारे में सोच सकते हैं, एक घन में निर्देशांक के रूप में, जहां प्रत्येक रंग एक अक्ष के साथ होता है, और सभी तीन अक्ष एक दूसरे के लंबवत होते हैं। आप अक्ष के शून्य बिंदु, या मूल के जितने करीब होंगे, उस रंग का उतना ही कम दिखाई देगा। जब तीनों रंगों के मान शून्य बिंदु या मूल बिंदु पर होते हैं, तो रंग काला होता है, और RGB LED पूरी तरह से बंद हो जाती है। जब तीनों रंगों का मान उतना ही ऊंचा हो जितना वे जा सकते हैं (हमारे मामले में, तीन रंगों में से प्रत्येक के लिए 255), आरजीबी एलईडी पूरी तरह से चालू है, और आंख रंगों के इस संयोजन को सफेद मानती है।
चरण 1: आरजीबी कलर स्पेस
अपनी अच्छी छवि का उपयोग करने की अनुमति के लिए केनेथ मोरलैंड को धन्यवाद।
हम Arduino से जुड़े RGB LED का उपयोग करके 3D कलर स्पेस क्यूब के कोनों का पता लगाना चाहते हैं, लेकिन इसे दिलचस्प तरीके से करना भी चाहते हैं। हम इसे तीन छोरों (लाल, हरे और नीले रंग के लिए एक) को नेस्ट करके और हर संभव रंग संयोजन के माध्यम से चला सकते हैं, लेकिन यह वास्तव में उबाऊ होगा। क्या आपने कभी ऑसिलोस्कोप पर 2डी लिसाजस पैटर्न देखा है या ए लेजर लाइट शो? सेटिंग्स के आधार पर, एक लिसाजस पैटर्न एक विकर्ण रेखा, एक वृत्त, एक आकृति 8, या धीरे-धीरे घूमने वाले नुकीले तितली जैसे पैटर्न की तरह दिख सकता है। एक्स-वाई (या, हमारे मामले के लिए, एक्स-वाई-जेड या आर-जी-बी) कुल्हाड़ियों पर प्लॉट किए गए दो (या अधिक) ऑसिलेटर के साइनसोइडल संकेतों को ट्रैक करके लिसाजस पैटर्न बनाए जाते हैं।
चरण 2: द गुड शिप लिसाजौस
सबसे दिलचस्प लिसाजस पैटर्न तब दिखाई देते हैं जब साइनसॉइडल संकेतों की आवृत्तियां थोड़ी मात्रा में भिन्न होती हैं। यहाँ आस्टसीलस्कप फोटो में, आवृत्तियाँ 5 से 2 के अनुपात से भिन्न होती हैं (दोनों अभाज्य संख्याएँ हैं)। यह पैटर्न अपने वर्ग को बहुत अच्छी तरह से कवर करता है, और अच्छी तरह से कोनों में आ जाता है। उच्च अभाज्य संख्याएँ वर्ग को कवर करने और कोनों में और भी आगे बढ़ने का बेहतर काम करेंगी।
चरण 3: रुको - हम एक साइनसॉइडल वेव के साथ एक एलईडी कैसे चला सकते हैं?
तुमने मुझे पकड़ लिया! हम तीन रंगों में से प्रत्येक के लिए ऑफ (0) से लेकर फुल ऑन (255) तक के 3डी कलर स्पेस का पता लगाना चाहते हैं, लेकिन साइनसॉइडल तरंगें -1 से +1 तक भिन्न होती हैं। हम जो चाहते हैं उसे पाने के लिए हम यहां थोड़ा गणित और प्रोग्रामिंग करने जा रहे हैं।
- -127 से +127. तक के मान प्राप्त करने के लिए प्रत्येक मान को 127 से गुणा करें
- 127 जोड़ें और प्रत्येक मान को 0 से 255 तक के मान प्राप्त करने के लिए गोल करें (हमारे लिए 255 के काफी करीब)
0 से 255 तक के मान सिंगल-बाइट नंबर (C-लाइक Arduino प्रोग्रामिंग लैंग्वेज में "char" डेटा टाइप) द्वारा दर्शाए जा सकते हैं, इसलिए हम सिंगल-बाइट रिप्रेजेंटेशन का उपयोग करके मेमोरी को सेव करेंगे।
लेकिन कोणों के बारे में कैसे? यदि आप डिग्री का उपयोग कर रहे हैं, तो साइनसॉइड में कोण 0 से 360 तक होते हैं। यदि आप रेडियन का उपयोग कर रहे हैं, तो कोण 0 से 2 गुना π ("pi") तक होते हैं। हम कुछ ऐसा करने जा रहे हैं जो फिर से हमारे Arduino में मेमोरी को संरक्षित करता है, और एक सर्कल को 256 भागों में विभाजित करने के बारे में सोचता है, और "बाइनरी एंगल्स" होता है जो 0 से 255 तक होता है, इसलिए प्रत्येक रंग के लिए "कोण" हो सकते हैं सिंगल-बाइट नंबरों या वर्णों द्वारा यहां भी दर्शाया गया है।
Arduino जिस तरह से है, वह बहुत ही अद्भुत है, और यद्यपि यह साइनसॉइडल मूल्यों की गणना कर सकता है, हमें कुछ तेज़ चाहिए। हम मानों की पूर्व-गणना करेंगे, और उन्हें हमारे प्रोग्राम में सिंगल-बाइट, या चार मानों की 256-प्रविष्टि लंबी सरणी में डाल देंगे (Arduino प्रोग्राम में SineTable[…] घोषणा देखें)।
चरण 4: आइए एक 3D LIssajous पैटर्न बनाएं
तीन रंगों में से प्रत्येक के लिए एक अलग आवृत्ति पर तालिका के माध्यम से चक्र के लिए, हम प्रति रंग एक इंडेक्स रखेंगे, और रंगों के माध्यम से कदम रखते ही प्रत्येक इंडेक्स में अपेक्षाकृत प्राइम ऑफ़सेट जोड़ देंगे। हम रेड, ग्रीन और ब्लू इंडेक्स वैल्यू के लिए अपेक्षाकृत प्राइम ऑफ़सेट के रूप में 2, 5 और 11 को चुनेंगे। जब हम प्रत्येक अनुक्रमणिका में ऑफ़सेट मान जोड़ते हैं, तो Arduino की अपनी आंतरिक गणित क्षमताएं स्वचालित रूप से चारों ओर लपेटकर हमारी सहायता करेंगी।
चरण 5: यह सब एक साथ Arduino पर रखना
अधिकांश Arduinos में कई PWM (या पल्स चौड़ाई मॉड्यूलेशन) चैनल होते हैं। हमें यहां तीन की आवश्यकता होगी। इसके लिए एक Arduino UNO बहुत अच्छा है। यहां तक कि थोड़ा सा 8-बिट Atmel माइक्रोकंट्रोलर (ATTiny85) भी शानदार ढंग से काम करता है।
प्रत्येक PWM चैनल Arduino के "AnalogWrite" फ़ंक्शन का उपयोग करके RGB LED के एक रंग को चलाएगा, जहां साइनसॉइडल चक्र के चारों ओर प्रत्येक बिंदु पर रंग की तीव्रता को पल्स चौड़ाई, या कर्तव्य चक्र, 0 से (सभी बंद) द्वारा दर्शाया जाता है।) से 255 (सभी चालू)। हमारी आंखें इन अलग-अलग पल्स चौड़ाई को देखती हैं, जो कि एलईडी की अलग-अलग तीव्रता या चमक के रूप में काफी तेजी से दोहराई जाती हैं। आरजीबी एलईडी में तीन रंगों में से प्रत्येक को चलाने वाले सभी तीन पीडब्लूएम चैनलों को मिलाकर, हमें 256 * 256 * 256, या सोलह मिलियन से अधिक रंग प्रदर्शित करने की क्षमता मिलती है!
आपको Arduino IDE (इंटरएक्टिव डेवलपमेंट एनवायरनमेंट) सेट करना होगा, और इसके USB केबल का उपयोग करके इसे अपने Arduino बोर्ड से कनेक्ट करना होगा। PWM आउटपुट 3, 5, और 6 (प्रोसेसर पिन 5, 11, और 12) से तीन 1 KΩ (एक हजार ओम) रेसिस्टर्स को अपने प्रोटो बोर्ड या प्रोटो शील्ड पर और रेसिस्टर्स से LED R, G तक जंपर्स चलाएं।, और बी पिन।
- यदि आरजीबी एलईडी एक सामान्य कैथोड (नकारात्मक टर्मिनल) है, तो कैथोड से वापस Arduino पर GND पिन पर एक तार चलाएं।
- यदि आरजीबी एलईडी एक सामान्य एनोड (पॉजिटिव टर्मिनल) है, तो एनोड से वापस Arduino पर +5V पिन पर एक तार चलाएं।
Arduino स्केच किसी भी तरह से काम करेगा। मैं एक SparkFun Electronics / COM-11120 RGB आम कैथोड LED (ऊपर चित्रित, SparkFun वेब साइट से) का उपयोग करने के लिए हुआ। सबसे लंबा पिन सामान्य कैथोड है।
RGB-Instructable.ino स्केच डाउनलोड करें, इसे Arduino IDE के साथ खोलें, और टेस्ट कंपाइल करें। सही लक्ष्य Arduino बोर्ड या चिप निर्दिष्ट करना सुनिश्चित करें, फिर प्रोग्राम को Arduino में लोड करें। इसे तुरंत शुरू किया जाना चाहिए।
आप आरजीबी एलईडी चक्र को जितने रंगों के नाम से देख सकते हैं, और लाखों आप नहीं देख सकते हैं!
चरण 6: आगे क्या है?
हमने अभी-अभी अपने Arduino के साथ RGB Color Space की खोज शुरू की है। कुछ अन्य चीजें जो मैंने इस अवधारणा के साथ की हैं उनमें शामिल हैं:
चीजों को वास्तव में गति देने के लिए, AnalogWrite का उपयोग करने के बजाय, ऑन-चिप रजिस्टरों को सीधे लिखना
- सर्किट को संशोधित करना ताकि एक IR निकटता सेंसर आपकी गति के आधार पर चक्र को गति या धीमा कर दे
- Arduino बूटलोडर और इस स्केच के साथ Atmel ATTiny85 8-पिन माइक्रोकंट्रोलर प्रोग्रामिंग करना
सिफारिश की:
परिवार के आधार पर अपने परिवार के पेड़ के भीतर अधूरे मंदिर अध्यादेश कार्य को खोजने के लिए होप के सीने के विस्तार का उपयोग करना खोज: 11 कदम
परिवार खोज पर अपने परिवार के पेड़ के भीतर अधूरे मंदिर अध्यादेश कार्य को खोजने के लिए होप्स चेस्ट एक्सटेंशन का उपयोग करना: इस निर्देश का उद्देश्य यह प्रदर्शित करना है कि परिवार में अपने परिवार के पेड़ की खोज कैसे करें अपूर्ण मंदिर अध्यादेश कार्य वाले पूर्वजों को होप के चेस्ट एक्सटेंशन का उपयोग करके खोजें। होप्स चेस्ट का उपयोग करने से आपकी खोज में बहुत तेजी आ सकती है
ESP32 पर Google खोज: 7 कदम
ESP32 पर Google खोज: इस ट्यूटोरियल में मैं आपको दिखाऊंगा कि ESP32 के साथ Google खोज कैसे करें। परिणाम स्वयं बहुत उपयोगी नहीं है क्योंकि खोज परिणाम कंप्यूटर पर सीरियल मॉनिटर में होते हैं, लेकिन ESP32 की शक्ति को करना और दिखाना एक अच्छी बात है। कोड कर सकते हैं
ब्लूटूथ के साथ एलईडी डिवाइस: एक और आयाम स्थान के लिए प्रवेश: 6 कदम
ब्लूटूथ के साथ एलईडी डिवाइस: एक और आयाम स्थान के लिए प्रवेश: यह सेक्रेड ऑब्जेक्ट नामक मेरी मूर्तिकला परियोजना के लिए एक एलईडी लाइट डिवाइस आर्ट वर्क है। मैं इस उपकरण का उपयोग एक नई दुनिया के लिए एक प्रविष्टि प्रस्तुत करने के लिए कर रहा हूं। जब मैं एलईडी लाइट चालू करता हूं, तो हम कंक्रीट बॉक्स के अंदर एक अनंत सुरंग देख सकते हैं। एलईडी पट्टी नियंत्रण है
NodeMCU ESP8266 के साथ स्थान ट्रैकर: 10 कदम
NodeMCU ESP8266 के साथ स्थान ट्रैकर: क्या आप इस बारे में उत्सुक हैं कि आपका NodeMCU आपके स्थान को कैसे ट्रैक कर सकता है? जीपीएस मॉड्यूल और बिना डिस्प्ले के भी यह संभव है। आउटपुट निर्देशांक होगा जहां आप स्थित हैं और आप उन्हें अपने सीरियल मॉनिटर में देखेंगे। निम्नलिखित सेटअप था
भौगोलिक स्थान: 5 कदम
भौगोलिक स्थान: यह मेरी ग्रीष्मकालीन इंटर्नशिप परियोजना है। मुझे वास्तव में आश्चर्य होता है जब मैं सुनता हूं कि हम जीपीएस मॉड्यूल का उपयोग किए बिना केवल NodeMCU का उपयोग किए बिना किसी भी उपकरण का पता लगा सकते हैं। इसके माध्यम से हम किसी भी डिवाइस को ट्रेस कर सकते हैं। आपको यह भी आश्चर्य होता है कि हम केवल वाईफाई का उपयोग करके डिवाइस को कैसे ट्रेस कर सकते हैं। वह