Menu
CoddyTech
flag Ar iconالعربيةdown icon

وميض تزداد سرعته

جزء من قسم الدوائر الأولى في رحلة Arduino على Coddy. الدرس 17 من 22.

تنتظر delay(waitTime) المدة التي تحتوي عليها waitTime في تلك اللحظة. غيّر المتغير أثناء تشغيل المخطط، وسيتغير الوميض معه.

waitTime = waitTime - 100;   // الوميض التالي أقصر بمقدار 100 ms

ضع ذلك في نهاية loop()، وسيكون كل وميض أقصر من الوميض الذي قبله.

راقب ما يحدث عندما يستمر التشغيل لبعض الوقت. تتقلص مدة الانتظار حتى تصل إلى 0، ثم تصبح أقل من 0. لا يمكن لـ delay() الانتظار لمدة سالبة: فهي تقرأ -200 على أنها عدد هائل، نحو 49 يومًا، لذا يبدو مؤشر LED متجمّدًا. على المخطط أن يقرر بنفسه متى يتوقف عن تقليص المدة، وهذا ما يتناوله الدرس التالي.

challenge icon

التحدي

سهل

اجعل مؤشر LED على المنفذ 13 يومض بسرعة متزايدة:

  • في الأعلى، أنشئ int waitTime = 1000;
  • في loop()، اجعل الوميض باستخدام delay(waitTime) في فترتي الانتظار
  • في نهاية loop()، اجعل قيمة waitTime أقل بمقدار 200

اضغط على Run وراقب حتى يتجمّد، ثم اضغط على Check.

جرّب بنفسك

// أنشئ waitTime هنا

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
  // اجعل waitTime أصغر
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الدوائر الأولى

تدرّب بنفسك: Playground لـ Arduino