Программа метронома

Метроном — это устройство, которое задает ритм для музыканта. То есть нам потребуется издавать краткий звук с заданным периодом, скажем в 1 секунду.

Для генерации звука заданной частоты воспользуемся функцией tone, которая имеет следующий формат:

tone( контакт, частота [, длительность] );
  • здесь контакт — номер вывода Ардуино к которому подключён динамик;
  • частота — частота генерируемого звука в герцах;
  • длительность — длительность звука в миллисекундах (параметр необязательный).

Как только мы вызовем функцию tone, Ардуино начнет генерировать импульсный сигнал и будет делать это, пока мы принудительно не выключим генерацию с помощью другой функции — noTone:

noTone( контакт );

Аргумент контакт — это номер вывода Ардуино к которому подключён динамик.

Примечание. Важно учитывать, что Ардуино может одновременно генерировать только один тон на одном контакте. Если вызовем функцию tone для одного контакта, и пока идет генерация попытаемся вызвать tone для другого контакта, то последний вызов будет попросту проигнорирован.

Программа метронома идентична программе для мигания светодиодом, за исключением того, что мы вместо функции digitalWrite применяем tone и noTone.

const byte dynPin = 2;

void setup() {
    pinMode( dynPin, OUTPUT ); // настраиваем контакт №2 на выход
}

void loop() {
    tone( dynPin, 100 ); // генерируем звук с частотой 100 Гц
    delay( 100 ); // пауза 500 миллисекунд
    noTone( dynPin ); // выключаем звук
    delay( 900 ); // снова пауза 500 мс
}

Загружаем программу на Ардуино и внимаем ритмичному звуку метронома. Следующий пример по-сложнее — будем играть мелодию!


Изменено:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.