বিলম্বের জন্য Arduino টাইমার লাইব্রেরি

Bilambera Jan Ya Arduino Ta Imara La Ibreri



সময়-সংবেদনশীল কাজগুলি পরিচালনা করার জন্য টাইমার হল Arduino-এর অন্যতম প্রধান উপাদান। আরডুইনোর টাইমার সাধারণত বিলম্ব প্রদানের জন্য delay() ফাংশন ব্যবহার করে অথবা সময়ের ছোট ব্যবধানের জন্য পজ এক্সিকিউশন দেয়। যাইহোক, মাল্টিটাস্কিংয়ের জন্য ফাংশন বিলম্বের জন্য একটি বিশেষ লাইব্রেরি প্রয়োজন।

এই নির্দেশিকাটি সংক্ষিপ্ত বিবরণ সহ বিলম্বের জন্য বিভিন্ন Arduino টাইমার লাইব্রেরি কভার করবে। তার আগে আসুন Arduino delay() ফাংশনের সীমাবদ্ধতা বুঝতে পারি।







বিলম্বের সীমাবদ্ধতা()

আপনি যদি একই সাথে বিভিন্ন কাজ করতে চান তাহলে delay() ফাংশনটি ব্যবহার করা যাবে না, কারণ এটি একটি ব্লকিং ফাংশন। এর মানে হল যে যখনই delay() ফাংশনটি একটি টাস্কের এক্সিকিউশন পজ করার জন্য ব্যবহার করা হয়, তখন এটি অন্য কোন ফাংশনকে এক্সিকিউট করার অনুমতি দেয় না। অতএব, যখন কেউ অন্যদের চালানোর সময় একটি প্রোগ্রাম বন্ধ করতে চায়, delay() ব্যবহার করা যাবে না।



তাহলে কি করতে হবে?



ফাংশন কল বিলম্বিত করার জন্য Arduino টাইমার লাইব্রেরি

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





Arduino কোডে Arduino টাইমার লাইব্রেরি কিভাবে অন্তর্ভুক্ত করবেন

টাইমার লাইব্রেরি অন্তর্ভুক্ত করার জন্য প্রথমে আমাদের জিপ ফাইল যোগ করতে হবে লাইব্রেরি অন্তর্ভুক্ত করুন Arduino IDE-তে বিভাগ। Arduino লাইব্রেরি যোগ করার বিস্তারিত বিবরণের জন্য, আপনি নিবন্ধটি পড়তে পারেন কিভাবে Arduino IDE তে লাইব্রেরি ইনস্টল করবেন .

ধাপ 1

প্রথমে, আপনাকে Arduino টাইমার লাইব্রেরি ডাউনলোড করতে হবে।



ধাপ ২

টাইমার লাইব্রেরি ডাউনলোড করার পর, Arduino IDE খুলুন এবং Sketch-এ যান তারপর Include Library, এবং তারপর Add ZIP Library-এ ক্লিক করুন।


Arduino প্রদর্শন করবে 'লাইব্রেরি ইনস্টল করা হয়েছে' আউটপুটে

ধাপ 3

আপনি আরডুইনো আইডিই-তে জিপ লাইব্রেরি যোগ করার পরে, এটি Arduino IDE-তে অন্তর্ভুক্ত লাইব্রেরি বিকল্পগুলির ড্রপ-ডাউন তালিকায় প্রদর্শিত হবে। এখান থেকে অন্তর্ভুক্ত করুন টাইমার লাইব্রেরি


আপনি যখন অন্তর্ভুক্ত 'টাইমার' লাইব্রেরি, প্রিপ্রসেসর নির্দেশিকা স্কেচে প্রদর্শিত হবে। অন্যথায়, আপনি লাইব্রেরিটি ম্যানুয়ালি অন্তর্ভুক্ত করতে পদক্ষেপ 4 অনুসরণ করতে পারেন।

# অন্তর্ভুক্ত < টাইমার.এইচ >

ধাপ 4

Arduino কোডে Arduino টাইমার লাইব্রেরি অন্তর্ভুক্ত করতে, আপনাকে ব্যবহার করতে হবে #অন্তর্ভুক্ত নির্দেশনা বরাবর (.h) এক্সটেনশন টাইমার লাইব্রেরির নাম এবং তারপরে নীচে দেখানো হিসাবে একটি টাইমার তৈরি করুন।

# অন্তর্ভুক্ত করুন
স্বয়ংক্রিয় টাইমার = timer_create_default ( ) ;


একটি টাইমার তৈরি করার পরে, আপনাকে সেই টাইমারটিকে কল করার জন্য একটি ফাংশন তৈরি করতে হবে। আপনাকে একটি নির্দিষ্ট সময়ে, অল্প বিলম্বের পরে বা সময়ের ব্যবধানের পরে টাইমারকে কল করতে হতে পারে। এই ধরনের পরিস্থিতিতে টাইমার কল করার উদাহরণ নিচে দেওয়া হল।

যদি আপনি একটি ছোট বিলম্ব চান

timer.in ( বিলম্ব, ফাংশন_টু_কল ) ;
timer.in ( বিলম্ব, ফাংশন_টু_কল, আর্গুমেন্ট ) ; // অথবা একটি ঐচ্ছিক যুক্তি সহ জন্য ফাংশন_টু_কল


এই ক্ষেত্রে, আমরা ব্যবহার করতে পারেন timer.in() একটি নির্দিষ্ট ফাংশন কল করার আগে একটি বিলম্ব প্রবর্তন করার ফাংশন। বিলম্বের পরামিতি মিলিসেকেন্ডে সেই সময়ের প্রতিনিধিত্ব করে যা আমরা কোডটি কার্যকর করার আগে অপেক্ষা করতে চাই।

নির্দিষ্ট বিলম্বের পরে, ফাংশন_টু_কল ব্যবহার করা হবে. কলের সময় ফাংশনে পাস করার জন্য একটি যুক্তিও সংজ্ঞায়িত করা যেতে পারে।

যদি আপনি একটি নির্দিষ্ট সময়ে টাইমার কল করতে চান

এই ফাংশনটি একটি নির্দিষ্ট সময়ে একটি নির্দিষ্ট ফাংশন চালানোর জন্য একটি টাইমার সেট আপ করে। সময় প্যারামিটার ফাংশন কল করা উচিত যে সময় নির্দিষ্ট করে. এটি একটি নির্দিষ্ট টাইমস্ট্যাম্প বা মিলিসেকেন্ডে বিলম্বের মান হতে পারে। দ্য ফাংশন_টু_কল টাইমারের মেয়াদ শেষ হওয়ার পরে কার্যকর করা ফাংশনের প্যারামিটার।

timer.at ( সময় , ফাংশন_টু_কল ) ;
timer.at ( সময় , ফাংশন_টু_কল, আর্গুমেন্ট ) ; // যুক্তি দিয়ে


timer.at(সময়, ফাংশন_টু_কল, আর্গুমেন্ট) ফাংশন কল করা ফাংশন একটি আর্গুমেন্ট পাস করতে পারেন. আর্গুমেন্ট প্যারামিটার হবে সেই মান যা ফাংশনে পাস করতে হবে।

যদি আপনি সময়ের ব্যবধানের পরে টাইমার কল করতে চান

এই ক্ষেত্রে, আপনি একটি নির্দিষ্ট সময়ের পরে একটি ফাংশনকে বারবার কল করতে timer.every() ফাংশন ব্যবহার করতে পারেন। ব্যবধান পরামিতি সময়ের এক্সিকিউটেবল ব্যবধানের মধ্যে মিলিসেকেন্ডে সময় দেখায়।

পছন্দসই ব্যবধান এবং উল্লেখ করুন ফাংশন_টু_কল সেই ব্যবধানের পরে বারবার ব্যবহার করা হবে। পূর্ববর্তী ক্ষেত্রের মত, আপনি একটি ঐচ্ছিক যুক্তি অন্তর্ভুক্ত করতে পারেন যা ফাংশনে পাস করার জন্য যখন এটি কল করা হয়।

টাইমার.প্রতিটি ( interval, function_to_call ) ;
টাইমার.প্রতিটি ( interval, function_to_call, argument ) ; // এখানে আপনার বিরতি লিখুন


আপনি লিঙ্কের মাধ্যমে ফাংশন কল বিলম্বিত করার জন্য একটি টাইমার লাইব্রেরি ব্যবহার করার এই পদ্ধতি সম্পর্কে আরও বিস্তারিত জানতে পারেন বিলম্বিত ফাংশন জন্য Arduino টাইমার লাইব্রেরি .

আরডুইনোতে বিলম্বের জন্য কিছু অন্যান্য লাইব্রেরি

নীচে দেওয়া লিঙ্কটি আপনাকে আরডুইনোর টাইমার লাইব্রেরিতে নিয়ে যাবে, যেখানে আপনি ফাংশন কল বিলম্বিত করার জন্য টাইমার লাইব্রেরিগুলি ইনস্টল করতে পারেন।

মাইকেল কনট্রেরাস দ্বারা টাইমার লাইব্রেরি

এমন একজন লেখকও আছেন যিনি ফাংশন কল বিলম্বিত করার জন্য নিজের তৈরি নন-ব্লকিং Arduino টাইমার লাইব্রেরি প্রদান করেছেন। তিনি আরডুইনোর অন্তর্নির্মিত ফাংশন যেমন millis() এবং micros() ব্যবহার করেছেন ব্লক না করে বিলম্বিত ফাংশন সম্পাদন করতে। তার লাইব্রেরির একটি লিঙ্ক নীচে দেওয়া হল:

মাইকেলউরে আরডুইনো টাইমার লাইব্রেরি

উপসংহার

যদিও বিলম্ব() ফাংশনটি ইতিমধ্যেই Arduino-এ উপস্থিত রয়েছে, তবে এটি একসাথে একাধিক কাজ সম্পাদন করতে ব্যবহার করা যাবে না। একই সময়ে একাধিক কাজ চালানোর জন্য, আরডুইনো সম্প্রদায় দ্বারা নন-ব্লকিং টাইমার লাইব্রেরি তৈরি করা হয়েছে যেগুলি যখন প্রয়োজন তখন ব্যবহার করা যেতে পারে।