#include "notes.h" // Библиотека с частотой нот

// задать пин, к которому подсоединен пьезоэлемент
#if defined(ARDUINO_ELSOMIK) || defined(ARDUINO_START_MIK32_V1)
// для плат Elsomik и Start задать пин в формате порт_вывод
const int buzzerPin = P0_0;  
#else
// для плат Elbear задать номер цифрового вывода
const int buzzerPin = 2;
#endif

/* 
 * BPM (bpm, англ. beats per minute[1], удары в минуту) в музыке — показатель, определяющий скорость исполнения 
 * или воспроизведения композиции. BPM — это количество четвертных нот в минуту, например, 120 BPM означает, что 
 * в минуту играется 120 четвертных нот (следовательно, 2 четверти в секунду).
 */
int tempo = 138;

// функция настройки запускается один раз при нажатии кнопки reset или подаче питания на плату
void setup() {
  // Настройка пинов для управления пьезоэлементом:
  pinMode(buzzerPin, OUTPUT);
}

// функция цикла выполняется снова и снова бесконечно
void loop() {
  for(int i = 0; i < sizeof(badApple)/sizeof(*badApple); i += 2)
  {
    int duration = badApple[i+1]/(tempo/60); // Рассчитывается продолжительность звучания ноты в миллисекундах
    if(badApple[i] != NOTE_PAUSE) // Если не пауза, то играть ноту
    {
      tone(buzzerPin, badApple[i], duration);
    }
    else // Если пауза, то выключить звук
    {
      noTone(buzzerPin);
    }
    delay(duration); // Задержка для выдерживания продолжительности ноты или паузы
    delay(1); // Небольшая задержка между нотами
  }

  delay(3000);
}










