
Интернет-магазин «Неглупый Дом»
В другом проекте на сайте громкий сигнал через динамик собирается вручную на дискретном транзисторе TIP120 с базовым резистором. Здесь то же самое достигается проще — через готовую плату усилителя XH-M567, у которой уже есть всё необходимое для усиления сигнала и регулировки громкости прямо на борту.
Готовые усилительные модули типа XH-M567 построены на специализированной микросхеме усилителя класса D, рассчитанной на приём именно линейного аудиосигнала с одного или нескольких входов (обычно подписаны L-IN/R-IN или просто IN, в зависимости от разводки конкретной платы) и выдачу усиленного сигнала на подключённый динамик, с регулировкой громкости отдельным потенциометром на самой плате. Сигнал `tone()` с пина Arduino — это цифровой прямоугольный сигнал фиксированной амплитуды (0/5V), а не привычный "аналоговый" звук, но для простого тонального сигнала тревоги (а не музыки) такой сигнал, пропущенный через вход усилителя, воспринимается динамиком как чистый громкий тон — разница с музыкальным сигналом с телефона заметна по качеству звучания, но не критична для сигнализации.
У большинства таких готовых плат на входе уже стоит конденсатор, разделяющий постоянную и переменную составляющую сигнала (так называемая AC-связь) — это значит, что в большинстве случаев цифровой сигнал с пина Arduino можно подать на вход усилителя напрямую, без сборки дополнительной схемы согласования, в отличие от самодельного транзисторного драйвера, где нужно было думать про резистор базы и защитный элемент.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему. Точную маркировку входа
// и питания уточните по плате конкретно вашего экземпляра XH-M567.
const int AMP_INPUT_PIN = 9;
void setup() {
Serial.begin(9600);
}
void loop() {
tone(AMP_INPUT_PIN, 2000, 300);
delay(1000);
tone(AMP_INPUT_PIN, 2500, 300);
delay(1000);
}
Дополнительных библиотек не требуется — только встроенная `tone()`, идентично обычному пьезо-зуммеру, разница только в громкости и качестве звука на выходе. Громкость регулируется механическим потенциометром прямо на плате усилителя, а не программно.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 414 ₽ 373 ₽ (экономия 41 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.