وميض تزداد سرعته
جزء من قسم الدوائر الأولى في رحلة Arduino على Coddy. الدرس 17 من 22.
تنتظر delay(waitTime) المدة التي تحتوي عليها waitTime في تلك اللحظة. غيّر المتغير أثناء تشغيل المخطط، وسيتغير الوميض معه.
waitTime = waitTime - 100; // الوميض التالي أقصر بمقدار 100 msضع ذلك في نهاية loop()، وسيكون كل وميض أقصر من الوميض الذي قبله.
راقب ما يحدث عندما يستمر التشغيل لبعض الوقت. تتقلص مدة الانتظار حتى تصل إلى 0، ثم تصبح أقل من 0. لا يمكن لـ delay() الانتظار لمدة سالبة: فهي تقرأ -200 على أنها عدد هائل، نحو 49 يومًا، لذا يبدو مؤشر LED متجمّدًا. على المخطط أن يقرر بنفسه متى يتوقف عن تقليص المدة، وهذا ما يتناوله الدرس التالي.
التحدي
سهلاجعل مؤشر 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 أصغر
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الدوائر الأولى
3الرياضيات على اللوح
الثوابت المُسمّاةعوامل الحسابالقسمة الصحيحةالأعداد العشرية باستخدام floatوميض تزداد سرعتهتدرّب بنفسك: Playground لـ Arduino