Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Компоненты и материалы
| Arduino UNO | 1 |
| MP3‑модуль (с USB/SD) | 1 |
| Релейный модуль 4 канала | 1 |
| PIR‑датчик движения HC‑SR501 | 1 |
| Держатель 3×AA батареек (опционально) | 1 |
| Водонепроницаемые авиационные разъёмы 2‑пина | 3 |
| Пищевой контейнер герметичный (190×60×120 мм) | 1 |
| Чёрная малярная аэрозольная краска | 1 |
| Сверло по дереву 32 мм | 1 |
| Сверло по дереву 16 мм | 1 |
| USB‑флешка (FAT32) | 1 |
О проекте
ОБНОВЛЕНИЕ: Добавлен вариант «Смеющийся призрак» в архиве и дополнительный батарейный блок.
Цель — сделать несколько маленьких скрытых звуковых коробок для сада на Хэллоуин. Это самый сложный вариант: он воспроизводит страшный звуковой трек и включает два световых эффекта для привлечения внимания.
Идея использования реле для эмуляции нажатия кнопок MP3‑модуля принадлежит Кристиану Блосу (Kristian Blåsol).
Часть 1: Сборка
Arduino UNO управляет MP3‑модулем и светом через 4‑канальное реле. Два реле замыкают контакты кнопок «Play» и «Previous» на MP3‑плеере (эмуляция нажатия). Остальные два реле коммитируют питание 12В на внешние LED‑ленты/прожекторы.
Провода: 30 AWG для управления (100 мм), 18 AWG для 12В цепей. Всё размещено в контейнере. Для съёмной крышки используются разъёмы: PIR‑датчик — на вилке, динамик — винтовые клеммы на MP3‑модуле.
Схема: 12В питание входит через водонепроницаемый разъём. Минус общего питания идёт на выходы для LED, плюс — через реле для коммутации.
Корпус: отверстие 32 мм под динамик (центр), 16 мм под PIR‑датчик (сверху сбоку). Всё покрашено в чёрный для маскировки. Динамик защищён от воды латом от велосипедной камеры (клеится на место, звук проходит, вода нет). PIR сначала клеился термоклеем, потом — эпоксидкой (термоклей пропускал воду).
Компоненты расположены так, чтобы были доступны USB‑порты MP3‑модуля и Arduino. Питание можно подать и через USB Arduino, и через micro‑USB MP3‑плеера (если использовать 5В).
После сборки и заливки кода ключевые пайки дополнительно зафиксированы термоклеем.
Важно: MP3‑модуль требует FAT32 на флешке/карте, другие ФС не работали.
Часть 2: Звук
Аудиофайл собран в Audacity из источников: крики, жуткий смех, «I see you», звук шагов по камню.
Часть 3: Настройка таймингов
Аудио и срабатывание реле синхронизированы задержками в коде. При смене звукового файла подправьте задержки (в коде помечены).
Часть 4: Полевые тесты
Устройство успешно пугало прохожих.
Часть 5: Итоговый вариант








Код
// Assign pins
int pirSENSOR = 2;
int previousBUTTON = 3;
int playBUTTON = 4;
int whiteLED = 5;
int redLED = 6;
int statusLED = 10;
void setup() {
pinMode(pirSENSOR, INPUT);
pinMode(previousBUTTON, OUTPUT);
pinMode(playBUTTON, OUTPUT);
pinMode(whiteLED, OUTPUT);
pinMode(redLED, OUTPUT);
pinMode(statusLED, OUTPUT);
digitalWrite(previousBUTTON, HIGH); // реле: HIGH = OFF
digitalWrite(playBUTTON, HIGH);
digitalWrite(whiteLED, HIGH);
digitalWrite(redLED, HIGH);
}
void loop() {
if (digitalRead(pirSENSOR) == HIGH) {
// Запуск звука: нажатие Previous (играет с начала)
digitalWrite(previousBUTTON, LOW);
delay(100);
digitalWrite(previousBUTTON, HIGH);
delay(100);
// Последовательность белого LED (привлечение внимания)
digitalWrite(whiteLED, LOW); delay(1000);
digitalWrite(whiteLED, HIGH); delay(500);
digitalWrite(whiteLED, LOW); delay(500);
digitalWrite(whiteLED, HIGH); delay(9000);
// "I see you" — три коротких вспышки
digitalWrite(whiteLED, LOW); delay(500);
digitalWrite(whiteLED, HIGH); delay(100);
digitalWrite(whiteLED, LOW); delay(500);
digitalWrite(whiteLED, HIGH); delay(300);
digitalWrite(whiteLED, LOW); delay(500);
digitalWrite(whiteLED, HIGH); delay(300);
digitalWrite(whiteLED, LOW); delay(300);
digitalWrite(whiteLED, HIGH); delay(300);
digitalWrite(whiteLED, LOW); delay(300);
digitalWrite(whiteLED, HIGH); delay(300);
digitalWrite(whiteLED, LOW); delay(300);
digitalWrite(whiteLED, HIGH); delay(300);
digitalWrite(whiteLED, LOW); delay(300);
digitalWrite(whiteLED, HIGH); delay(6000);
// Детские звуки — серия вспышек
digitalWrite(whiteLED, LOW); delay(300);
digitalWrite(whiteLED, HIGH); delay(1000);
digitalWrite(whiteLED, LOW); delay(100);
digitalWrite(whiteLED, HIGH); delay(300);
digitalWrite(whiteLED, LOW); delay(100);
digitalWrite(whiteLED, HIGH); delay(300);
digitalWrite(whiteLED, LOW); delay(100);
digitalWrite(whiteLED, HIGH); delay(300);
digitalWrite(whiteLED, LOW); delay(100);
digitalWrite(whiteLED, HIGH); delay(1000);
digitalWrite(whiteLED, LOW); delay(600);
digitalWrite(whiteLED, HIGH); delay(1400);
digitalWrite(whiteLED, LOW); delay(100);
digitalWrite(whiteLED, HIGH); delay(7000);
// Крик / красный свет
digitalWrite(redLED, LOW); delay(3000);
digitalWrite(redLED, HIGH); delay(100);
// Стоп звука: нажатие Play (пауза)
digitalWrite(playBUTTON, LOW);
delay(100);
digitalWrite(playBUTTON, HIGH);
delay(60000); // блокировка на 1 минуту
} else {
digitalWrite(statusLED, HIGH); // индикатор ожидания (чтобы powerbank не отключился)
}
}
Схемы и файлы
На схеме показан вариант с одним блоком питания. Позже добавлен второй независимый блок для MP3‑модуля (Arduino перезагружался от просадки напряжения при громком звуке).



PIR закреплён эпоксидкой, динамик болтами через пластиковую прокладку.
В архиве: вариант «Смеющийся призрак» (6 смехов), фоновый звук «Кладбище».
voices_audio_dUluBtMyqG.mp3— только голоса, без светаlaughing_ghost_variant_VsB0Y8CTlM.zip— вариант со смехомarchive_IipdobBdHs.zip— полный архив проектаgraveyard_ambience_sound_fx_(128_kbps)_nhuprhuJcc.mp3— атмосферный фон
Производственный процесс
- Индуктивный датчик приближённости: схема, принцип работы и практические применения
- Bluetooth Mesh: выбор между модулем и дискретным чипом
- Apacer XR‑DIMM: DO‑160G сертифицированная rugged DDR4 память для обороны и авиации
- emtrion запускает компактный emCON-MX8M Mini модуль на NXP i.MX 8M Mini
- congatec представляет SMARC 2.0 модуль на NXP i.MX 8M Mini процессоре
- Построение надёжного Temperature & Sensor API на Raspberry Pi с модулем GY‑91
- Создание умного автозамка двери с использованием Bluetooth-близости смартфона
- Мастерство GPIO Raspberry Pi: подключение PIR-датчика движения на B+/Model 2
- Система домашней безопасности на Raspberry Pi: обнаружение движения PIR + камера с email-уведомлениями
- Подключение, калибровка и программирование PIR-датчика HC‑SR501 с Raspberry Pi