Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука

Компоненты и материалы

Arduino UNO1
MP3‑модуль (с USB/SD)1
Релейный модуль 4 канала1
PIR‑датчик движения HC‑SR5011
Держатель 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: Итоговый вариант

Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука

Код

// 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 перезагружался от просадки напряжения при громком звуке).

Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука
Страшный Halloween‑гаджет: PIR‑динамик с эффектами света и звука

PIR закреплён эпоксидкой, динамик болтами через пластиковую прокладку.

В архиве: вариант «Смеющийся призрак» (6 смехов), фоновый звук «Кладбище».

Производственный процесс

  1. Индуктивный датчик приближённости: схема, принцип работы и практические применения
  2. Bluetooth Mesh: выбор между модулем и дискретным чипом
  3. Apacer XR‑DIMM: DO‑160G сертифицированная rugged DDR4 память для обороны и авиации
  4. emtrion запускает компактный emCON-MX8M Mini модуль на NXP i.MX 8M Mini
  5. congatec представляет SMARC 2.0 модуль на NXP i.MX 8M Mini процессоре
  6. Построение надёжного Temperature & Sensor API на Raspberry Pi с модулем GY‑91
  7. Создание умного автозамка двери с использованием Bluetooth-близости смартфона
  8. Мастерство GPIO Raspberry Pi: подключение PIR-датчика движения на B+/Model 2
  9. Система домашней безопасности на Raspberry Pi: обнаружение движения PIR + камера с email-уведомлениями
  10. Подключение, калибровка и программирование PIR-датчика HC‑SR501 с Raspberry Pi