مكتبة اردوينو الموقت للتأخير

Mktbt Ardwynw Almwqt Lltakhyr



يعد المؤقت أحد المكونات الرئيسية في Arduino للتعامل مع المهام الحساسة للوقت. عادةً ما تستخدم مؤقتات Arduino وظيفة delay () لتوفير تأخير أو إيقاف مؤقت للتنفيذ لفترات زمنية صغيرة. ومع ذلك ، يلزم وجود مكتبة خاصة لوظائف التأخير لتعدد المهام.

سيغطي هذا الدليل العديد من مكتبات توقيت Arduino للتأخير مع وصف موجز. قبل ذلك دعونا نفهم حدود وظيفة تأخير Arduino ().







حدود التأخير ()

لا يمكن استخدام وظيفة هذا يعني أنه كلما تم استخدام وظيفة لذلك ، عندما يريد شخص ما إيقاف أحد البرامج أثناء تشغيل البرامج الأخرى ، لا يمكن استخدام delay ().



ثم ماذا تفعل؟



مكتبة Arduino Timer لتأخير مكالمات الوظائف

لحل هذه المشكلة ، يجب عليك استخدام مكتبات خاصة مصممة لأداء التأخير. تسمح لك هذه المكتبات بإيقاف بعض الوظائف في البرنامج مؤقتًا لبعض الوقت وتشغيل وظائف أخرى في غضون ذلك. هذه المكتبات هي مكتبات جهاز ضبط الوقت التي لا تمنع تعدد المهام. يمكن استخدامها لاستدعاء الوظائف عند الاقتضاء.





كيفية تضمين مكتبة Arduino Timer في كود Arduino

لتضمين مكتبة المؤقت أولاً ، يتعين علينا إضافة ملف مضغوط بالانتقال إلى ملف تضمين المكتبة قسم في Arduino IDE. للحصول على وصف تفصيلي لإضافة مكتبات Arduino ، يمكنك قراءة المقال على كيفية تثبيت Library في Arduino IDE .

الخطوة 1

أولاً ، سيكون عليك تنزيل مكتبة Arduino timer.



الخطوة 2

بعد تنزيل مكتبة المؤقت ، افتح Arduino IDE وانتقل إلى Sketch ثم Include Library ، ثم انقر فوق Add ZIP Library.


سيتم عرض Arduino 'مكتبة مثبتة' في الإخراج.

الخطوه 3

بعد إضافة مكتبة ZIP إلى Arduino IDE ، ستظهر في القائمة المنسدلة لخيارات تضمين المكتبة في Arduino IDE. من هنا تشمل الموقت مكتبة.


عندما تقوم بتضمين ملف 'الموقت' مكتبة ، سيظهر توجيه المعالج على الرسم التخطيطي. بخلاف ذلك ، يمكنك اتباع الخطوة 4 لتضمين المكتبة يدويًا.

# يشمل < الموقت >

الخطوة 4

لتضمين مكتبة Arduino Timer في كود Arduino ، تحتاج إلى استخدام ملف #يشمل التوجيه مع (.h) اسم مكتبة تمديد المؤقت ثم قم بإنشاء مؤقت كما هو موضح أدناه.

# تضمين
مؤقت تلقائي = timer_create_default ( ) ؛


بعد إنشاء عداد ، تحتاج إلى عمل وظيفة لاستدعاء هذا المؤقت. قد تحتاج إلى الاتصال بالمؤقت في لحظة محددة من الوقت ، أو بعد تأخير قصير ، أو بعد فترة زمنية. فيما يلي أمثلة لاستدعاء الموقتات في مثل هذه الظروف.

في حالة رغبتك في تأخير قصير

الموقت ( تأخير ، function_to_call ) ؛
الموقت ( تأخير ، function_to_call ، وسيطة ) ؛ // أو بحجة اختيارية ل function_to_call


في هذه الحالة ، يمكننا استخدام timer.in () وظيفة لإدخال تأخير قبل استدعاء وظيفة معينة. يمثل معامل التأخير الوقت بالمللي ثانية الذي نريد انتظاره قبل تنفيذ الكود.

بعد التأخير المحدد ، فإن ملف function_to_call سوف يستخدم. يمكن أيضًا تعريف الوسيطة لتمرير الوظيفة في وقت الاستدعاء.

في حالة رغبتك في الاتصال بالمؤقت في وقت محدد

تقوم هذه الوظيفة بإعداد مؤقت لتنفيذ وظيفة محددة في وقت معين. تحدد معلمة الوقت الوقت الذي يجب استدعاء الوظيفة فيه. يمكن أن يكون طابعًا زمنيًا محددًا أو قيمة تأخير بالمللي ثانية. ال function_to_call هي معلمة الوظيفة التي سيتم تنفيذها بعد انتهاء صلاحية المؤقت.

الموقت ( وقت ، function_to_call ) ؛
الموقت ( وقت ، function_to_call ، وسيطة ) ؛ // مع الجدل


timer.at (time، function_to_call، وسيطة) يمكن للدالة تمرير وسيطة إلى الوظيفة التي يتم استدعاؤها. ستكون معلمة الوسيطة هي القيمة التي سيتم تمريرها في الوظيفة.

في حال كنت تريد استدعاء الموقت بعد فاصل زمني

في هذه الحالة ، يمكنك استخدام وظيفة timer.every () لاستدعاء وظيفة بشكل متكرر بعد فترة زمنية محددة. تعرض معلمة الفاصل الوقت بالمللي ثانية بين فترات زمنية قابلة للتنفيذ.

حدد الفاصل الزمني المطلوب و function_to_call سيتم استخدامها بشكل متكرر بعد تلك الفترة. مثل الحالات السابقة ، يمكنك تضمين وسيطة اختيارية لتمريرها إلى الوظيفة عند استدعائها.

الموقت ( الفاصل الزمني function_to_call ) ؛
الموقت ( الفاصل الزمني ، function_to_call ، الوسيطة ) ؛ // اكتب الفاصل الزمني الخاص بك هنا


يمكنك معرفة المزيد من التفاصيل حول هذه الطريقة لاستخدام مكتبة المؤقت لتأخير مكالمات الوظائف من خلال الرابط مكتبة اردوينو الموقت لتأخير الوظائف .

بعض المكتبات الأخرى للتأخير في Arduino

سينقلك الرابط أدناه إلى مكتبات المؤقت في Arduino ، حيث يمكنك تثبيت مكتبات المؤقت لتأخير استدعاءات الوظائف.

مكتبة الموقت بواسطة مايكل كونتريراس

هناك أيضًا مؤلف قدم مكتبة توقيت Arduino الخاصة به التي تم إنشاؤها غير المحظورة لتأخير مكالمات الوظائف. لقد استخدم وظائف Arduino المضمنة في ثناياه عوامل مثل millis () و micros () لأداء وظائف التأخير دون حظر. يوجد رابط لمكتبته أدناه:

مايكل أوراي مكتبة اردوينو الموقت

خاتمة

على الرغم من أن وظيفة delay () موجودة بالفعل في Arduino ، إلا أنه لا يمكن استخدامها لأداء مهام متعددة في وقت واحد. لتنفيذ مهام متعددة في نفس الوقت ، تم إنشاء مكتبات توقيت غير محظورة بواسطة مجتمع Arduino والتي يمكن استخدامها عند الحاجة.