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

الألوان الوسيطة

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

تحتوي الأطراف 11 و10 و9 جميعها على ~، لذا يمكن خفض سطوع كل لون من ألوان LED RGB باستخدام analogWrite(). تتراوح قيمة كل قناة من 0 إلى 255، ويعطي مزج ثلاثة مستويات ألوانًا أكثر بكثير من ثمانية:

  • برتقالي: أحمر 255، أخضر 80، أزرق 0
  • أرجواني: أحمر 128، أخضر 0، أزرق 255
  • أبيض ناعم: الألوان الثلاثة عند 60

غيّر setColor() لاستخدام analogWrite()، وستصبح معاملاته مستويات السطوع:

void setColor(int red, int green, int blue) {
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);
}

لهذا السبب تُوصَّل أرجل الألوان بأطراف ~: إذ لا يمكن تشغيل اللون أو إطفاؤه إلا على طرف آخر.

challenge icon

التحدي

سهل

غيّر setColor() لاستخدام analogWrite()، ثم اعرض، مرة بعد مرة:

  • البرتقالي (255, 80, 0) لمدة ثانية واحدة
  • الأرجواني (128, 0, 255) لمدة ثانية واحدة

اضغط على تشغيل، ثم تحقّق.

جرّب بنفسك

const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;

void setup() {
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void setColor(int red, int green, int blue) {
  digitalWrite(redPin, red);
  digitalWrite(greenPin, green);
  digitalWrite(bluePin, blue);
}

void loop() {
  // برتقالي (255, 80, 0) لمدة ثانية، ثم أرجواني (128, 0, 255) لمدة ثانية
}
quiz iconاختبر نفسك

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

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

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