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

مفتاح دوّار للتحكم في السطوع

جزء من قسم المخرجات في رحلة 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 تنتج مستوى سطوع غير صحيح.

challenge icon

التحدي

سهل

المقبض موصول بـ 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
}
quiz iconاختبر نفسك

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

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

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