विषयसूची:

Arduino RGB LED स्ट्रिप कंट्रोलर: 4 कदम
Arduino RGB LED स्ट्रिप कंट्रोलर: 4 कदम

वीडियो: Arduino RGB LED स्ट्रिप कंट्रोलर: 4 कदम

वीडियो: Arduino RGB LED स्ट्रिप कंट्रोलर: 4 कदम
वीडियो: Arduino Compatible Led Cube RGB 8x8x8 Palta Style 2024, जुलाई
Anonim
Arduino RGB LED स्ट्रिप कंट्रोलर
Arduino RGB LED स्ट्रिप कंट्रोलर

अक्सर जब लोग Arduino के साथ अपनी RGB LED स्ट्रिप को नियंत्रित करना चाहते हैं, तो लाल, हरे और नीले रंगों को मिलाने के लिए तीन पोटेंशियोमीटर का उपयोग किया जाता है। यह काम करता है और आपकी आवश्यकताओं के लिए बिल्कुल ठीक हो सकता है, लेकिन मैं कुछ और सहज ज्ञान युक्त बनाना चाहता था, कुछ रंगीन पहिया जैसा।

यह परियोजना एक रोटरी एन्कोडर के लिए एक आदर्श अनुप्रयोग प्रतीत होती है। यह एक ऐसा उपकरण है जो अपने शाफ्ट की गति को एक डिजिटल आउटपुट में परिवर्तित करता है। जब शाफ्ट को घुमाया जाता है, तो एन्कोडर एक संकेत (पल्स) भेजता है जिसे एक Arduino द्वारा मापा जा सकता है। रोटरी एनकोडर के बारे में अधिक जानकारी के लिए, आप यह वीडियो देख सकते हैं जो इसे और अधिक गहराई से समझाता है।

इस निर्देशयोग्य में मैं आपको दिखाऊंगा कि रोटरी एनकोडर का उपयोग करके एक Arduino RGB LED स्ट्रिप कंट्रोलर कैसे बनाया जाता है। यह निर्देशयोग्य ब्रेडबोर्ड पर सर्किट के निर्माण को कवर करता है। हालाँकि आप Arduino शील्ड बनाने के लिए अपना खुद का PCB तैयार कर सकते हैं!

चरण 1: भाग

पार्ट्स
पार्ट्स
पार्ट्स
पार्ट्स

RGB LED स्ट्रिप कंट्रोलर के लिए आपको निम्नलिखित सामग्रियों की आवश्यकता होगी:

  • 1x अरुडिनो नैनो
  • 3x IRLB8721PBF, कोई भी एन-चैनल तर्क स्तर MOSFET तब तक करेगा जब तक कि इसे न्यूनतम 12V पर रेट किया गया हो और आपकी एलईडी पट्टी की खपत होती है।
  • 1x रोटरी एनकोडर
  • 1x 12V 2A बिजली की आपूर्ति, बिजली की आपूर्ति को वर्तमान में उपयोग की गई एलईडी पट्टी की लंबाई पर निर्भर हो सकता है।
  • 16x पुरुष से पुरुष जम्पर तार
  • 1x सोल्डरलेस ब्रेडबोर्ड, कोई भी ब्रेडबोर्ड तब तक करेगा जब तक वह पर्याप्त रूप से बड़ा हो।

चरण 2: सर्किट

सर्किट
सर्किट
सर्किट
सर्किट

ब्रेडबोर्ड के 12V और GND रेल से Arduino को कनेक्ट करें। फिर अन्य भागों को इस प्रकार कनेक्ट करें:

रोटरी कोडित्र

पिन ए - डी4

पिन बी - डी3

जीएनडी - जीएनडी

MOSFET लाल

गेट - GND

नाली - एलईडी पट्टी लाल तार

स्रोत - D11

MOSFET ग्रीनगेट - GND

नाली - एलईडी पट्टी हरी तार

स्रोत - D9

MOSFET ब्लूगेट - GND

नाली - एलईडी पट्टी नीला तार

स्रोत - D6

चरण 3: कोड

// Arduino PWM पिन

इंट रेडपिन = 11; इंट ग्रीनपिन = 6; इंट ब्लूपिन = 9; // Arduino एनकोडर पिन int encoderPinA = 3; इंट एनकोडरपिनबी = 4; // रंग चर int colorVal; इंट रेडवैल; इंट ग्रीनवैल; इंट ब्लूवैल; // एनकोडर चर int encoderPos; int एनकोडरPinACवर्तमान; इंट एनकोडरपिनलास्ट = हाई; // अन्य इंट काउंटर; शून्य सेटअप () {पिनमोड (एनकोडर पिनए, INPUT_PULLUP); पिनमोड (एनकोडरपिनबी, INPUT_PULLUP); } शून्य लूप () {readEncoder (); encoder2rgb (काउंटर); एनालॉगवर्इट (रेडपिन, रेडवैल); एनालॉगवर्इट (ग्रीनपिन, ग्रीनवैल); एनालॉगवर्इट (ब्लूपिन, ब्लूवैल); } int readEncoder(){ encoderPinACurrent = digitalRead (encoderPinA); अगर ((encoderPinALast == LOW) && (encoderPinACurrent == HIGH)){ अगर (digitalRead(encoderPinB) == LOW){ encoderPos = encoderPos - 1; } और { encoderPos = encoderPos + 1; } } encoderPinALast = encoderPinACurrent; काउंटर = एनकोडरपॉस * 8; अगर (काउंटर १५३५) {काउंटर = ०; } वापसी काउंटर; } int encoder2rgb(int counterVal){// लाल से पीला अगर (काउंटरवैल <= 255){ colorVal = counterVal; रेडवैल = २५५; ग्रीनवैल = कलरवैल; ब्लूवैल = 0; } // पीला से हरा और अगर (काउंटरवैल <= 511) {colorVal = counterVal - 256; रेडवैल = 255 - कलरवैल; ग्रीनवैल = २५५; ब्लूवैल = 0; } // हरा से सियान और अगर (काउंटरवैल <= ७६७) {colorVal = counterVal - ५१२; रेडवैल = 0; ग्रीनवैल = २५५; ब्लूवैल = कलरवैल; } // सियान से नीला और अगर (काउंटरवैल <= 1023) {colorVal = काउंटरवैल - 768; रेडवैल = 0; ग्रीनवैल = 255 - कलरवैल; ब्लूवैल = २५५; } // नीला से मैजेंटा और अगर (काउंटरवैल <= 1279) {colorVal = काउंटरवैल - 1024; रेडवैल = कलरवैल; ग्रीनवैल = 0; ब्लूवैल = २५५; } // मैजेंटा से लाल और {colorVal = counterVal - १२८०; रेडवैल = २५५; ग्रीनवैल = 0; ब्लूवैल = 255 - कलरवैल; } रेडवैल, ग्रीनवैल, ब्लूवैल लौटाएं; }

सिफारिश की: