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

معاملات الدوال

جزء من قسم المدخلات في رحلة Arduino على Coddy. الدرس 20 من 22.

تومض blinkOnce() دائمًا الدبوس 13 لمدة 200 ms. لجعل أي دبوس يومض لأي مدة، أعطِ الدالة معاملات: متغيرات مدرجة بين قوسيها، ولكل منها نوع، وتحصل على قيمها من الاستدعاء.

void blinkLed(int pin, int ms) {
  digitalWrite(pin, HIGH);
  delay(ms);
  digitalWrite(pin, LOW);
  delay(ms);
}

تُسمى القيم في الاستدعاء وسيطات. وهي تملأ المعاملات بالترتيب: يشغّل blinkLed(12, 200); الكتلة مع pin بقيمة 12 وms بقيمة 200، بينما يشغّل blinkLed(13, 600); إياها مع 13 و600.

لأن الترتيب هو ما يحدد ذلك، فإن blinkLed(200, 12) سيحاول جعل الدبوس 200 يومض لمدة 12 ms.

challenge icon

التحدي

سهل

مصباح LED أخضر موصول بالدبوس 12، وآخر أحمر موصول بالدبوس 13:

  • اكتب void blinkLed(int pin, int ms): شغّل الدبوس، وانتظر ms، أطفئه، وانتظر ms
  • في loop()، اجعل مصباح LED الأخضر يومض لمدة 200 ms، ثم الأحمر لمدة 600 ms

اضغط على Run، ثم Check.

جرّب بنفسك

const int greenPin = 12;
const int redPin = 13;

// اكتب void blinkLed(int pin, int ms) هنا

void setup() {
  pinMode(greenPin, OUTPUT);
  pinMode(redPin, OUTPUT);
}

void loop() {
  // اجعل مصباح LED الأخضر يومض لمدة 200 ms، ثم الأحمر لمدة 600 ms
}
quiz iconاختبر نفسك

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

جميع دروس المدخلات

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