الوميض عند تلقي أمر
جزء من قسم المدخلات في رحلة Arduino على Coddy. الدرس 18 من 22.
اكتب 3، وينبغي أن يومض مؤشر LED ثلاث مرات، ثم يتوقف. تتكرر loop() بالفعل، لذا دعها تتولى العد: احتفظ بمتغير لعدد الومضات المتبقية. في كل مرة تُشغَّل فيها loop()، إذا كانت هناك ومضات متبقية، فاجعل المؤشر يومض مرة واحدة وأنقص العدد بمقدار واحد.
int blinksLeft = 0;
void loop() {
// يحدّد رقم من شاشة Serial قيمة blinksLeft
if (blinksLeft > 0) {
// ومضة واحدة
blinksLeft = blinksLeft - 1;
}
}عندما تصل قيمة blinksLeft إلى 0، يكون شرط if خاطئًا ويبقى مؤشر LED مطفأً حتى الرقم التالي.
يجعل محرف السطر الجديد بعد الرقم الدالة parseInt() تُرجع 0 بعد ثانية أخرى. تجاهل 0 كما في السابق، وإلا فسيؤدي إلى محو الومضات المتبقية.
التحدي
متوسطاجعل مؤشر LED يومض على المنفذ 13 عدد المرات التي يساوي الرقم المكتوب في شاشة Serial:
- عند وجود أحرف في الانتظار، اقرأ رقمًا باستخدام
parseInt()، وخزّنه فيblinksLeftإذا كان أكبر من 0 - إذا كانت قيمة
blinksLeftأكبر من 0، فاجعل المؤشر يومض مرة واحدة (مضاء لمدة 200 ms، ومطفأ لمدة 200 ms) وأنقص القيمة بمقدار واحد
اضغط على Run، وأرسل 3 من شاشة Serial، ثم اضغط على Check.
جرّب بنفسك
const int ledPin = 13;
int blinksLeft = 0;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// يحدد رقم من شاشة Serial قيمة blinksLeft
// ما دامت قيمة blinksLeft أكبر من 0، أومض مرة واحدة واطرح منها واحدًا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المدخلات
تدرّب بنفسك: Playground لـ Arduino