اردوينو دارة مؤقت قابلة للبرمجة بخطوتين

جرب أداة القضاء على المشاكل





في هذه المقالة ، نتعلم كيفية إنشاء دائرة توقيت بسيطة قابلة للبرمجة من خطوتين من Arduino ، والتي يمكن استخدامها لتشغيل / إيقاف الحمل الكهربائي مع ضبط توقيت التشغيل والإيقاف القابل للتعديل بشكل مستقل.

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



يجب عليك تجميع وتحميل الكود التالي إلى لوحة Arduino الخاصة بك وابدأ وظيفة المؤقت وفقًا لاحتياجات التطبيق الخاصة بك.

كود البرنامج

void setup(){ pinMode(13, OUTPUT) } void loop(){ digitalWrite(13, HIGH) delay(86400000) digitalWrite(13, LOW) delay(3600000) }

في المثال أعلاه رمز الأسطر تأخير (86400000) و تأخير (3600000) تحديد فترات تأخير الإخراج ON و OFF على التوالي ، بالمللي ثانية. هنا الشكل 86400000 ميلي ثانية تقابل 24 ساعة ، بينما 3،600،000 يعرض تأخير 1 ساعة.



يمكنك تخصيص هاتين القيمتين حسب تفضيلاتك الشخصية للحصول على تأخيرات الإخراج المطلوبة.

بمجرد الإعداد والتشغيل ، سيستمر Arduino في التبديل بين تسلسل التوقيت ON / OFF المكون من خطوتين. طالما بقيت الطاقة مطبقة على النظام.

مخطط الرسم البياني

يمكن رؤية الرسم التخطيطي الكامل للدائرة جنبًا إلى جنب مع اتصالات Arduino في الرسم التخطيطي التالي:

دائرة توقيت طلقة واحدة من Arduino

إذا كنت لا تريد أن يتكرر المؤقت خلال المؤقت المكون من خطوتين ، فبدلاً من ذلك تريد أن يكون المؤقت من نوع اللقطة الواحدة ، والذي سيتم إيقاف تشغيله بشكل دائم بعد التأخير المحدد ، يمكنك تطبيق الكود التالي:

int led = 13 // Pin 13 has an LED connected on most Arduino boards. unsigned long DELAY_TIME = 10000 // 10 sec unsigned long delayStart = 0 // the time the delay started bool delayRunning = false // true if still waiting for delay to finish void setup() { pinMode(led, OUTPUT) // initialize the digital pin as an output. digitalWrite(led, HIGH) // turn led on // start delay delayStart = millis() delayRunning = true } void loop() { // check if delay has timed out if (delayRunning && ((millis() - delayStart) >= DELAY_TIME)) { delayRunning = false // finished delay -- single shot, once only digitalWrite(led, LOW) // turn led off } }

إذا كنت تريد إصدارًا مصممًا بشكل منفصل لدائرة توقيت متطابقة قابلة للبرمجة ، فيمكنك ذلك اختيار هذه الدائرة

الأجزاء المطلوبة لدائرة المؤقت القابلة للبرمجة من Arduino

  • لوحة Arduino UNO = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 ديود = 1
  • 10 كيلو 1/4 واط المقاوم = 1
  • مرحل 12 فولت / 400 أوم / SPDT / 5 أمبير = 1
  • محول تيار متردد إلى تيار مستمر 12 فولت = 1



السابق: دائرة مؤقت رقمي بسيطة مع شاشة عرض ثنائية التالي: دائرة ميزان الحرارة الرقمي - تستخدم خلية شمسية للطاقة