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

اجعل LED يضيء تدريجيًا

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

يمكن لمتغير أن يحتفظ بقيمة السطوع. في كل مرة تعمل فيها loop()، اكتبها إلى LED، وأضف إليها قليلًا وانتظر لحظة. يزداد سطوع LED خطوةً خطوة:

int brightness = 0;

void loop() {
  analogWrite(9, brightness);
  brightness = brightness + 5;
  if (brightness > 255) {
    brightness = 0;
  }
  delay(30);
}

تُعرَّف قيمة السطوع في أعلى البرنامج، مثل عدّاد الضغطات، لذا تحتفظ بقيمتها من تشغيل loop() إلى التشغيل التالي. أما إذا أُنشئت داخل loop()، فستعود إلى 0 في كل مرة.

القيمة 255 هي أكبر قيمة تقبلها analogWrite()، لذا تبدأ if التلاشي من جديد من 0 بمجرد أن يتجاوز السطوع هذه القيمة.

تحدّد الخطوة ومدة الانتظار السرعة: نحو 50 خطوة مدة كل منها 30 ms تستغرق ثانية ونصفًا.

challenge icon

التحدي

سهل

اجعل مصباح LED على المنفذ 9 يزداد سطوعًا، مرة بعد مرة:

  • احتفظ بقيمة السطوع في متغير مُعرّف أعلاه setup()، وابدأ بالقيمة 0
  • في loop()، اكتب القيمة باستخدام analogWrite()، وأضف 5 وانتظر 30 ms
  • عندما تتجاوز القيمة 255، أعدها إلى 0

اضغط على Run وراقب مصباح LED، ثم اضغط على Check.

جرّب بنفسك

const int ledPin = 9;
// أنشئ متغير السطوع هنا، وابدأ بقيمة 0

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

void loop() {
  // اكتب قيمة السطوع، ثم أضف 5، وابدأ من جديد بعد 255، وانتظر 30 ms
}
quiz iconاختبر نفسك

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

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

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