- सामग्री की आवश्यकता:
- LDR:
- RGB एलईडी:
- सर्किट आरेख:
- प्रोग्रामिंग स्पष्टीकरण:
- Arduino रंग मिश्रण दीपक का काम:
क्या होगा अगर हम एक एकल आरजीबी के नेतृत्व में अलग-अलग रंगों का उपयोग कर सकते हैं और हमारे कमरे के कोने को अधिक आकर्षक बना सकते हैं? तो, यहाँ एक साधारण Arduino आधारित रंग मिश्रण दीपक है जो कमरे में प्रकाश में परिवर्तन होने पर रंग बदल सकता है। तो यह दीपक कमरे में रोशनी की स्थिति के अनुसार स्वचालित रूप से अपना रंग बदल देगा ।
हर रंग लाल, हरा और नीला रंग का संयोजन है। इसलिए हम लाल, हरे और नीले रंगों का उपयोग करके किसी भी रंग को उत्पन्न कर सकते हैं। इसलिए, यहाँ हम PWM यानी LDRs पर प्रकाश की तीव्रता को अलग-अलग करेंगे । यह आगे आरजीबी एलईडी में लाल, हरे और नीले रंग की तीव्रता को बदल देगा, और विभिन्न रंगों का उत्पादन किया जाएगा।
नीचे तालिका ड्यूटी चक्रों में संबंधित परिवर्तन के साथ रंग संयोजन दिखाती है।
सामग्री की आवश्यकता:
- 1 एक्स अरुडिनो यूएनओ
- 1 एक्स ब्रेडबोर्ड
- 3 x 220-ओम प्रतिरोधक
- 3 x 1-किलोहैम प्रतिरोधक
- जम्पर के तार
- 3 एक्स एलडीआर
- 3 एक्स रंगीन स्ट्रिप्स (लाल, हरा, नीला)
- 1 एक्स आरजीबी एलईडी
LDR:
हम यहां इस सर्किट में फोटोरेसिस्टर (या प्रकाश-निर्भर अवरोधक, LDR, या फोटो-प्रवाहकीय सेल) का उपयोग करेंगे । एलडीआर अर्धचालक सामग्रियों से बने होते हैं ताकि वे अपने प्रकाश-संवेदनशील गुणों को सक्षम कर सकें। ये LDR या फोटो रेजिस्टर्स “फोटो कंडक्टिविटी” के सिद्धांत पर काम करते हैं। अब यह सिद्धांत क्या कहता है, जब भी प्रकाश LDR की सतह पर गिरता है (इस मामले में) तत्व का प्रवाह बढ़ जाता है या दूसरे शब्दों में, LDR का प्रतिरोध तब घटता है जब प्रकाश LDR की सतह पर गिरता है। एलडीआर के लिए प्रतिरोध में कमी की यह संपत्ति हासिल की जाती है क्योंकि यह सतह पर उपयोग किए जाने वाले अर्धचालक सामग्री की संपत्ति है।
आरजीबी एलईडी के अंदर व्यक्तिगत लाल, हरे और नीले एलईडी की चमक को नियंत्रित करने के लिए यहां तीन एलडीआर सेंसर का उपयोग किया जाता है। यहाँ Arduino के साथ LDR को नियंत्रित करने के बारे में अधिक जानें।
RGB एलईडी:
आरजीबी एलईडी दो प्रकार के होते हैं, एक सामान्य कैथोड प्रकार (सामान्य नकारात्मक) और दूसरा सामान्य एनोड प्रकार (सामान्य सकारात्मक) प्रकार होता है। CC (कॉमन कैथोड या कॉमन नेगेटिव) में, प्रत्येक रंग का प्रतिनिधित्व करने वाले प्रत्येक टर्मिनल में तीन पॉजिटिव टर्मिनल होंगे और सभी तीन रंगों का प्रतिनिधित्व करने वाला एक नकारात्मक टर्मिनल होगा।
हमारे सर्किट में हम CA (कॉमन एनोड या कॉमन पॉजिटिव) प्रकार का उपयोग करने जा रहे हैं । आम एनोड प्रकार में, अगर हम RED LED को चालू करना चाहते हैं, तो हमें RED LED पिन को ग्राउंड करना होगा और आम पॉजिटिव को पावर करना होगा। सभी एल ई डी के लिए एक ही जाता है। Arduino के साथ RGB LED इंटरफ़ेस करने के लिए यहाँ जानें।
सर्किट आरेख:
इस परियोजना का पूरा सर्किट आरेख ऊपर दिया गया है। सर्किट आरेख में दिखाए गए + 5V और ग्राउंड कनेक्शन को Arduino के 5V और ग्राउंड पिन से प्राप्त किया जा सकता है। Arduino अपने आप आपके लैपटॉप से या DC जैक के माध्यम से 12V एडॉप्टर या 9V बैटरी का उपयोग करके संचालित किया जा सकता है।
आरजीबी के नेतृत्व में चमक को बदलने के लिए हम पीडब्लूएम का उपयोग करेंगे। आप यहां PWM के बारे में अधिक जान सकते हैं। यहाँ Arduino के साथ कुछ PWM उदाहरण दिए गए हैं:
- Arduino Uno द्वारा परिवर्तनीय बिजली की आपूर्ति
- Arduino का उपयोग कर डीसी मोटर नियंत्रण
- Arduino आधारित टोन जनरेटर
प्रोग्रामिंग स्पष्टीकरण:
सबसे पहले, हम नीचे दिखाए गए अनुसार सभी इनपुट और आउटपुट पिन घोषित करते हैं।
const बाइट red_sensor_pin = A0; const byte green_sensor_pin = A1; const byte blue_sensor_pin = A2; const byte green_led_pin = 9; const बाइट blue_led_pin = 10; const बाइट red_led_pin = 11;
सेंसर और एल ई डी के प्रारंभिक मूल्यों की घोषणा करें।
अहस्ताक्षरित int red_led_value = 0; अहस्ताक्षरित int blue_led_value = 0; अहस्ताक्षरित int green_led_value = 0; अहस्ताक्षरित int red_sensor_value = 0; अहस्ताक्षरित int blue_sensor_value = 0; अहस्ताक्षरित int green_sensor_value = 0; शून्य सेटअप () { pinMode (red_led_pin, OUTPUT); pinMode (blue_led_pin, OUTPUT); पिनमोड (green_led_pin, OUTPUT); सीरियल.बेगिन (9600); }
लूप सेक्शन में, हम analogRead () के साथ तीन सेंसर का आउटपुट लेंगे ; फ़ंक्शन और तीन अलग-अलग चर में स्टोर करें।
शून्य लूप () { red_sensor_value = analogRead (red_sensor_pin); देरी (50); blue_sensor_value = analogRead (blue_sensor_pin); देरी (50); green_sensor_value = analogRead (green_sensor_pin);
डिबगिंग उद्देश्य के लिए धारावाहिक मॉनिटर पर उन मूल्यों को प्रिंट करें
Serial.println ("रॉ सेंसर वेल्यूज़:"); Serial.print ("\ t लाल:"); सीरियल.प्रिंट (red_sensor_value); Serial.print ("\ t ब्लू:"); सीरियल.प्रिंट (ब्लू_सेंसर_वल्यू); Serial.print ("\ t ग्रीन:"); सीरीयल.प्रिंट (ग्रीन_सेंसर_वल्यू);
हम सेंसर से 0-1023 मान प्राप्त करेंगे लेकिन हमारे Arduino PWM पिन में आउटपुट के रूप में 0-255 मान हैं। इसलिए हमें अपने कच्चे मूल्यों को 0-255 में बदलना होगा। इसके लिए हमें कच्चे मूल्यों को 4 से विभाजित करना होगा या बस हम इन मूल्यों को परिवर्तित करने के लिए Arduino के मैपिंग फ़ंक्शन का उपयोग कर सकते हैं।
red_led_value = red_sensor_value / 4; // परिभाषित लाल एलईडी blue_led_value = blue_sensor_value / 4; // ब्लू एलईडी ग्रीन_ल्ड_वेल्यू = ग्रीन_सेंसर_वल्यू / 4 परिभाषित करें ; // ग्रीन एलईडी को परिभाषित करें
धारावाहिक मॉनीटर के लिए मैप किए गए मान प्रिंट करें
Serial.println ("मैप्ड सेंसर मान:"); Serial.print ("\ t लाल:"); सीरियल.प्रिंट (red_led_value); Serial.print ("\ t ब्लू:"); सीरियल.प्रिंट (ब्लू_ल्ड_वेल्यू); Serial.print ("\ t ग्रीन:"); धारावाहिक.प्रदर्शन (ग्रीन_ल्ड_वेल्यू);
RGB LED के लिए आउटपुट सेट करने के लिए analogWrite () का उपयोग करें
analogWrite (red_led_pin, red_led_value); // लाल एलईडी एनालॉगवर्इट (blue_led_pin, blue_led_value) इंगित करें; // ब्लू एलईडी एनालॉगवर्ट (ग्रीन_ल्ड_पिन, ग्रीन_ल्ड_वेल्यू) इंगित करें; // हरे रंग का संकेत दें
Arduino रंग मिश्रण दीपक का काम:
जैसा कि हम तीन एलडीआर का उपयोग कर रहे हैं, जब इन सेंसरों पर प्रकाश की घटना होती है, तो यह प्रतिरोध में परिवर्तन होता है परिणामस्वरूप वोल्टेज भी Arduino के एनालॉग पिंस में बदल जाता है जो सेंसर के लिए एक इनपुट पिन के रूप में कार्य कर रहा है।
जब इन सेंसरों पर प्रकाश की तीव्रता में परिवर्तन होता है, तो यह संबंधित है कि RGB में प्रतिरोध की मात्रा के साथ चमक होगी और हम RGB में PWM का उपयोग करके अलग-अलग रंग मिलाते हैं।