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