সুচিপত্র:

উজ্জ্বলতা নিয়ন্ত্রণ, Arduino (অ্যানিমেশন সহ): 7 টি ধাপ
উজ্জ্বলতা নিয়ন্ত্রণ, Arduino (অ্যানিমেশন সহ): 7 টি ধাপ

ভিডিও: উজ্জ্বলতা নিয়ন্ত্রণ, Arduino (অ্যানিমেশন সহ): 7 টি ধাপ

ভিডিও: উজ্জ্বলতা নিয়ন্ত্রণ, Arduino (অ্যানিমেশন সহ): 7 টি ধাপ
ভিডিও: Arduino Bangla 23 | Sonar, Echo Sensor Controlled Servo Project with Code | Embedded System | Tajim 2024, জুলাই
Anonim
Image
Image

গত কয়েক বছর ধরে আমি দুটি পিনবল মেশিন (pinballdesign.com) এবং দুটি রোবট হেড (grahamasker.com) তৈরি করেছি যা প্রতিটি Arduinos দ্বারা নিয়ন্ত্রিত। মেকানিক্যাল ইঞ্জিনিয়ার হিসেবে ক্যারিয়ার থাকার পর আমি মেকানিজমের নকশায় ভালো আছি, তবে আমি প্রোগ্রামিংয়ের সাথে লড়াই করি। আমি Arduino এর কিছু মৌলিক ধারণা ব্যাখ্যা করার জন্য অ্যানিমেশন তৈরি করার সিদ্ধান্ত নিয়েছি। আমি ভেবেছিলাম এটা আমাকে এবং অন্যদেরকে তাদের বুঝতে সাহায্য করবে। একটি ছবির মূল্য হাজার শব্দের এবং একটি অ্যানিমেশন হাজার ছবি হতে পারে!

সুতরাং এখানে উজ্জ্বলতা নিয়ন্ত্রণের বিষয়ে একটি অ্যানিমেটেড ব্যাখ্যা রয়েছে। উপরের অ্যানিমেশনটি একটি আরডুইনোর সাথে সংযুক্ত একটি পোটেন্টিওমিটারের একটি পরিকল্পিত দেখায়। এটি দেখায় যে কীভাবে পটেন্টিওমিটারের অবস্থান সামঞ্জস্য করা একটি নেতৃত্বের উজ্জ্বলতা পরিবর্তন করতে পারে। আমি এই প্রক্রিয়ার সমস্ত উপাদান ব্যাখ্যা করতে যাচ্ছি। যারা potentiometers এবং leds এর সাথে পরিচিত নন তাদের জন্য, আমি সেগুলি দিয়ে শুরু করব। আমি তখন ব্যাখ্যা করবো কেন নেতৃত্বকে একটি PWM সক্রিয় Arduino পিনের সাথে সংযুক্ত করতে হবে এবং কিভাবে MAP ফাংশনটি একটি Arduino স্কেচের মধ্যে ব্যবহার করা হয় যা পোটেন্টিওমিটার থেকে ইনপুটকে আউটপুটে রূপান্তরিত করে যা একটি নেতৃত্ব নিয়ন্ত্রণের জন্য উপযুক্ত।

আপনি যদি এলইডি এবং পটেনশিওমিটারের সাথে পরিচিত হন তাহলে আপনি বিভাগ 1 এবং 2 এড়িয়ে যেতে পারেন।

ধাপ 1: LEDs সম্পর্কে

LEDs সম্পর্কে
LEDs সম্পর্কে

উপরের বাম চিত্রটি একটি নেতৃত্বের সার্কিট প্রতীক এবং নেতৃত্বাধীন পায়ের মেরুতা দেখায়। কারেন্ট শুধুমাত্র একটি দিক দিয়ে একটি LED এর মাধ্যমে প্রবাহিত হবে তাই পোলারিটি গুরুত্বপূর্ণ। লম্বা পা ধনাত্মক। এছাড়াও ফ্ল্যাঞ্জের একটি সমতল দিক আছে, এটি নেতিবাচক দিক।

ভোল্টেজ এবং বর্তমান

একটি LED দ্বারা প্রয়োজনীয় ভোল্টেজ তার রঙের উপর নির্ভর করে প্রায় 2.2v থেকে 3.2 ভোল্ট পর্যন্ত। তাদের বর্তমান রেটিং সাধারণত 20mA হয়। বর্তমানকে সীমাবদ্ধ করার জন্য এবং এলইডিকে অতিরিক্ত উত্তাপ থেকে রোধ করার জন্য, প্রতিটি এলইডি সহ সিরিজের একটি রোধকারী ব্যবহার করা প্রয়োজন। আমি প্রায় 300 ohms সুপারিশ।

উপরের ডান দিকের চিত্রটি একটি নেতৃত্বের একটি পায়ে প্রতিরোধককে সোল্ডার করার এবং তাপ সঙ্কুচিত হাতা দিয়ে এটিকে অন্তরক করার একটি উপায় দেখায়।

ধাপ 2: POTENTIOMETER

পটেন্টিওমিটার
পটেন্টিওমিটার

Arduino পদে একটি potentiometer একটি সেন্সর। "সেন্সর" বলতে কোন বাহ্যিক যন্ত্রকে বোঝায় যা ইনপুট পিনের সাথে সংযুক্ত হলে Arduino দ্বারা অনুভূত হতে পারে। আমরা একটি LED এর উজ্জ্বলতা নিয়ন্ত্রণ করতে, Arduino এর সাথে সংযুক্ত একটি potentiometer ব্যবহার করতে যাচ্ছি। একটি পোটেন্টিওমিটারকে কখনও কখনও ভোল্টেজ ডিভাইডার বলা হয়, যা আমি মনে করি এটি একটি ভাল বর্ণনা। উপরের বাম চিত্রটি একটি ভোল্টেজ ডিভাইডারের প্রধান নির্দেশ করে। এই উদাহরণে, একটি প্রতিরোধক মাটির সাথে এক প্রান্তে সংযুক্ত থাকে এবং শক্তির উৎস দ্বারা অন্য প্রান্তে 5v তে ধরে থাকে। যদি স্লাইডারটি রোধের সাথে সরানো হয় তবে এটি বাম হাতের প্রান্তে 0v এর ভোল্টেজ, ডান হাতের প্রান্তে 5v হবে। অন্য কোন অবস্থানে এটি 0v এবং 5v এর মধ্যে একটি মান হবে। অর্ধেক পথে, উদাহরণস্বরূপ এটি 2.5V এ হবে। যদি আমরা উপরের ডানদিকে দেখানো বিন্যাসের আকার পরিবর্তন করি, তাহলে এটি একটি ঘূর্ণমান পটেন্টিওমিটারের ক্রিয়াকে প্রতিনিধিত্ব করে।

ধাপ 3: সার্কিট

সার্কিট
সার্কিট

উপরের দৃষ্টান্তটি দেখায় যে কীভাবে আমাদের পটেন্টিওমিটার এবং একটি আরডুইনোতে নেতৃত্ব দেওয়া দরকার।

অর্ডুনিওকে পোটেন্টিওমিটার দ্বারা ভোল্টেজ খাওয়ানোর অনুভূতি প্রয়োজন। পোটেন্টিওমিটারটি চালু হওয়ার সাথে সাথে ভোল্টেজটি সহজেই পরিবর্তিত হয়, এটি একটি এনালগ সংকেত এবং তাই আরডুইনোতে একটি এনালগ ইনপুট পিনের সাথে সংযুক্ত হওয়া প্রয়োজন। এই পিনের ভোল্টেজটি Arduino দ্বারা প্রতিবার পড়বে যখন প্রোগ্রামটি "analogRead" ফাংশনের মাধ্যমে অনুরোধ করবে।

Arduino শুধুমাত্র ডিজিটাল আউটপুট পিন আছে। তবে তাদের পাশে একটি টিল্ড (~) সহ সেই পিনগুলি একটি এনালগ আউটপুট অনুকরণ করে যা একটি LED এর উজ্জ্বলতা নিয়ন্ত্রণের জন্য উপযুক্ত। এই প্রক্রিয়াটিকে পালস প্রস্থ মডুলেশন (PWM) বলা হয় এবং পরবর্তী অ্যানিমেশন, ধাপ 4 এর মাধ্যমে ব্যাখ্যা করা হয়।

ধাপ 4: PWM

PWM, পালস প্রস্থ মডুলেশন

পূর্বে উল্লিখিত হিসাবে, একটি টিল্ডা সহ পিন, "" তাদের পাশে PWM পিন। যেহেতু পিনগুলি ডিজিটাল সেগুলি কেবল 0v বা 5v এ হতে পারে, তবে PWM এর সাহায্যে এগুলি একটি LED ম্লান করতে বা মোটরের গতি নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে। তারা এটি একটি LED তে 5v সরবরাহ করে কিন্তু এটিকে 0v এবং 5v এর মধ্যে 500 Hz (প্রতি সেকেন্ডে 500 বার) এবং পালসের প্রতিটি 0v এবং 5v উপাদানের সময়কাল প্রসারিত বা সঙ্কুচিত করে। যেহেতু LED একটি 0v পালসের চেয়ে লম্বা 5v পালস দেখে তখন এটি উজ্জ্বল হয়ে ওঠে। আমাদের প্রোগ্রামে, আমরা একটি PWM "বর্গ তরঙ্গ" আউটপুট করতে analogueWrite () ফাংশনটি ব্যবহার করি। এতে 256 ইনক্রিমেন্ট আছে, জিরো 0% ডিউটি সাইকেল দিচ্ছে এবং 255 100% "ডিউটি সাইকেল" অর্থাৎ ক্রমাগত 5 ভোল্ট দিচ্ছে। এইভাবে 127 একটি 50% ডিউটি চক্র দেয়, অর্ধেক সময় 0v এবং অর্ধেক সময় 5v। উপরের অ্যানিমেশন দেখায় কিভাবে এই শুল্ক চক্র 100% দিকে প্রসারিত হয় তখন নেতৃত্ব উজ্জ্বল হয়।

ধাপ 5: প্রোগ্রাম (আরডুইনো স্কেচ)

Image
Image

উপরের ভিডিওটি একটি প্রোগ্রাম (স্কেচ) এর মাধ্যমে পদক্ষেপ নেয় যা একটি পোটেন্টিওমিটার ব্যবহার করে একটি নেতৃত্বের উজ্জ্বলতা নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে। ধাপ 3 এ দেখানো হিসাবে সার্কিট একই।

যদি আপনি এই ভিডিওটি আরামে পড়তে দ্রুত (বা ধীর) খুঁজে পান তবে আপনি এর গতি সামঞ্জস্য করতে পারেন নিচের কন্ট্রোল বারের ডানদিকে প্রান্তে একটি গিয়ার চাকার আকৃতির প্রতীক রয়েছে (কিছু সময় এটিতে 'লাল' এইচডি 'লেবেল থাকে) ।) যদি ক্লিক করা হয় তবে এটি একটি মেনু নিয়ে আসবে যেখানে "প্লেব্যাক গতি" অন্তর্ভুক্ত রয়েছে।

এটি অবশ্যই ভাল হবে যদি আপনি আপনার নিজস্ব গতিতে প্রোগ্রামের প্রতিটি লাইন অতিক্রম করতে একটি বোতাম ক্লিক করতে পারতেন, তবে দুর্ভাগ্যবশত এখানে সেই ইন্টারেক্টিভ পদ্ধতি প্রদান করা সম্ভব নয়। আপনি যদি এই বিষয়ে এবং অন্যান্য Arduino বিষয়গুলিতে সেই পদ্ধতিটি ব্যবহার করতে পছন্দ করেন তবে সেখানে একটি ইন্টারেক্টিভ/অ্যানিমেটেড ইবুকের বিনামূল্যে প্রিভিউ সংস্করণ আছে animatedarduino.com এ উপলব্ধ

প্রোগ্রামে একটি বৈশিষ্ট্য আছে যা আমি মনে করি আরো ব্যাখ্যা প্রয়োজন: লাইন 14 এ "মানচিত্র" ফাংশনটি ব্যবহার করা হয়। ধাপ 6 -এ এর উদ্দেশ্য সম্পর্কে পরবর্তী ব্যাখ্যা আছে

ধাপ 6: মানচিত্র

আমাদের একটি অ্যানালগ পিনের সাথে পোটেন্টিওমিটার সংযুক্ত আছে। Potentiometer ভোল্টেজ 0v এবং 5v এর মধ্যে পরিবর্তিত হয়। এই পরিসরটি প্রসেসরে 1024 ইনক্রিমেন্টে নিবন্ধিত। যখন PWM সক্ষম ডিজিটাল পিনের মাধ্যমে একটি আউটপুট তৈরির জন্য ভ্যালু ইনপুট ব্যবহার করা হয় তখন এই পরিসীমাটিকে একটি ডিজিটাল পিনের আউটপুট পরিসরে ম্যাপ করতে হয়। এই 255 বৃদ্ধি আছে। ম্যাপ ফাংশন এই উদ্দেশ্যে ব্যবহৃত হয় এবং একটি আউটপুট প্রদান করে যা ইনপুটের সমানুপাতিক।

উপরের ভিডিওটি এটিকে ব্যাখ্যা করে।

ধাপ 7: অ্যানিমেটেড আরডুইনো

এই নির্দেশযোগ্য চিত্রগুলি আমার ইবুক অ্যানিমেটেড আরডুইনো থেকে নেওয়া হয়েছে যা www.animatedarduino.com- এ পাওয়া যায় যেখানে আমি Arduino প্রোগ্রাম শেখার সময় আসা কিছু ধারণা সম্পর্কে আরও ভালভাবে বোঝার লক্ষ্য রাখি।

ওয়েবসাইটে ইবুকের একটি ফ্রি প্রিভিউ কপি রয়েছে যা আপনাকে বইয়ের ইন্টারেক্টিভ প্রকৃতি অনুভব করতে দেয়। এটি মূলত নমুনা পৃষ্ঠার একটি সংগ্রহ এবং এইভাবে অনেক ব্যাখ্যা বাদ দেয়। এতে নমুনা পৃষ্ঠাগুলি অন্তর্ভুক্ত রয়েছে যা আপনাকে বোতামগুলি ক্লিক করার অনুমতি দেয় যা আপনাকে প্রো-গ্রামের প্রতিটি লাইনে প্রবেশ করে এবং সম্পর্কিত মন্তব্যগুলি দেখে। অন্যান্য পৃষ্ঠাগুলিতে ভিডিও অ্যানিমেশন এবং অডিও সামগ্রী রয়েছে যা আপনি নিয়ন্ত্রণ করতে পারেন। একটি সামগ্রী পৃষ্ঠা অন্তর্ভুক্ত করা হয়েছে যাতে আপনি দেখতে পারেন যে সম্পূর্ণ সংস্করণটি কী রয়েছে।

প্রস্তাবিত: