সুচিপত্র:

Arduino এবং TLC5940 PWM LED ড্রাইভার IC: 7 ধাপ
Arduino এবং TLC5940 PWM LED ড্রাইভার IC: 7 ধাপ

ভিডিও: Arduino এবং TLC5940 PWM LED ড্রাইভার IC: 7 ধাপ

ভিডিও: Arduino এবং TLC5940 PWM LED ড্রাইভার IC: 7 ধাপ
ভিডিও: How to dim an LED - the two MOST COMMON ways | Basic Electronics 2024, জুলাই
Anonim
Arduino এবং TLC5940 PWM LED ড্রাইভার IC
Arduino এবং TLC5940 PWM LED ড্রাইভার IC

এই নিবন্ধে আমরা টেক্সাস যন্ত্র TLC5940 16-চ্যানেল LED ড্রাইভার IC পরীক্ষা করতে যাচ্ছি। এটি করার জন্য আমাদের কারণ হল অনেক LEDs চালানোর আরেকটি, সহজ উপায় প্রদর্শন করা - এবং সার্ভোসগুলিও। প্রথমত, এখানে TLC5940 এর কয়েকটি উদাহরণ। বিশ্বব্যাপী বিনামূল্যে ডেলিভারির সাথে আপনি PMD Way থেকে TLC5940 অর্ডার করতে পারেন।

TLC5940 DIP সংস্করণে পাওয়া যায়, এবং সারফেস-মাউন্ট। এটি সত্যিই একটি সুবিধাজনক অংশ, যা আপনাকে PWM (পালস-প্রস্থ মডুলেশন) এর মাধ্যমে ষোলটি পৃথক LEDs এর উজ্জ্বলতা সামঞ্জস্য করতে দেয়-এবং আপনি আরও নিয়ন্ত্রণ করতে একাধিক TLC5940 ডেইজি-চেইনও করতে পারেন।

এই টিউটোরিয়াল চলাকালীন আমরা ব্যাখ্যা করবো কিভাবে এলইডি দিয়ে এক বা একাধিক TLC5940 IC গুলি নিয়ন্ত্রণ করতে হয় এবং সার্ভিস নিয়ন্ত্রণের দিকেও নজর দিতে হয়। এই মুহুর্তে, দয়া করে TLC5940 (.pdf) এর একটি অনুলিপি ডাউনলোড করুন কারণ আপনি এই প্রক্রিয়ার মাধ্যমে এটি উল্লেখ করবেন। উপরন্তু, দয়া করে অ্যালেক্স লিওনের TLC5940 Arduino লাইব্রেরি ডাউনলোড এবং ইনস্টল করুন যা এখানে পাওয়া যাবে। লাইব্রেরি কিভাবে ইনস্টল করবেন তা নিশ্চিত না হলে এখানে ক্লিক করুন।

ধাপ 1: একটি TLC5940 বিক্ষোভ সার্কিট তৈরি করুন

একটি TLC5940 ডেমোনস্ট্রেশন সার্কিট তৈরি করুন
একটি TLC5940 ডেমোনস্ট্রেশন সার্কিট তৈরি করুন

নিম্নলিখিত সার্কিট হল আপনার Arduino বা সামঞ্জস্যপূর্ণ থেকে ষোলো LEDs নিয়ন্ত্রণ করার জন্য প্রয়োজনীয় সর্বনিম্ন। আপনি এটি ব্যবহার করতে পারেন বিভিন্ন ফাংশনের সাথে পরীক্ষা করতে এবং কী সম্ভব তা সম্পর্কে ধারণা পেতে। আপনার প্রয়োজন হবে:

  • একটি Arduino Uno বা সামঞ্জস্যপূর্ণ বোর্ড
  • 16 স্বাভাবিক, দৈনন্দিন LEDs যা 20 mA পর্যন্ত এগিয়ে যেতে পারে
  • একটি 2 kΩ প্রতিরোধক (10%দিন বা নিন)
  • একটি 0.1uF সিরামিক এবং একটি 4.7uF ইলেক্ট্রোলাইটিক ক্যাপাসিটর

এলইডি ওরিয়েন্টেশন নোট করুন-এবং মনে রাখবেন TLC5940 হল একটি সাধারণ-অ্যানোড LED ড্রাইভার-তাই সমস্ত LED অ্যানোড একসাথে এবং তারপর 5V এর সাথে সংযুক্ত থাকে।

ধাপ ২:

এই নির্দিষ্ট সার্কিটের জন্য, আপনার বাহ্যিক 5V বিদ্যুৎ সরবরাহের প্রয়োজন হবে না - তবে ভবিষ্যতে আপনার একটি প্রয়োজন হতে পারে। প্রতিরোধকের উদ্দেশ্য হল LEDs এর মাধ্যমে প্রবাহিত পরিমাণের পরিমাণ নিয়ন্ত্রণ করা। প্রয়োজনীয় প্রতিরোধক মান নিম্নলিখিত সূত্র দ্বারা গণনা করা হয়:

R = 39.06 / Imax যেখানে R (Ohms তে) হল রোধক মান এবং Imax (Amps) হল সর্বাধিক পরিমাণে আপনি LEDs এর মাধ্যমে প্রবাহিত করতে চান।

উদাহরণস্বরূপ, যদি আপনার 20 এমএ ফরওয়ার্ড কারেন্ট সহ এলইডি থাকে - রেসিস্টর হিসাব হবে: R = 39.06 / 0.02 = 1803 Ohms। একবার আপনার সার্কিট একত্রিত হয়ে গেলে - Arduino IDE খুলুন এবং TLC5940 লাইব্রেরির উদাহরণ ফোল্ডারে থাকা স্কেচ BasicUse.pde আপলোড করুন।

আপনাকে ভিডিওতে যা দেখানো হয়েছে তার অনুরূপ আউটপুট উপস্থাপন করা উচিত।

ধাপ 3: TLC5940 নিয়ন্ত্রণ করা

এখন যেহেতু সার্কিট কাজ করে, আমরা কিভাবে TLC5940 নিয়ন্ত্রণ করব? প্রথমত, বাধ্যতামূলক কাজগুলি - স্কেচের শুরুতে লাইব্রেরি অন্তর্ভুক্ত করুন:

#অন্তর্ভুক্ত করুন "Tlc5940.h"

এবং তারপরে নিম্নলিখিতটিকে অকার্যকর সেটআপ () এ রেখে লাইব্রেরির সূচনা করুন:

Tlc.init (x);

x একটি alচ্ছিক প্যারামিটার - যদি আপনি স্কেচ শুরু হওয়ার সাথে সাথে সমস্ত চ্যানেলগুলিকে একটি নির্দিষ্ট উজ্জ্বলতায় সেট করতে চান, তাহলে আপনি Tlc.init () ফাংশনে x এর জন্য 0 থেকে 4095 এর মধ্যে একটি মান সন্নিবেশ করতে পারেন।

এখন একটি চ্যানেল/LED চালু বা বন্ধ করতে। প্রতিটি চ্যানেলের সংখ্যা 0 থেকে 15 পর্যন্ত এবং প্রতিটি চ্যানেলের উজ্জ্বলতা 0 থেকে 4095 এর মধ্যে সামঞ্জস্য করা যায়। স্তর):

Tlc.set (চ্যানেল, উজ্জ্বলতা);

উদাহরণস্বরূপ, যদি আপনি প্রথম তিনটি চ্যানেল সম্পূর্ণ উজ্জ্বলতায় রাখতে চান, তাহলে ব্যবহার করুন:

Tlc.set (0, 4095); Tlc.set (1, 4095); Tlc.set (2, 4095);

দ্বিতীয় অংশটি হল TLC5940 আপডেট করতে নিম্নলিখিত অংশটি প্রয়োজনীয় নির্দেশাবলী সহ:

Tlc.update ();

আপনি যদি একবারে সমস্ত চ্যানেল বন্ধ করতে চান তবে কেবল ব্যবহার করুন:

Tlc.clear ();

ধাপ 4:

স্পষ্ট ফাংশনের পরে আপনাকে একটি TLC.update () কল করার দরকার নেই। নিম্নলিখিত একটি দ্রুত উদাহরণ স্কেচ যা সমস্ত চ্যানেলের উজ্জ্বলতা/PWM মানগুলিকে বিভিন্ন স্তরে সেট করে:

#অন্তর্ভুক্ত "Tlc5940.h" অকার্যকর সেটআপ () {Tlc.init (0); // TLC5940 আরম্ভ করুন এবং সমস্ত চ্যানেল বন্ধ করুন}

অকার্যকর লুপ ()

{জন্য (int i = 0; i <16; i ++) {Tlc.set (i, 1023); } Tlc.update (); বিলম্ব (1000); জন্য (int i = 0; i <16; i ++) {Tlc.set (i, 2046); } Tlc.update (); বিলম্ব (1000); জন্য (int i = 0; i <16; i ++) {Tlc.set (i, 3069); } Tlc.update (); বিলম্ব (1000); জন্য (int i = 0; i <16; i ++) {Tlc.set (i, 4095); } Tlc.update (); বিলম্ব (1000); }

RGB LEDs নিয়ন্ত্রণ করার সময় প্রতিটি চ্যানেল/LED এর জন্য পৃথক উজ্জ্বলতা নিয়ন্ত্রণ করার ক্ষমতাও কার্যকর হতে পারে - তারপর আপনি প্রতিটি উপাদানের জন্য বিভিন্ন উজ্জ্বলতা স্তরের মাধ্যমে সহজেই প্রয়োজনীয় রং নির্বাচন করতে পারেন। ভিডিওতে একটি বিক্ষোভ দেখানো হয়েছে।

ধাপ 5: দুই বা ততোধিক TLC5940 ব্যবহার করা

আপনি আরও LEDs নিয়ন্ত্রণ করতে একসাথে বেশ কয়েকটি TLC5940 গুলি ডেইজি-চেইন করতে পারেন। প্রথম - বিক্ষোভ সার্কিটে দেখানো হিসাবে পরবর্তী TLC5940 কে Arduino এ সংযুক্ত করুন - প্রথম TLC5940 এর SOUT পিন (17) কে দ্বিতীয় TLC5940 এর SIN পিন (26) এর সাথে সংযুক্ত করুন - যেহেতু ডেটা Arduino থেকে ভ্রমণ করে প্রথম TLC5940 থেকে দ্বিতীয় এবং তাই। তারপর যদি আপনার তৃতীয়, ইত্যাদি থাকে তাহলে প্রক্রিয়াটি পুনরাবৃত্তি করুন।

পরবর্তী, TLC5940 লাইব্রেরি ফোল্ডারে অবস্থিত tlc_config.h ফাইলটি খুলুন। NUM_TLCS- এর মান পরিবর্তন করে TLC5940 এর সংখ্যার সাথে সংযুক্ত করুন, তারপর ফাইলটি সংরক্ষণ করুন এবং একই ফোল্ডারে অবস্থিত Tlc5940.o ফাইলটিও মুছে দিন। অবশেষে IDE পুনরায় চালু করুন। তারপরে আপনি প্রথম থেকে ক্রমানুসারে দ্বিতীয় এবং আরও TLC5940 এর চ্যানেলগুলি উল্লেখ করতে পারেন। অর্থাৎ, প্রথমটি 0 ~ 15, দ্বিতীয়টি 16 ~ 29, ইত্যাদি।

ধাপ 6: TLC5940 দিয়ে সার্ভিস নিয়ন্ত্রণ করা

যেহেতু TLC5940 PWM (পালস-প্রস্থ মডুলেশন) আউটপুট তৈরি করে, এটি সার্ভিস চালানোর জন্যও দুর্দান্ত। ঠিক এলইডির মতো - আপনি একবারে ষোলটি পর্যন্ত নিয়ন্ত্রণ করতে পারেন। মাকড়সার মতো রোবট, অদ্ভুত ঘড়ি বা কিছু শব্দ করার জন্য আদর্শ।

আপনার সার্ভো নির্বাচন করার সময়, নিশ্চিত করুন যে এটি পরিচালনার সময় 120 এমএ এর বেশি টানবে না (এই চ্যানেলের প্রতি সর্বাধিক বর্তমান) এবং এই টিউটোরিয়ালের শেষে "বর্তমান এবং তাপ ব্যবস্থাপনা" বিভাগেও মনোযোগ দিন। এবং সার্ভিসের সাথে বাহ্যিক শক্তি ব্যবহার করুন, Arduino এর 5V লাইনের উপর নির্ভর করবেন না।

একটি সার্ভো সংযোগ করা সহজ - GND লাইন GND এর সাথে সংযোগ স্থাপন করে, 5V (বা সরবরাহের ভোল্টেজ সীসা) আপনার 5v (বা অন্যান্য উপযুক্ত সরবরাহ) এর সাথে সংযোগ স্থাপন করে এবং servo কন্ট্রোল পিনটি TLC5940 এর একটি আউটপুটের সাথে সংযোগ স্থাপন করে। অবশেষে - এবং এটি গুরুত্বপূর্ণ - TLC5940 আউটপুট পিন (গুলি) ব্যবহার করা হচ্ছে এবং 5V এর মধ্যে একটি 2.2kΩ রোধকারী সংযুক্ত করুন। একটি সার্ভো নিয়ন্ত্রণ করা একটি LED এর থেকে আলাদা নয়। স্কেচের শুরুতে আপনার প্রথম দুটি লাইন প্রয়োজন:

#অন্তর্ভুক্ত "Tlc5940.h"#অন্তর্ভুক্ত "tlc_servos.h"

তারপর অকার্যকর সেটআপ নিম্নলিখিত ():

tlc_initServos ();

পরবর্তী, কোন সার্ভো (চ্যানেল) পরিচালনা করতে হবে এবং প্রয়োজনীয় কোণ (কোণ) নির্বাচন করতে নিম্নলিখিত ফাংশনটি ব্যবহার করুন:

tlc_setServo (চ্যানেল, কোণ);

এলইডিগুলির মতো আপনি এইগুলির কয়েকটিকে একসাথে গুছিয়ে নিতে পারেন এবং তারপরে কমান্ডটি কার্যকর করতে পারেন:

Tlc.update ();

সুতরাং আসুন আমরা সেই সমস্ত কাজ দেখি। নিম্নোক্ত উদাহরণ স্কেচ 90 ডিগ্রী জুড়ে চারটি সার্ভকে ঝাড়ু দেয়:

#অন্তর্ভুক্ত "Tlc5940.h"#অন্তর্ভুক্ত "tlc_servos.h"

অকার্যকর সেটআপ()

{tlc_initServos (); // দ্রষ্টব্য: এটি PWM ফ্রিকোয়েন্সিকে 50Hz এ নামিয়ে দেবে। }

অকার্যকর লুপ ()

{জন্য (int angle = 0; angle = 0; angle--) {tlc_setServo (0, angle); tlc_setServo (1, কোণ); tlc_setServo (2, কোণ); tlc_setServo (3, কোণ); Tlc.update (); বিলম্ব (5); }}

ভিডিওটি চারটি সার্ভোর সাথে এই স্কেচটি অ্যাকশনে দেখায়।

যদি আপনি সঠিক কোণে ঘুরছেন না - উদাহরণস্বরূপ আপনি 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 পণ্য সহ সবকিছু সরবরাহ করে।

প্রস্তাবিত: