دورة ألوان قوس قزح
جزء من قسم المخرجات في رحلة Arduino على Coddy. الدرس 8 من 24.
يحتاج كل لون إلى ثلاثة أسطر من digitalWrite(). وسيتطلب تسلسل من ستة ألوان 18 سطرًا منها، ومن السهل الخلط بين وظيفة كل سطر.
تجعل الدالة ذلك مختصرًا. تأخذ setColor() قيمة واحدة لكل لون وتكتب إلى المنافذ الثلاثة:
void setColor(int red, int green, int blue) {
digitalWrite(redPin, red);
digitalWrite(greenPin, green);
digitalWrite(bluePin, blue);
}الآن، يُكتب كل لون في سطر واحد، وتبدو قيمه الثلاث كأنها وصفة:
setColor(HIGH, HIGH, LOW); // أصفر
delay(500);HIGH وLOW هما العددان 1 و0، لذا فهما يناسبان وسيطًا من النوع int. حافظ على ترتيب الوسائط نفسه عند تمريرها: الأحمر، ثم الأخضر، ثم الأزرق.
التحدي
سهلاكتب setColor() واستخدمها لعرض ألوان قوس قزح، نصف ثانية لكل لون، مرارًا وتكرارًا:
- أحمر
- أصفر
- أخضر
- سماوي
- أزرق
- أرجواني
اضغط على تشغيل، ثم تحقّق.
جرّب بنفسك
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) {
// اكتب كل قيمة على الدبوس الخاص بها
}
void loop() {
setColor(HIGH, LOW, LOW); // أحمر
delay(500);
// ثم الأصفر والأخضر والسماوي والأزرق والأرجواني
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المخرجات
تدرّب بنفسك: Playground لـ Arduino