Загрузка данных


#define NOTE_N   0
#define NOTE_A3  220
#define NOTE_C4  261
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_G4  392

const int buzzerPin = 8;

int melody[] = {
  NOTE_A3, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_E4, NOTE_N,
  NOTE_A3, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_E4, NOTE_N,
  NOTE_F4, NOTE_E4, NOTE_D4, NOTE_C4,  NOTE_E4, NOTE_N
};

int noteDurations[] = {
  16, 16, 16, 16, 8, 16,
  16, 16, 16, 16, 8, 16,
  16, 16, 16, 16, 8, 16
};

void setup() {
  pinMode(buzzerPin, OUTPUT);
}

void loop() {
  int size = sizeof(melody) / sizeof(melody[0]);
  int tempo = 900; 

  for (int i = 0; i < size; i++) {
    if (melody[i] == NOTE_N) {
      noTone(buzzerPin);
      delay(tempo / noteDurations[i]);
    } else {
      int duration = tempo / noteDurations[i];
      // Длительность тона снижена до 5 мс — будет слышен только лёгкий тихий клик/щелчок
      tone(buzzerPin, melody[i], 5); 
      delay(duration);
      noTone(buzzerPin);
    }
  }

  delay(3000);
}