اجعل 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 تستغرق ثانية ونصفًا.
التحدي
سهلاجعل مصباح 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
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المخرجات
1السطوع
خفّض سطوع LED باستخدام PWMأطراف PWM المعلّمة بالرمز ~اجعل LED يضيء تدريجيًااجعل LED يضيء ويخفت تدريجيًامفتاح دوّار للتحكم في السطوعتدرّب بنفسك: Playground لـ Arduino