Сигнализация «Лающая собака» на Arduino: HC-SR501 + DFPlayer Mini

Сигнализация «лающая собака» — забавная и полезная охранная система на Arduino. Датчик движения HC-SR501 обнаруживает человека, DFPlayer Mini воспроизводит рычание или лай из MP3-файлов на SD-карте. Эффект присутствия злой собаки отпугивает нежеланных гостей. Проект простой, собирается за час, работает автономно. Можно использовать на даче, в гараже или квартире для имитации охраны.

Сигнализация лающая собака HC-SR501 DFPlayer Arduino

Возможности системы

Срабатывание на движение в зоне 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;
}
ждёт движения по PIR-датчику на пине 2.
при фронте 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 на других пинах.

📁 Скачать примеры