نغمات في مصفوفة
جزء من قسم المخرجات في رحلة Arduino على Coddy. الدرس 13 من 24.
اللحن هو قائمة من النغمات. تحتفظ المصفوفة بقائمة من القيم تحت اسم واحد:
int notes[] = {262, 294, 330, 349}; // C, D, E, Fلكل قيمة موضع يُسمّى الفهرس، ويبدأ العد من 0: notes[0] قيمته 262، وnotes[1] قيمته 294، والأخيرة، notes[3]، قيمتها 349. لا يوجد notes[4]: قراءته تعطيك ما يصادف وجوده في الذاكرة بعد المصفوفة.
يمكن أن يكون الفهرس متغيرًا. احتفظ بواحد، وشغّل النغمة التي يشير إليها، ثم حرّكه إلى الأمام:
int i = 0;
void loop() {
tone(8, notes[i]);
delay(400);
i = i + 1;
if (i == 4) {
i = 0;
}
}في كل مرة تُشغَّل فيها loop()، تُعزف النغمة التالية. بعد الأخيرة، يعود الفهرس إلى 0 ويبدأ اللحن من جديد.
التحدي
سهلاعزف النغمات C وD وE وF واحدة تلو الأخرى على المنفذ 8، مدة كل منها 400 ms، وكرّر ذلك باستمرار:
- احتفظ بالترددات الأربعة في مصفوفة: 262، 294، 330، 349
- استخدم متغير فهرس لتشغيل النغمة التالية في كل مرة تُنفَّذ فيها
loop() - بعد النغمة الأخيرة، عُد إلى الأولى
اضغط على Run، ثم Check.
جرّب بنفسك
const int buzzerPin = 8;
// أنشئ مصفوفة النغمات ومتغير الفهرس هنا
void setup() {
}
void loop() {
// شغّل النغمة عند الفهرس، وانتظر 400 ms، ثم انتقل إلى النغمة التالية
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المخرجات
تدرّب بنفسك: Playground لـ Arduino