مفتاح دوّار للتحكم في السطوع
جزء من قسم المخرجات في رحلة Arduino على Coddy. الدرس 5 من 24.
يعطي المقبض analogRead() رقمًا من 0 إلى 1023، بينما تتوقع analogWrite() قيمة من 0 إلى 255. النطاقان غير متطابقين، لذا حوّل أحدهما إلى الآخر باستخدام map():
int reading = analogRead(A0);
int brightness = map(reading, 0, 1023, 0, 255);
analogWrite(9, brightness);عند خفض المقبض تكون القيمة 0 وينطفئ LED؛ وعند رفعه تكون القيمة 1023، التي تصبح 255، فيضيء بالكامل. وكل موضع بينهما يعطي مستوى سطوع بينهما.
لا يعمل إرسال القراءة مباشرةً إلى LED: إذ لا تقبل analogWrite() إلا القيم من 0 إلى 255، لذا فإن قراءة مثل 600 تنتج مستوى سطوع غير صحيح.
التحدي
سهلالمقبض موصول بـ A0 ومصباح LED موصول بالمنفذ 9. اجعل المقبض يضبط السطوع:
- اقرأ قيمة المقبض
- حوّل القراءة إلى نطاق من 0 إلى 255 باستخدام
map() - اكتب القيمة إلى مصباح LED، ثم انتظر 10 ms
اضغط على Run وأدر المقبض، ثم اضغط على Check.
جرّب بنفسك
const int knobPin = A0;
const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// اقرأ قيمة المقبض، وحوّلها إلى النطاق 0..255، ثم أرسلها إلى LED
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المخرجات
1السطوع
خفّض سطوع LED باستخدام PWMأطراف PWM المعلّمة بالرمز ~اجعل LED يضيء تدريجيًااجعل LED يضيء ويخفت تدريجيًامفتاح دوّار للتحكم في السطوعتدرّب بنفسك: Playground لـ Arduino