Звуки Ардуино из разных динамиков.

Звуки Ардуино из разных динамиков.

Как создать несколько выходов на Ардуино и последовательно играть разные мелодии используя  несколько динамиков и команды tone()
 

Этот пример показывает, как использовать команду tone() для воспроизведения различных нот на нескольких выходах.
Команда tone() работает, захватывая один из внутренних таймеров Atmega, устанавливая его на желаемую частоту и используя таймер для импульсации выходного пина.
Поскольку используется только один таймер, вы можете воспроизводить только одну ноту за раз.
Однако можно воспроизводить ноты на разных пинах последовательно.
Для этого нужно выключить таймер для одного пина перед переходом к следующему таймеру.

Нам понадобятся:

  • Плата Arduino
  • 3 динамика с сопротивлением 8 Ом
  • 3 резистора по 100 Ом
  • Провода
  • Макетная плата

 

Подключение:

Схема:

Программный код:
Скетч ниже воспроизводит звук на каждом из динамиков последовательно, выключая предыдущий динамик перед этим.
Обратите внимание, что длительность каждой ноты такая же, как и задержка, следующая за ней.

/*
  Многоканальный воспроизводитель тональных сигналов
  Воспроизводит несколько тональных сигналов на разных пинах последовательно
  Схема:
  - три динамика с сопротивлением 8 Ом на цифровых пинах 6, 7 и 8
 */

void setup() {

}

void loop() {
  // отключить функцию tone для пина 8:
  noTone(8);
  // проиграть ноту на пине 6 в течение 200 мс:
  tone(6, 440, 200);
  delay(200);
  // отключить функцию tone для пина 6:
  noTone(6);
  // проиграть ноту на пине 7 в течение 500 мс:
  tone(7, 494, 500);
  delay(500);
  // отключить функцию tone для пина 7:
  noTone(7);
  // проиграть ноту на пине 8 в течение 300 мс:
  tone(8, 523, 300);

  delay(300);
}

 

5 примеров

Музыкальный стенд: Создайте музыкальный стенд, на котором разместите несколько кнопок.
При нажатии на каждую кнопку будет воспроизводиться определенная мелодия на соответствующем динамике.
Это может быть интересным проектом для обучения детей основам программирования с использованием Arduino.

Звуковые индикаторы событий: Используйте три динамика, чтобы создать аудиовизуальные индикаторы для различных событий.
Например, каждый динамик может представлять определенное состояние системы, и звуковые сигналы будут информировать о возможных проблемах или успешных операциях.

Умный будильник: Превратите обычный будильник в умный, добавив возможность воспроизведения мелодий с использованием нескольких динамиков.
Каждый будильник может быть настроен на воспроизведение различных мелодий в зависимости от дня недели или других параметров.

Обучение музыке: Создайте интерактивный проект для обучения музыке. Каждый динамик представляет отдельную ноту, и пользователь может воспроизводить простые мелодии, нажимая на кнопки или взаимодействуя с другими сенсорами.

Аудиоигра: Разработайте аудиоигру с использованием нескольких динамиков. Звуковые эффекты, музыкальные темы и звуки окружающей среды могут быть воспроизведены на разных динамиках, создавая увлекательный звуковой опыт для игрока.

Дополнительные материалы по теме
Музыкальная клавиатура на Ардуино
Динамики ардуино. Подключение динамиков к Arduino
Подключение пищалки (BUZZER) к плате Ардуино
Звуки Ардуино из разных динамиков.
Музыкальная шкатулка. Ардуино
VU METR Музыка в цвете
Мелодии для Ардуино на пищалке. Пример и код.