Menu
CoddyTech

İki Diziden Bir Melodi

Coddy'nin Arduino Journey'sinin Çıkışlar bölümünün bir parçası. Ders 14 / 24.

Bir ezgideki notaların uzunlukları aynı değildir. İkinci bir dizi, süreleri notalarla eşleştirilmiş şekilde tutabilir: notes[i] ve durations[i] birlikte kullanılır.

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

Ardışık iki eş nota, tek bir uzun nota gibi duyulabilir. Her notadan sonra kısa bir sessizlik bırakmak onları birbirinden ayırır; bu yüzden notayı süresi boyunca çal ve biraz daha bekle:

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

Süre notayı durdurur; fazladan 50 ms ise bir sonraki notadan önceki boşluktur.

İndeks son notayı geçtiğinde melodi bitmiştir: kendisiyle çakışmaması için yeniden başlatmadan önce biraz bekle.

challenge icon

Görev

Orta

Pin 8'de Twinkle Twinkle Little Star şarkısının ilk dizesini çal:

  • notalar: 262, 262, 392, 392, 440, 440, 392
  • süreler: her biri 400 ms, son nota için 800 ms
  • her notadan sonra, süresi artı 50 ms kadar bekle
  • son notadan sonra bir saniye daha bekle ve yeniden başla

Run'a, ardından Check'e bas.

Kendin dene

const int buzzerPin = 8;
// notes ve durations dizilerini ve index değişkenini burada oluştur

void setup() {
}

void loop() {
  // bir nota çal, süresi artı 50 ms kadar bekle, sonraki notaya geç
  // son notadan sonra bir saniye bekle ve yeniden başla
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Çıkışlar bölümündeki tüm dersler

Kendi başına pratik yap: Arduino playground