विषयसूची:

Arduino के साथ कलर मिक्सर: 9 स्टेप्स (चित्रों के साथ)
Arduino के साथ कलर मिक्सर: 9 स्टेप्स (चित्रों के साथ)

वीडियो: Arduino के साथ कलर मिक्सर: 9 स्टेप्स (चित्रों के साथ)

वीडियो: Arduino के साथ कलर मिक्सर: 9 स्टेप्स (चित्रों के साथ)
वीडियो: Arduino for loop in Hindi | Arduino Programming in Hindi - Tutorial #9 2024, जुलाई
Anonim
Image
Image

लेखक द्वारा tliguori330 का अनुसरण करें:

Arduino के साथ रंग क्षेत्र
Arduino के साथ रंग क्षेत्र
डिजाइन प्रक्रिया के साथ डूडल बॉट
डिजाइन प्रक्रिया के साथ डूडल बॉट
डिजाइन प्रक्रिया के साथ डूडल बॉट
डिजाइन प्रक्रिया के साथ डूडल बॉट
Arduino टच पियानो
Arduino टच पियानो
Arduino टच पियानो
Arduino टच पियानो

के बारे में: हमेशा सीखना….. tliguori330 के बारे में अधिक »

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

चरण 1: भागों और घटकों

पार्ट्स और कंपोनेंट्स
पार्ट्स और कंपोनेंट्स
पार्ट्स और कंपोनेंट्स
पार्ट्स और कंपोनेंट्स
पार्ट्स और कंपोनेंट्स
पार्ट्स और कंपोनेंट्स
पार्ट्स और कंपोनेंट्स
पार्ट्स और कंपोनेंट्स

Arduino Uno

पोटेंशियोमीटर (x3)

आरजीबी एलईडी

220 ओम रोकनेवाला (x3)

जम्पर तार (x12)

ब्रेड बोर्ड

चरण 2: अपनी प्रगति की योजना बनाएं

अपनी प्रगति की योजना बनाएं
अपनी प्रगति की योजना बनाएं

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

१) ३ अलग-अलग पोटेंशियोमीटर पढ़ें और उनके मानों को वेरिएबल में सेव करें।

2) हम उन मानों को आरजीबी एलईडी की सीमा से मेल खाने के लिए परिवर्तित करेंगे।

3) फिर अंत में हम उन परिवर्तित मानों को RGB के प्रत्येक रंग में लिखेंगे।

चरण 3: पोटेंशियोमीटर का उपयोग कैसे करें

पोटेंशियोमीटर का उपयोग कैसे करें
पोटेंशियोमीटर का उपयोग कैसे करें
पोटेंशियोमीटर का उपयोग कैसे करें
पोटेंशियोमीटर का उपयोग कैसे करें

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

चरण 4: (3x) पोटेंशियोमीटर. के लिए वायरिंग योजनाबद्ध

(3x) पोटेंशियोमीटर. के लिए वायरिंग योजनाबद्ध
(3x) पोटेंशियोमीटर. के लिए वायरिंग योजनाबद्ध
(3x) पोटेंशियोमीटर. के लिए वायरिंग योजनाबद्ध
(3x) पोटेंशियोमीटर. के लिए वायरिंग योजनाबद्ध
(3x) पोटेंशियोमीटर. के लिए वायरिंग योजनाबद्ध
(3x) पोटेंशियोमीटर. के लिए वायरिंग योजनाबद्ध

सबसे बाएं पैर को 5v से जोड़ा जाएगा और दायां सबसे पैर GND से जोड़ा जाएगा। आप वास्तव में इन दो चरणों को उलट सकते हैं और इससे परियोजना को बहुत नुकसान नहीं होगा। वह सब बदल जाएगा जो घुंडी को पूरी तरह से बाईं ओर मोड़ने के बजाय सभी तरह से बंद होने के बजाय पूर्ण चमक होगी। मध्य पैर Arduino पर एनालॉग पिन में से एक से जुड़ा होगा। चूंकि हमारे पास तीन घुंडी होंगे, हम अभी किए गए काम को तीन गुना करना चाहेंगे। प्रत्येक नॉब को 5v और GND की आवश्यकता होती है ताकि उन्हें ब्रेड बोर्ड का उपयोग करके साझा किया जा सके। ब्रेड बोर्ड पर लाल पट्टी 5 वोल्ट से जुड़ी होती है और नीली पट्टी जमीन से जुड़ी होती है। प्रत्येक नॉब्स को अपने स्वयं के एनालॉग पिन की आवश्यकता होती है, इसलिए वे A0, A1, A2 से जुड़े होते हैं।

चरण 5: AnalogRead () और चर का उपयोग करना

आपके द्वारा पोटेंशियोमीटर को सही ढंग से सेट करने से हम उन मानों को पढ़ने के लिए तैयार हैं। जब हम ऐसा करना चाहते हैं तो हम एनालॉग रीड () फ़ंक्शन का उपयोग करते हैं। सही सिंटैक्स है analogRead(pin#); इसलिए हमारे मध्य पोटेंशियोमीटर को पढ़ने के लिए हम एनालॉगरीड (A1) करेंगे; नॉब से Arduino पर भेजे जा रहे नंबरों के साथ काम करने के लिए, हम उन नंबरों को एक वेरिएबल में भी सेव करना चाहेंगे। कोड की रेखा इस कार्य को पूरा करेगी क्योंकि हम पोटेंशियोमीटर पढ़ते हैं और इसकी वर्तमान संख्या को पूर्णांक चर "वैल" में सहेजते हैं

इंट वैल = एनालॉगरेड (A0);

चरण 6: 1 नॉब के साथ सीरियल मॉनिटर का उपयोग करना

Image
Image

वर्तमान में हम नॉब्स से मूल्य प्राप्त करने और उन्हें एक चर में संग्रहीत करने में सक्षम हैं, लेकिन यह उपयोगी होगा यदि हम इन मूल्यों को देख सकें। ऐसा करने के लिए हमें बिल्ट इन सीरियल मॉनिटर का उपयोग करने की आवश्यकता है। नीचे दिया गया कोड पहला स्केच है जिसे हम वास्तव में Arduino IDE में चलाएंगे जिसे उनकी साइट पर डाउनलोड किया जा सकता है। शून्य सेटअप () में हम एक इनपुट के रूप में प्रत्येक मध्य पैर से जुड़े एनालॉग पिन को सक्रिय करेंगे और सीरियल मॉनिटर को Serial.begin(9600) का उपयोग करके सक्रिय करेंगे; आगे हम केवल एक नॉब को पढ़ते हैं और इसे पहले की तरह एक वेरिएबल में स्टोर करते हैं। अब परिवर्तन यह है कि हमने एक पंक्ति जोड़ दी है जो प्रिंट करती है कि चर में कौन सी संख्या संग्रहीत है। यदि आप स्केच को संकलित और चलाते हैं तो आप अपना सीरियल मॉनिटर खोल सकते हैं और स्क्रीन पर स्क्रॉल करते हुए नंबर देख सकते हैं। हर बार जब कोड लूप होता है तो हम दूसरे नंबर को पढ़ और प्रिंट कर रहे होते हैं। यदि आप A0 से जुड़े नॉब को घुमाते हैं तो आपको 0-1023 के बीच के मान दिखाई देने चाहिए। बाद में लक्ष्य सभी 3 पोटेंशियोमीटर को पढ़ना होगा, जिसे सहेजने और प्रिंट करने के लिए 2 और एनालॉग रीड और 2 अलग-अलग चर की आवश्यकता होगी।

व्यर्थ व्यवस्था(){

पिनमोड (ए0, इनपुट); पिनमोड (ए 1, इनपुट); पिनमोड (ए 2, इनपुट); सीरियल.बेगिन (९६००); } शून्य लूप () {इंट वैल = एनालॉग रीड (ए 0); सीरियल.प्रिंट्लन (वैल); }

चरण 7: आरजीबी एलईडी का उपयोग करना

आरजीबी एलईडी का उपयोग करना
आरजीबी एलईडी का उपयोग करना
आरजीबी एलईडी का उपयोग करना
आरजीबी एलईडी का उपयोग करना
आरजीबी एलईडी का उपयोग करना
आरजीबी एलईडी का उपयोग करना

4 लेग्ड RGB LED i Arduino के लिए मेरे पसंदीदा घटकों में से एक है। मुझे लगता है कि जिस तरह से यह 3 मूल रंगों के मिश्रण से अंतहीन रंग बनाने में सक्षम है, वह आकर्षक है। सेट अप किसी भी नियमित एलईडी के समान है लेकिन यहां हमारे पास मूल रूप से लाल, नीले और हरे रंग की एलईडी एक साथ संयुक्त हैं। छोटे पैरों को प्रत्येक को arduino पर PWM पिन में से एक द्वारा नियंत्रित किया जाएगा। सबसे लंबा पैर 5 वोल्ट या जमीन से जुड़ा होगा, यह निर्भर करता है कि आपका सामान्य एनोड या सामान्य कैथोड एलईडी में है या नहीं। समस्या को हल करने के लिए आपको दोनों तरीके आजमाने होंगे। हमारे पास पहले से ही 5v और GND ब्रेडबोर्ड से जुड़े होंगे, इसे बदलना आसान होना चाहिए। ऊपर दिया गया चित्र 3 प्रतिरोधों का उपयोग करके भी दिखाता है। मैं वास्तव में इस कदम को अक्सर छोड़ देता हूं क्योंकि मेरे पास नहीं था और एलईडी मुझ पर उड़ा।

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

व्यर्थ व्यवस्था(){

पिनमोड (9, आउटपुट); पिनमोड (10, आउटपुट); पिनमोड (11, आउटपुट); } शून्य लूप () {एनालॉगराइट (९, २५५); एनालॉगराइट (10, 0); एनालॉगराइट (11, 125)}

चरण 8: आरजीबी एलईडी (एक बग के साथ) को नियंत्रित करने के लिए पोटेंशियोमीटर का उपयोग करना

आरजीबी एलईडी को नियंत्रित करने के लिए पोटेंशियोमीटर का उपयोग करना (एक बग के साथ)
आरजीबी एलईडी को नियंत्रित करने के लिए पोटेंशियोमीटर का उपयोग करना (एक बग के साथ)
आरजीबी एलईडी को नियंत्रित करने के लिए पोटेंशियोमीटर का उपयोग करना (एक बग के साथ)
आरजीबी एलईडी को नियंत्रित करने के लिए पोटेंशियोमीटर का उपयोग करना (एक बग के साथ)
आरजीबी एलईडी को नियंत्रित करने के लिए पोटेंशियोमीटर का उपयोग करना (एक बग के साथ)
आरजीबी एलईडी को नियंत्रित करने के लिए पोटेंशियोमीटर का उपयोग करना (एक बग के साथ)

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

व्यर्थ व्यवस्था(){

पिनमोड (ए0, इनपुट); पिनमोड (ए 1, इनपुट); पिनमोड (ए 2, इनपुट); पिनमोड (9, आउटपुट); पिनमोड (10, आउटपुट); पिनमोड (11, आउटपुट); } शून्य सेटअप () { int redVal = AnalogRead (A0); इंट ग्रीनवैल = एनालॉगरेड (ए 1); इंट ब्लूवैल = एनालॉगरेड (ए 2); एनालॉगवर्इट (9, रेडवैल); एनालॉगवर्इट (10, ग्रीनवैल); एनालॉगवर्इट (11, ब्लूवैल); }

चरण 9: बोनस: मानचित्र () फ़ंक्शन और क्लीनर कोड

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

// पोटेंशियोमीटर पिन के लिए चर नाम

इंट रेडपॉट = ए0; इंट ग्रीनपॉट = ए1; int bluePot = A2 // RGB पिन के लिए चर नाम int redLED = 9; इंट ग्रीनएलईडी = 10; इंट ब्लूएलईडी = 11; शून्य सेटअप () {पिनमोड (रेडपॉट, इनपुट); पिनमोड (ग्रीनपॉट, इनपुट); पिनमोड (ब्लूपॉट, इनपुट); पिनमोड (रेडलेड, आउटपुट); पिनमोड (ग्रीनएलईडी, आउटपुट); पिनमोड (नीला एलईडी, आउटपुट); सीरियल, शुरू (९६००); } शून्य लूप () {// पोटेंशियोमीटर से मूल्यों को पढ़ें और सहेजें int redVal = analogRead (redPot); इंट ग्रीनवैल = एनालॉगरेड (ग्रीनपॉट); इंट ब्लूवैल - एनालॉगरेड (ब्लूपॉट); // RGB LED redVal = map (redVal, 0, 1023, 0, 255) के लिए मानों को 0-1023 से 0-255 में बदलें; ग्रीनवैल = नक्शा (ग्रीनवैल, 0, 1023, 0, 255); ब्लूवैल = नक्शा (ब्लूवैल, 0, 1023, 0, 255); // इन परिवर्तित मानों को RGB LED एनालॉगवर्इट (redLED, redVal) के प्रत्येक रंग में लिखें; anaogWrite (ग्रीनएलईडी, ग्रीनवैल); एनालॉगवर्इट (ब्लूएलईडी, ब्लूवैल); // सीरियल मॉनिटर पर मान दिखाएं Serial.print("red:"); सीरियल.प्रिंट (रेडवैल); सीरियल.प्रिंट ("हरा:"); सीरियल.प्रिंट (ग्रीनवैल); सीरियल.प्रिंट ("नीला:"); सीरियल.प्रिंट्लन (ब्लूवैल); }

सिफारिश की: