Интернет-магазин «Неглупый Дом»
Здесь нет готового модуля-зуммера — Arduino формирует звук через обычный динамик, а его питание переключает дискретный биполярный транзистор TIP120, рассчитанный на заметно больший ток, чем способен дать пин Arduino напрямую.
Пины Arduino отдают лишь десятки миллиампер — хватит для пьезо-зуммера, но мало для динамика. TIP120 — составной транзистор Дарлингтона: усиливает маленький ток базы в ток коллектора в несколько ампер, управляясь слабым сигналом с пина через резистор.
`tone()` формирует на пине прямоугольный сигнал нужной частоты — пропущенный через TIP120, он заставляет динамик быстро щёлкать с той же частотой, что воспринимается как тон, только заметно громче пьезо-излучателя.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить.
const int SPEAKER_PIN = 9;
void setup() {
Serial.begin(9600);
}
void loop() {
for (int freq = 400; freq <= 1200; freq += 20) {
tone(SPEAKER_PIN, freq);
delay(15);
}
for (int freq = 1200; freq >= 400; freq -= 20) {
tone(SPEAKER_PIN, freq);
delay(15);
}
}
Дополнительных библиотек не требуется — только `tone()`. Резистор между пином и базой TIP120 обязателен, иначе транзистор может выйти из строя.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 130 ₽ 117 ₽ (экономия 13 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.