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

نغمات في مصفوفة

جزء من قسم المخرجات في رحلة 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 ويبدأ اللحن من جديد.

challenge icon

التحدي

سهل

اعزف النغمات C وD وE وF واحدة تلو الأخرى على المنفذ 8، مدة كل منها 400 ms، وكرّر ذلك باستمرار:

  • احتفظ بالترددات الأربعة في مصفوفة: 262، 294، 330، 349
  • استخدم متغير فهرس لتشغيل النغمة التالية في كل مرة تُنفَّذ فيها loop()
  • بعد النغمة الأخيرة، عُد إلى الأولى

اضغط على Run، ثم Check.

جرّب بنفسك

const int buzzerPin = 8;
// أنشئ مصفوفة النغمات ومتغير الفهرس هنا

void setup() {
}

void loop() {
  // شغّل النغمة عند الفهرس، وانتظر 400 ms، ثم انتقل إلى النغمة التالية
}
quiz iconاختبر نفسك

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

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

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