विषयसूची:

Arduino और TLC5940 PWM LED ड्राइवर IC: 7 कदम
Arduino और TLC5940 PWM LED ड्राइवर IC: 7 कदम

वीडियो: Arduino और TLC5940 PWM LED ड्राइवर IC: 7 कदम

वीडियो: Arduino और TLC5940 PWM LED ड्राइवर IC: 7 कदम
वीडियो: Arduino led chaser 2024, जुलाई
Anonim
Arduino और TLC5940 PWM LED ड्राइवर IC
Arduino और TLC5940 PWM LED ड्राइवर IC

इस लेख में हम टेक्सास इंस्ट्रूमेंट्स TLC5940 16-चैनल एलईडी ड्राइवर आईसी की जांच करने जा रहे हैं। ऐसा करने का हमारा कारण कई एल ई डी चलाने का एक और आसान तरीका प्रदर्शित करना है - और सर्वो भी। सबसे पहले, यहाँ TLC5940 के कुछ उदाहरण दिए गए हैं। आप दुनिया भर में मुफ्त डिलीवरी के साथ PMD Way से TLC5940 ऑर्डर कर सकते हैं।

टीएलसी5940 डीआईपी संस्करण में उपलब्ध है, और सतह-माउंट भी। यह वास्तव में एक सुविधाजनक हिस्सा है, जिससे आप पीडब्लूएम (पल्स-चौड़ाई मॉडुलन) के माध्यम से सोलह व्यक्तिगत एल ई डी की चमक को समायोजित कर सकते हैं - और आप और भी अधिक नियंत्रित करने के लिए एक से अधिक टीएलसी 5940 डेज़ी-चेन भी कर सकते हैं।

इस ट्यूटोरियल के दौरान हम बताएंगे कि एलईडी के साथ एक या एक से अधिक TLC5940 IC को कैसे नियंत्रित किया जाए और सर्वो को नियंत्रित करने पर भी ध्यान दिया जाए। इस बिंदु पर, कृपया TLC5940 (.pdf) की एक प्रति डाउनलोड करें जैसा कि आप इस प्रक्रिया के माध्यम से देखेंगे। इसके अलावा, कृपया एलेक्स लियोन द्वारा TLC5940 Arduino लाइब्रेरी को डाउनलोड और इंस्टॉल करें जो यहां पाया जा सकता है। यदि आप सुनिश्चित नहीं हैं कि पुस्तकालय कैसे स्थापित किया जाए, तो यहां क्लिक करें।

चरण 1: एक TLC5940 प्रदर्शन सर्किट बनाएँ

एक TLC5940 प्रदर्शन सर्किट बनाएँ
एक TLC5940 प्रदर्शन सर्किट बनाएँ

निम्नलिखित सर्किट आपके Arduino या संगत से सोलह एल ई डी को नियंत्रित करने के लिए आवश्यक न्यूनतम है। आप इसका उपयोग विभिन्न कार्यों के साथ प्रयोग करने के लिए कर सकते हैं और यह अनुमान लगा सकते हैं कि क्या संभव है। आपको चाहिये होगा:

  • एक Arduino Uno या संगत बोर्ड
  • 16 सामान्य, रोज़मर्रा की एलईडी जिनमें 20 एमए तक का आगे का करंट हो सकता है
  • एक 2 kΩ रोकनेवाला (10% देना या लेना)
  • एक 0.1uF सिरेमिक और एक 4.7uF इलेक्ट्रोलाइटिक कैपेसिटर

एलईडी ओरिएंटेशन पर ध्यान दें - और याद रखें कि TLC5940 एक सामान्य-एनोड एलईडी ड्राइवर है - इसलिए सभी एलईडी एनोड एक साथ जुड़े हुए हैं और फिर 5V से जुड़े हैं।

चरण 2:

इस विशेष सर्किट के लिए, आपको बाहरी 5V बिजली की आपूर्ति की आवश्यकता नहीं होगी - हालाँकि आपको भविष्य में इसकी आवश्यकता हो सकती है। रोकनेवाला का उद्देश्य एलईडी के माध्यम से प्रवाहित होने वाली धारा की मात्रा को नियंत्रित करना है। आवश्यक प्रतिरोधक मान की गणना निम्न सूत्र द्वारा की जाती है:

R = 39.06 / Imax जहां R (ओम में) प्रतिरोधक मान है और Imax (Amps में) वह अधिकतम मात्रा है जो आप एल ई डी के माध्यम से प्रवाहित करना चाहते हैं।

उदाहरण के लिए, यदि आपके पास 20 mA फॉरवर्ड करंट के साथ LED हैं - तो रेसिस्टर की गणना होगी: R = 39.06 / 0.02 = 1803 ओम। एक बार जब आप सर्किट को इकट्ठा कर लेते हैं - Arduino IDE खोलें और स्केच BasicUse.pde अपलोड करें जो TLC5940 लाइब्रेरी के उदाहरण फ़ोल्डर में है।

आपको वीडियो में जो दिखाया गया है उसके समान आउटपुट के साथ प्रस्तुत किया जाना चाहिए।

चरण 3: TLC5940. को नियंत्रित करना

अब जबकि सर्किट काम करता है, हम TLC5940 को कैसे नियंत्रित करते हैं? सबसे पहले, अनिवार्य कार्य - स्केच की शुरुआत में पुस्तकालय शामिल करें:

#शामिल "Tlc5940.h"

और फिर निम्नलिखित को शून्य सेटअप () में रखकर पुस्तकालय को प्रारंभ करें:

टीएलसी.इनिट (एक्स);

x एक वैकल्पिक पैरामीटर है - यदि आप स्केच शुरू होते ही सभी चैनलों को एक निश्चित चमक पर सेट करना चाहते हैं, तो आप Tlc.init() फ़ंक्शन में x के लिए 0 और 4095 के बीच एक मान सम्मिलित कर सकते हैं।

अब किसी चैनल/एलईडी को चालू या बंद करने के लिए। प्रत्येक चैनल को 0 से 15 तक क्रमांकित किया गया है, और प्रत्येक चैनल की चमक को 0 और 4095 के बीच समायोजित किया जा सकता है। यह एक दो-भाग प्रक्रिया है … पहला - आवश्यक चैनल और संबंधित चमक (पीडब्लूएम) सेट करने के लिए निम्नलिखित में से एक या अधिक कार्यों का उपयोग करें। स्तर):

Tlc.set (चैनल, चमक);

उदाहरण के लिए, यदि आप पहले तीन चैनलों को पूर्ण चमक पर चालू करना चाहते हैं, तो इसका उपयोग करें:

टीएलसी.सेट (0, 4095); टीएलसी.सेट (1, 4095); टीएलसी.सेट(2, 4095);

दूसरा भाग TLC5940 को भाग एक से आवश्यक निर्देशों के साथ अद्यतन करने के लिए निम्नलिखित का उपयोग करना है:

टीएलसी.अपडेट ();

यदि आप सभी चैनलों को एक साथ बंद करना चाहते हैं, तो बस उपयोग करें:

टीएलसी.क्लियर ();

चरण 4:

क्लियर फंक्शन के बाद आपको TLC.update() को कॉल करने की जरूरत नहीं है। निम्नलिखित एक त्वरित उदाहरण स्केच है जो सभी चैनलों के चमक/पीडब्लूएम मूल्यों को विभिन्न स्तरों पर सेट करता है:

#include "Tlc5940.h"void setup() { Tlc.init(0); // TLC5940 इनिशियलाइज़ करें और सभी चैनल बंद करें}

शून्य लूप ()

{ के लिए (int i = 0; i <16; i++) { Tlc.set(i, 1023); } टीएलसी.अपडेट (); देरी (1000); के लिए (int i = 0; i <16; i++) { Tlc.set(i, 2046); } टीएलसी.अपडेट (); देरी (1000); के लिए (int i = 0; i <16; i++) { Tlc.set(i, 3069); } टीएलसी.अपडेट (); देरी (1000); के लिए (int i = 0; i <16; i++) { Tlc.set(i, 4095); } टीएलसी.अपडेट (); देरी (1000); }

आरजीबी एलईडी को नियंत्रित करते समय प्रत्येक चैनल/एलईडी के लिए व्यक्तिगत चमक को नियंत्रित करने की क्षमता भी उपयोगी हो सकती है - फिर आप प्रत्येक तत्व के लिए विभिन्न चमक स्तरों के माध्यम से आसानी से आवश्यक रंगों का चयन कर सकते हैं। वीडियो में एक प्रदर्शन दिखाया गया है।

चरण 5: दो या अधिक TLC5940s का उपयोग करना

अधिक एलईडी को नियंत्रित करने के लिए आप एक साथ कुछ TLC5940s को डेज़ी-चेन कर सकते हैं। पहला - प्रदर्शन सर्किट में दिखाए गए अनुसार अगले TLC5940 को Arduino पर तार दें - पहले TLC5940 के SOUT पिन (17) को दूसरे TLC5940 के SIN पिन (26) से जोड़ने के अलावा - जैसे डेटा Arduino से यात्रा करता है, के माध्यम से पहली TLC5940 से दूसरी और इसी तरह। फिर प्रक्रिया को दोहराएं यदि आपके पास एक तिहाई है, आदि। उस रिसोट को मत भूलना जो करंट सेट करता है!

इसके बाद, TLC5940 लाइब्रेरी फ़ोल्डर में स्थित फ़ाइल tlc_config.h खोलें। NUM_TLCS के मान को आपके द्वारा एक साथ कनेक्ट किए गए TLC5940s की संख्या में बदलें, फिर फ़ाइल को सहेजें और उसी फ़ोल्डर में स्थित Tlc5940.o फ़ाइल को भी हटा दें। अंत में IDE को पुनरारंभ करें। फिर आप पहले से क्रमिक रूप से दूसरे और आगे TLC5940 के चैनलों का उल्लेख कर सकते हैं। यानी, पहला 0~15 है, दूसरा 16~29 है, और इसी तरह।

चरण 6: TLC5940. के साथ सर्वो को नियंत्रित करना

चूंकि TLC5940 PWM (पल्स-चौड़ाई मॉडुलन) आउटपुट उत्पन्न करता है, यह सर्वो को चलाने के लिए भी बहुत अच्छा है। एल ई डी की तरह - आप एक बार में सोलह तक नियंत्रित कर सकते हैं। मकड़ी जैसे रोबोट, अजीब घड़ियां बनाने या कुछ शोर करने के लिए आदर्श।

अपना सर्वो चुनते समय, सुनिश्चित करें कि यह संचालन करते समय 120 mA से अधिक नहीं खींचता है (प्रति चैनल अधिकतम करंट) और इस ट्यूटोरियल के अंत में "मैनेजिंग करंट और हीट" सेक्शन पर भी ध्यान दें। और सर्वो के साथ बाहरी शक्ति का उपयोग करें, Arduino की 5V लाइन पर भरोसा न करें।

सर्वो कनेक्ट करना सरल है - GND लाइन GND से जुड़ती है, 5V (या आपूर्ति वोल्टेज लीड) आपके 5v (या अन्य उपयुक्त आपूर्ति) से जुड़ती है और सर्वो नियंत्रण पिन TLC5940 के आउटपुट में से एक से जुड़ता है। अंत में - और यह महत्वपूर्ण है - उपयोग किए जा रहे TLC5940 आउटपुट पिन और 5V के बीच एक 2.2kΩ रोकनेवाला कनेक्ट करें। एक सर्वो को नियंत्रित करना एक एलईडी से अलग नहीं है। आपको स्केच की शुरुआत में पहली दो पंक्तियों की आवश्यकता है:

#शामिल "Tlc5940.h"#शामिल "tlc_servos.h"

फिर शून्य सेटअप में निम्नलिखित ():

tlc_initServos ();

अगला, निम्नलिखित फ़ंक्शन का उपयोग करके चुनें कि कौन सा सर्वो (चैनल) संचालित करना है और आवश्यक कोण (कोण):

tlc_setServo (चैनल, कोण);

एल ई डी की तरह ही आप इनमें से कुछ को एक साथ जोड़ सकते हैं, और फिर इसके साथ कमांड निष्पादित कर सकते हैं:

टीएलसी.अपडेट ();

तो आइए देखें कि वह सब क्रिया में है। निम्नलिखित उदाहरण स्केच 90 डिग्री के पार चार सर्वो को स्वीप करता है:

#शामिल "Tlc5940.h"#शामिल "tlc_servos.h"

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

{ tlc_initServos (); // नोट: यह PWM फ़्रीक्वेंसी को 50Hz तक कम कर देगा। }

शून्य लूप ()

{ के लिए (इंट कोण = 0; कोण = 0; कोण--) { tlc_setServo (0, कोण); tlc_setServo(1, कोण); tlc_setServo(2, कोण); tlc_setServo(3, कोण); टीएलसी.अपडेट (); देरी(५); } }

वीडियो इस स्केच को चार सर्वो के साथ कार्रवाई में दिखाता है।

यदि आप सर्वो सही कोण पर नहीं घूम रहे हैं - उदाहरण के लिए आप 180 डिग्री मांगते हैं और वे केवल 90 या उसके आसपास घूमते हैं, तो थोड़ा अतिरिक्त काम करने की आवश्यकता होती है।

आपको TLC5940 Arduino लाइब्रेरी फ़ोल्डर में स्थित tlc_servos.h फ़ाइल को खोलने और SERVO_MIN_WIDTH और SERVO_MAX_WIDTH के मानों के साथ प्रयोग करने की आवश्यकता है। उदाहरण के लिए SERVO_MIN_WIDTH को 200 से 203 और SERVO_MAX_WIDTH को 400 से 560 में बदलें।

चरण 7: करंट और हीट को मैनेज करना

जैसा कि पहले उल्लेख किया गया है, TLC5940 प्रति चैनल अधिकतम 120 mA संभाल सकता है। कुछ प्रयोग के बाद आप देख सकते हैं कि TLC5940 गर्म हो जाता है - और यह ठीक है।

ध्यान दें कि उस हिस्से को नष्ट करने से पहले जितनी शक्ति को नष्ट किया जा सकता है, उसकी अधिकतम सीमा है। यदि आप सामान्य उद्यान-किस्म के एलईडी या छोटे सर्वो का उपयोग कर रहे हैं, तो बिजली की समस्या नहीं होगी। हालाँकि यदि आप TLC5940 का अधिकतम उपयोग करने की योजना बना रहे हैं - कृपया पुस्तकालय के लेखकों द्वारा प्रदान किए गए नोट्स की समीक्षा करें।

निष्कर्ष

एक बार फिर आप अपने Arduino के साथ अविश्वसनीय रूप से उपयोगी हिस्से को नियंत्रित करने के अपने रास्ते पर हैं। अब कुछ कल्पना के साथ आप सभी प्रकार के विज़ुअल डिस्प्ले बना सकते हैं या कई सर्वो के साथ मज़े कर सकते हैं।

यह पोस्ट आपके लिए pmdway.com द्वारा लाया गया है - जो दुनिया भर में मुफ्त डिलीवरी के साथ निर्माताओं और इलेक्ट्रॉनिक्स के प्रति उत्साही लोगों के लिए TLC5940 उत्पादों की पेशकश करता है।

सिफारिश की: