مقارنة القيم
جزء من قسم الدوائر الأولى في رحلة Arduino على Coddy. الدرس 20 من 22.
يقارن الشرط بين قيمتين. لدى C++ ست طرق:
==يساوي!=لا يساوي<أصغر من،>أكبر من<=أصغر من أو يساوي،>=أكبر من أو يساوي
من الأخطاء الشائعة كتابة = بدلًا من ==. تُسنِد علامة = واحدة قيمةً؛ أما علامتا = فتُقارنان.
if (count == 5) { ... } // هل قيمة count هي 5؟
if (count = 5) { ... } // يخزّن 5 في count!يُترجم السطر الثاني، وهو فخ: إذ يضع القيمة 5 في count، وبما أن 5 ليست 0، فإن اللوحة تتعامل معها على أنها true. تُنفَّذ الأقواس المعقوفة في كل مرة، ويُعاد تعيين count إلى 5 في كل دورة.
التحدي
سهليعدّ البرنامج المبدئي تصاعديًا كل 300 ms ويطبع كل رقم. اجعل LED على المنفذ 13 يضيء عند رقم واحد فقط:
- إذا كانت
countتساوي 5، شغّل LED - وإلا، أطفئه
يجب أن يضيء LED بينما تعرض الشاشة 5، وأن يبقى مطفأً مع كل رقم آخر. اضغط على Run، ثم Check.
جرّب بنفسك
int count = 0;
void setup() {
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop() {
count = count + 1;
Serial.println(count);
// يضيء LED عندما تكون قيمة count هي 5، وينطفئ خلاف ذلك
delay(300);
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الدوائر الأولى
تدرّب بنفسك: Playground لـ Arduino