تاخیر کے لئے Arduino ٹائمر لائبریری

Takhyr K Ly Arduino Aymr Laybryry



ٹائمر وقت کے حساس کاموں کو سنبھالنے کے لیے Arduino کے اہم اجزاء میں سے ایک ہے۔ Arduino کے ٹائمر عام طور پر delay() فنکشن کو وقت کے چھوٹے وقفوں کے لیے تاخیر یا توقف فراہم کرنے کے لیے استعمال کرتے ہیں۔ تاہم، ملٹی ٹاسکنگ کے لیے افعال میں تاخیر کے لیے ایک خصوصی لائبریری کی ضرورت ہوتی ہے۔

یہ گائیڈ مختصر تفصیل کے ساتھ تاخیر کے لیے مختلف Arduino ٹائمر لائبریریوں کا احاطہ کرے گا۔ اس سے پہلے آئیے Arduino delay() فنکشن کی حد کو سمجھیں۔







تاخیر کی حدود ()

اگر آپ بیک وقت مختلف کام انجام دینا چاہتے ہیں تو delay() فنکشن استعمال نہیں کیا جا سکتا، کیونکہ یہ ایک بلاکنگ فنکشن ہے۔ اس کا مطلب ہے کہ جب بھی delay() فنکشن کو کسی کام کے عمل کو روکنے کے لیے استعمال کیا جاتا ہے، تو یہ اس دوران کسی دوسرے فنکشن کو انجام دینے کی اجازت نہیں دیتا ہے۔ لہذا، جب کوئی دوسرے کو چلاتے ہوئے ایک پروگرام کو روکنا چاہتا ہے، delay() استعمال نہیں کیا جا سکتا۔



پھر کیا کیا جائے؟



فنکشن کالز میں تاخیر کے لیے Arduino ٹائمر لائبریری

اس مسئلے کو حل کرنے کے لیے، آپ کو خاص لائبریریوں کا استعمال کرنا چاہیے جو تاخیر کو انجام دینے کے لیے بنائی گئی ہیں۔ یہ لائبریریاں آپ کو پروگرام کے کچھ فنکشنز کو کچھ وقت کے لیے روکنے اور اس دوران دیگر کو چلانے کی اجازت دیتی ہیں۔ یہ لائبریریاں ٹائمر لائبریریاں ہیں جو ملٹی ٹاسکنگ کو بلاک نہیں کرتی ہیں۔ انہیں ضرورت کے مطابق فنکشنز کو کال کرنے کے لیے استعمال کیا جا سکتا ہے۔





Arduino ٹائمر لائبریری کو Arduino کوڈ میں کیسے شامل کیا جائے۔

ٹائمر لائبریری کو شامل کرنے کے لیے پہلے ہمیں پر جا کر زپ فائل کو شامل کرنا ہوگا۔ لائبریری شامل کریں۔ Arduino IDE میں سیکشن. Arduino لائبریریوں کو شامل کرنے کی تفصیلی وضاحت کے لیے، آپ مضمون کو پڑھ سکتے ہیں۔ Arduino IDE میں لائبریری کیسے انسٹال کی جائے۔ .

مرحلہ نمبر 1

سب سے پہلے، آپ کو Arduino ٹائمر لائبریری ڈاؤن لوڈ کرنا پڑے گا.



مرحلہ 2

ٹائمر لائبریری ڈاؤن لوڈ کرنے کے بعد، Arduino IDE کھولیں اور Sketch پر جائیں پھر Include Library، اور پھر Add ZIP Library پر کلک کریں۔


Arduino ظاہر کرے گا 'لائبریری انسٹال' آؤٹ پٹ میں.

مرحلہ 3

آپ کے زپ لائبریری کو Arduino IDE میں شامل کرنے کے بعد، یہ Arduino IDE میں لائبریری کے اختیارات شامل کرنے کی ڈراپ ڈاؤن فہرست میں ظاہر ہوگی۔ یہاں سے شامل ہیں۔ ٹائمر کتب خانہ.


جب آپ شامل کریں۔ 'ٹائمر' لائبریری، پری پروسیسر کی ہدایت خاکے پر ظاہر ہوگی۔ بصورت دیگر، آپ لائبریری کو دستی طور پر شامل کرنے کے لیے مرحلہ 4 کی پیروی کر سکتے ہیں۔

# شامل < Timer.h >

مرحلہ 4

Arduino ٹائمر لائبریری کو Arduino کوڈ میں شامل کرنے کے لیے، آپ کو استعمال کرنے کی ضرورت ہے۔ #شامل کے ساتھ ہدایت (.h) ایکسٹینشن ٹائمر لائبریری کا نام اور پھر ٹائمر بنائیں جیسا کہ نیچے دکھایا گیا ہے۔

#include
آٹو ٹائمر = timer_create_default ( ) ;


ٹائمر بنانے کے بعد، آپ کو اس ٹائمر کو کال کرنے کے لیے ایک فنکشن بنانے کی ضرورت ہے۔ آپ کو ٹائمر کو ایک مخصوص وقت پر، تھوڑی تاخیر کے بعد، یا وقت کے وقفہ کے بعد کال کرنے کی ضرورت پڑ سکتی ہے۔ ایسے حالات میں ٹائمرز کو کال کرنے کی مثالیں ذیل میں دی گئی ہیں۔

اگر آپ مختصر تاخیر چاہتے ہیں۔

timer.in ( تاخیر، فنکشن_ٹو_کال ) ;
timer.in ( تاخیر، فنکشن_ٹو_کال، دلیل ) ; // یا اختیاری دلیل کے ساتھ کے لیے فنکشن_ٹو_کال


اس صورت میں، ہم استعمال کر سکتے ہیں timer.in() فنکشن کسی مخصوص فنکشن کو کال کرنے سے پہلے تاخیر متعارف کرانے کے لیے۔ تاخیر کا پیرامیٹر ملی سیکنڈ میں اس وقت کی نمائندگی کرتا ہے جس کا ہم کوڈ پر عمل کرنے سے پہلے انتظار کرنا چاہتے ہیں۔

مخصوص تاخیر کے بعد، فنکشن_ٹو_کال استعمال کیا جائے گا. کال کے وقت فنکشن میں جانے کے لیے ایک دلیل کی بھی تعریف کی جا سکتی ہے۔

اگر آپ ٹائمر کو ایک مخصوص وقت پر کال کرنا چاہتے ہیں۔

یہ فنکشن کسی خاص وقت پر کسی مخصوص فنکشن کو انجام دینے کے لیے ٹائمر مرتب کرتا ہے۔ ٹائم پیرامیٹر اس وقت کی وضاحت کرتا ہے جس پر فنکشن کو بلایا جانا چاہئے۔ یہ ایک مخصوص ٹائم اسٹیمپ یا ملی سیکنڈز میں تاخیر کی قدر ہو سکتی ہے۔ دی فنکشن_ٹو_کال اس فنکشن کا پیرامیٹر ہے جو ٹائمر کی میعاد ختم ہونے کے بعد انجام دیا جانا ہے۔

timer.at ( وقت , فنکشن_ٹو_کال ) ;
timer.at ( وقت , function_to_call، argument ) ; // دلیل کے ساتھ


timer.at(time, function_to_call, argument) فنکشن بلائے جانے والے فنکشن کو دلیل دے سکتا ہے۔ آرگیومنٹ پیرامیٹر وہ قدر ہو گی جسے فنکشن میں پاس کیا جانا ہے۔

اگر آپ وقت کے وقفہ کے بعد ٹائمر کو کال کرنا چاہتے ہیں۔

اس صورت میں، آپ timer.every() فنکشن کو ایک مخصوص وقفہ کے بعد بار بار کال کرنے کے لیے استعمال کر سکتے ہیں۔ وقفہ پیرامیٹر وقت کے قابل عمل وقفوں کے درمیان ملی سیکنڈ میں وقت دکھاتا ہے۔

مطلوبہ وقفہ اور کی وضاحت کریں۔ فنکشن_ٹو_کال اس وقفہ کے بعد بار بار استعمال کیا جائے گا۔ پچھلے معاملات کی طرح، آپ ایک اختیاری دلیل شامل کر سکتے ہیں جس کو فنکشن میں پاس کیا جائے جب اسے کال کیا جائے۔

ٹائمر ہر ( وقفہ، فنکشن_ٹو_کال ) ;
ٹائمر ہر ( وقفہ، فنکشن_ٹو_کال، دلیل ) ; // اپنا وقفہ یہاں لکھیں۔


آپ لنک کے ذریعے فنکشن کالز میں تاخیر کے لیے ٹائمر لائبریری استعمال کرنے کے اس طریقہ کے بارے میں مزید تفصیل جان سکتے ہیں۔ فنکشن میں تاخیر کے لیے Arduino ٹائمر لائبریری .

Arduino میں تاخیر کے لیے کچھ دوسری لائبریریاں

نیچے دیا گیا لنک آپ کو Arduino کی ٹائمر لائبریریوں میں لے جائے گا، جہاں آپ فنکشن کالز میں تاخیر کے لیے ٹائمر لائبریریاں انسٹال کر سکتے ہیں۔

مائیکل کونٹریراس کی ٹائمر لائبریری

ایک مصنف بھی ہے جس نے فنکشن کالز میں تاخیر کے لیے اپنی بنائی ہوئی نان بلاکنگ Arduino ٹائمر لائبریری فراہم کی ہے۔ اس نے Arduino کے ان بلٹ فنکشنز کا استعمال کیا ہے جیسے millis() اور micros() بلاک کیے بغیر تاخیری افعال انجام دینے کے لیے۔ ان کی لائبریری کا لنک ذیل میں دیا گیا ہے۔

MichaelUray Arduino ٹائمر لائبریری

نتیجہ

اگرچہ delay() فنکشن Arduino میں پہلے سے موجود ہے، لیکن اسے بیک وقت متعدد کام انجام دینے کے لیے استعمال نہیں کیا جا سکتا۔ ایک ہی وقت میں متعدد کاموں کو انجام دینے کے لیے، Arduino کمیونٹی کی طرف سے نان بلاکنگ ٹائمر لائبریریاں بنائی گئی ہیں جنہیں ضرورت کے مطابق استعمال کیا جا سکتا ہے۔