Интернет-магазин «Неглупый Дом»
В другом проекте звук через XH-M567 запускается сразу при включении Arduino. Здесь усилитель на ESP8266 звучит только по нажатию кнопки на странице — удалённый звонок или оповещение с телефона.
Усилитель работает так же: `tone()` через вход усилителя раскачивает динамик громче зуммера. Разница — в источнике: звук запускается не в `setup()`, а по HTTP-запросу от нажатия ссылки-кнопки.
`tone()` не блокирует код надолго при коротких сигналах — обработчик успевает и запустить звук, и отправить обновлённую страницу почти одновременно.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить.
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
const char* WIFI_SSID = "ваша_сеть";
const char* WIFI_PASSWORD = "ваш_пароль";
ESP8266WebServer server(80);
const int AMP_PIN = D1;
void handleBeep() {
tone(AMP_PIN, 2000, 300);
server.send(200, "text/html", "<html><body>Сигнал отправлен!</body></html>");
}
void setup() {
Serial.begin(9600);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) delay(500);
server.on("/", []() { server.send(200, "text/html", "<html><body><a href='/beep'>🔔</a></body></html>"); });
server.on("/beep", handleBeep);
server.begin();
}
void loop() {
server.handleClient();
}
Библиотеки ESP8266WiFi/ESP8266WebServer входят в пакет поддержки ESP8266, для усилителя нужна только `tone()`.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 561 ₽ 505 ₽ (экономия 56 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.