Сигнализация «Лающая собака» на Arduino: HC-SR501 + DFPlayer Mini
Сигнализация «лающая собака» — забавная и полезная охранная система на Arduino. Датчик движения HC-SR501 обнаруживает человека, DFPlayer Mini воспроизводит рычание или лай из MP3-файлов на SD-карте. Эффект присутствия злой собаки отпугивает нежеланных гостей. Проект простой, собирается за час, работает автономно. Можно использовать на даче, в гараже или квартире для имитации охраны.
Возможности системы
Срабатывание на движение в зоне 3–7 м. Воспроизведение MP3-файлов (лай, рычание). Случайный выбор трека для реализма. Приветствие при старте. Регулировка громкости и задержки. Легко добавить несколько звуков или реле на сирену. Автономная работа от батареи.
Необходимые компоненты
- Arduino Uno/Nano
- Датчик движения HC-SR501
- DFPlayer Mini MP3-модуль
- MicroSD-карта с MP3-файлами (001.mp3, 002.mp3…)
- Динамик 8 Ом 0.5–3 Вт
- Резистор 1 кОм (для RX DFPlayer)
Схема подключения
- HC-SR501: VCC → 5V, GND → GND, OUT → D2
- DFPlayer: VCC → 5V, GND → GND, RX → D10 (через 1 кОм), TX → D11
- SPK_1/SPK_2 → динамик
Библиотека
DFRobotDFPlayerMini (скачать с GitHub и добавить ZIP).
Полный скетч Arduino
#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>
SoftwareSerial mySerial(11, 10); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
#define PIR_PIN 2
int lastState = LOW;
void setup() {
pinMode(PIR_PIN, INPUT);
mySerial.begin(9600);
Serial.begin(115200);
if (!myDFPlayer.begin(mySerial)) {
Serial.println("DFPlayer ошибка!");
while(true);
}
myDFPlayer.volume(25); // 0-30
myDFPlayer.play(4); // приветствие
delay(40000); // калибровка PIR
}
void loop() {
int state = digitalRead(PIR_PIN);
if (state == HIGH && lastState == LOW) {
int track = random(1, 4); // 1-3 лай
myDFPlayer.play(track);
delay(5000); // пауза между лаем
}
lastState = state;
}
при фронте HIGH → LOW воспроизводит случайный трек 1–3.
пауза 5 секунд между срабатываниями.
Подготовка SD-карты
Формат FAT32. Файлы в корне: 001.mp3, 002.mp3… (лай собаки). 004.mp3 — приветствие.
Как работает
После старта калибровка PIR 40 сек + приветствие. При движении случайный лай. Задержка предотвращает спам. Реалистичный эффект присутствия собаки.
Заключение
Забавная и эффективная сигнализация на Arduino. Минимум деталей, громкий звук. Легко добавить реле, свет или Telegram-уведомления для полной охраны.
FAQ — Сигнализация «лающая собака»
Где взять звуки лая собаки?
Скачайте бесплатные MP3 с freesound.org или zapiszite сами. Нумеруйте 001.mp3 и т.д.
Почему нет звука?
Проверьте динамик, резистор 1 кОм на RX, volume(20–30), файлы на SD.
Можно случайный лай?
myDFPlayer.randomAll() или random(1, N) + play().
Ложные срабатывания?
Настройте потенциометры на HC-SR501: чувствительность и время удержания.
Работа от батареи?
Да, Arduino Pro Mini + Li-Ion, DFPlayer в sleep между срабатываниями.
Добавить сирену?
Подключите buzzer к пину и tone() при движении.
ESP8266 вместо Arduino?
Да, используйте SoftwareSerial на других пинах.