خفّض سطوع LED باستخدام PWM
جزء من قسم المخرجات في رحلة Arduino على Coddy. الدرس 1 من 24.
تعرف digitalWrite() مستويين: التشغيل أو الإيقاف. لجعل LED يضيء بخفوت، تشغّل اللوحة الطرف وتطفئه مئات المرات في الثانية. لا تستطيع عينك متابعة الوميض، فترى المتوسط: الطرف الذي يكون في وضع التشغيل ربع الوقت يبدو ساطعًا بربع السطوع.
تُسمّى هذه الحيلة PWM، تعديل عرض النبضة. وتُسمّى نسبة الوقت الذي يكون فيه الطرف في وضع التشغيل duty cycle.
تضبطه analogWrite(pin, value) برقم من 0 إلى 255:
analogWrite(9, 0); // مطفأ دائمًا
analogWrite(9, 64); // مضاء لربع الوقت
analogWrite(9, 127); // مضاء لنحو نصف الوقت
analogWrite(9, 255); // مضاء دائمًابعد كتابة قيمة، تُبقي اللوحة الطرف نابضًا من تلقاء نفسها، حتى أثناء delay()، إلى أن تكتب قيمة جديدة. تجعل analogWrite() الطرف مخرجًا من تلقاء نفسها؛ وتظل pinMode(9, OUTPUT) في setup() تحدد الغرض من الطرف.
التحدي
سهلمصباح LED الأحمر موصول بالمنفذ 9. اجعله يضيء بربع سطوعه الكامل:
- ربع 255 يساوي نحو 64
- اكتب ذلك باستخدام
analogWrite()
اضغط على Run لمشاهدته، ثم Check.
جرّب بنفسك
const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
// اضبط سطوع مصباح LED هنا على ربع شدته
}
void loop() {
// لا شيء لتكراره: يستمر الطرف في إصدار نبضات تلقائيًا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المخرجات
1السطوع
خفّض سطوع LED باستخدام PWMأطراف PWM المعلّمة بالرمز ~اجعل LED يضيء تدريجيًااجعل LED يضيء ويخفت تدريجيًامفتاح دوّار للتحكم في السطوعتدرّب بنفسك: Playground لـ Arduino