Menu
CoddyTech

מנגינה משני מערכים

חלק מהיחידה פלטים במסלול ה-Arduino של Coddy. שיעור 14 מתוך 24.

לא כל התווים במנגינה הם באותו אורך. מערך שני יכול להכיל את המשכים, בהתאמה לתווים: notes[i] ו-durations[i] שייכים יחד.

int notes[] = {262, 262, 392, 392, 440, 440, 392};
int durations[] = {400, 400, 400, 400, 400, 400, 800};

שני תווים זהים ברצף היו מיטשטשים לתו ארוך אחד. השהיה קצרה אחרי כל אחד מהם משאירה אותם נפרדים, לכן נגנו את התו למשך הזמן שלו והמתינו עוד קצת:

tone(8, notes[i], durations[i]);
delay(durations[i] + 50);

משך הזמן עוצר את התו, ו-50 ms הנוספות הן ההפסקה לפני הבא.

כשהאינדקס עובר את התו האחרון, המנגינה מסתיימת: המתינו רגע לפני שתתחילו אותה שוב, כדי שהיא לא תתנגש בעצמה.

challenge icon

אתגר

בינוני

נגנו את השורה הראשונה של Twinkle Twinkle Little Star בפין 8:

  • תווים: 262, 262, 392, 392, 440, 440, 392
  • משך: 400 ms לכל תו, ו־800 ms לתו האחרון
  • אחרי כל תו, המתינו למשך שלו ועוד 50 ms
  • אחרי התו האחרון, המתינו שנייה נוספת והתחילו שוב

לחצו על Run, ואז על Check.

נסו בעצמכם

const int buzzerPin = 8;
// צרו כאן את המערכים של התווים ומשך הזמן שלהם, ואת האינדקס

void setup() {
}

void loop() {
  // נגנו תו אחד, המתינו למשך הזמן שלו ועוד 50 ms, ואז עברו לתו הבא
  // אחרי התו האחרון, המתינו שנייה והתחילו שוב
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה פלטים

תרגלו בעצמכם: Arduino אונליין