Alto-falante de Terror com PIR para Halloween: Efeitos de Som e Luz
Componentes e Materiais
| Componente | Quantidade | Observações |
|---|---|---|
| Arduino UNO | 1 | |
| Módulo MP3 Player | 1 | Requer cartão SD/USB formatado FAT32 |
| Módulo Relé 4 Canais | 1 | 2 para botões do MP3, 2 para LEDs externos |
| Sensor PIR HC-SR501 | 1 | Ajuste sensibilidade e alcance no máximo |
| Suporte 3x Pilhas AA (opcional) | 1 | |
| Conector Avião 2 Pinos à Prova d'Água | 3 | Entrada 12V + 2 saídas para LEDs |
| Caixa Plástica Hermética (190×60×120mm) | 1 | Tipo pote de comida |
| Tinta Spray Preta | 1 | Camuflagem |
| Broca Chata 32mm | 1 | Para alto-falante |
| Broca Chata 16mm | 1 | Para sensor PIR |
| Pen Drive USB (FAT32) | 1 | Armazenamento de áudio |
Sobre o Projeto
Atualização: Adicionada variante "Fantasma Risonho" no ZIP e bateria extra.
Objetivo: criar caixas de áudio ocultas para o jardim que assustam visitantes no Halloween. Esta é a mais complexa: trilha sonora assustadora + 2 efeitos de luz visual.
Crédito a Kristian Blåsol pelo conceito original de usar relé para controlar botões do módulo MP3.
Conceito: dispositivo autônomo (bateria ou 12V externo) ativado por movimento, com áudio e duas saídas 12V para LEDs de efeito. Requisitos: barato (< £20/$25), personalizável, resistente à intempérie por um dia.
Optei por alimentação 12V externa (tomada externa próxima) para LEDs brilhantes (2A). Funciona com bateria 5V/12V (porta-pilhas AA ou power bank 5000mAh) sem modificações – basta trocar a entrada 12V por 5V.
Nota: após uso prolongado, o Arduino não fornecia corrente suficiente para o módulo MP3 em volume alto, causando reset. Solução: fonte 5V dedicada para o módulo MP3.
Parte 1 – Montagem
Princípio: Arduino UNO controla MP3 player e luzes via relé de 4 canais:
- 2 relés simulam pressionamento dos botões Play e Previous do módulo MP3
- 2 relés comutam alimentação dos LEDs externos
Fiação: 30AWG para controle (100mm), 18AWG para 12V (longos dentro da caixa). Parece bagunçado, mas facilita abrir a tampa. Conectores fêmea no PIR e alto-falante (parafusados no MP3) permitem remoção da tampa.
Circuito conforme diagrama: 12V entra no conector à prova d'água. Para comutar LEDs externos: -V comum, +V passa pelos relés.
Caixa: furo 32mm central (alto-falante), 16mm lateral superior (PIR). Pintura preta esconde LEDs das placas.
(Alto-falante impermeabilizado: remendo de câmara de ar de bicicleta colado por fora – som sai, água não entra. Parafusado através do remendo.)
Alto-falante parafusado, PIR colado com cola quente (depois trocado por epóxi – cola quente deixava entrar água).
Componentes arranjados para acesso às portas USB do MP3 e Arduino. (Se usar 5V, pode alimentar via USB do Arduino ou micro-USB do MP3.)
Após teste, cola quente nas soldas vulneráveis (conexões do alto-falante).
Importante: Módulo MP3 requer FAT32; outros formatos não funcionaram.
Parte 2 – Áudio
Arquivo editado no Audacity. Fontes/créditos:
- Gritos
- Risada assustadora
- "I see you" (Eu te vejo)
- Passos em pedra
Parte 3 – Configuração
O áudio e o acionamento dos relés pelo Arduino são sincronizados por tempo. Se usar outro áudio, ajuste os timings no código (marcados nos comentários).
Parte 4 – Teste Real
Testado no jardim – funcionou conforme esperado.
Parte 5 – Montagem Final
Código
// Pinos
int pirSENSOR = 2; // PIR – HIGH = movimento detectado
int previousBUTTON = 3; // Botão "Previous" do MP3 (via relé)
int playBUTTON = 4; // Botão "Play/Pause" do MP3 (via relé)
int whiteLED = 5; // LED branco piscante (via relé)
int redLED = 6; // LED vermelho sequência sangue (via relé)
int statusLED = 10; // LED status (baixo consumo)
void setup() {
pinMode(pirSENSOR, INPUT);
pinMode(previousBUTTON, OUTPUT);
pinMode(playBUTTON, OUTPUT);
pinMode(whiteLED, OUTPUT);
pinMode(redLED, OUTPUT);
pinMode(statusLED, OUTPUT);
// Relé: HIGH = DESLIGADO/ABERTO (ativo em LOW)
digitalWrite(previousBUTTON, HIGH);
digitalWrite(playBUTTON, HIGH);
digitalWrite(whiteLED, HIGH);
digitalWrite(redLED, HIGH);
}
void loop() {
if (digitalRead(pirSENSOR) == HIGH) { // Movimento detectado
// Inicia áudio: pressiona "Previous" (reinicia faixa)
digitalWrite(previousBUTTON, LOW);
delay(100);
digitalWrite(previousBUTTON, HIGH);
delay(100);
// Sequência de luzes sincronizada com áudio:
// Chamar atenção – piscadas brancas
digitalWrite(whiteLED, LOW); delay(1000);
digitalWrite(whiteLED, HIGH); delay(500);
digitalWrite(whiteLED, LOW); delay(500);
digitalWrite(whiteLED, HIGH); delay(9000);
// "I see you" – piscadas rápidas
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);
// Sons de crianças – padrão irregular
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);
// Grito / sequência sangue – LED vermelho
digitalWrite(redLED, LOW); delay(3000);
digitalWrite(redLED, HIGH); delay(100);
// Para áudio: pressiona Play/Pause
digitalWrite(playBUTTON, LOW);
delay(100);
digitalWrite(playBUTTON, HIGH);
delay(60000); // Aguarda 1 min antes de reativar
} else {
digitalWrite(statusLED, HIGH); // Mantém LED status aceso (consome pouca corrente)
}
}
Esquemáticos e Arquivos
Nota: esta variante tem apenas um pacote de bateria; adicionei depois uma fonte independente para o áudio.
Arquivos de áudio incluídos:
voices_audio_dUluBtMyqG.mp3– Caixa de vozes apenas (6 risadas diferentes)laughing_ghost_variant_VsB0Y8CTlM.zip– Variante "Fantasma Risonho"archive_IipdobBdHs.zip– Arquivo completograveyard_ambience_sound_fx_(128_kbps)_nhuprhuJcc.mp3– Ambiente de cemitério
Processo de manufatura
- Sensor de Proximidade Indutivo: Projeto de Circuito, Funcionalidade e Aplicações Práticas
- Escolhas de Design Bluetooth Mesh: Módulo vs. Dispositivo Discreto
- Apacer XR-DIMM: DDR4 Rugged Certificado DO-160G para Defesa e Aviação
- emtrion Lança emCON‑MX8M Mini Compacto Alimentado por NXP i.MX 8M Mini
- congatec Introduz Módulo SMARC 2.0 Alimentado por Processador NXP i.MX 8M Mini
- Construa API Robusta de Temperatura e Sensores no Raspberry Pi com Módulo GY‑91
- Construa uma Fechadura Inteligente de Travamento Automático Usando Proximidade Bluetooth do Smartphone
- Domine GPIO do Raspberry Pi: Interface com Sensor PIR de Movimento no B+/Modelo 2
- Sistema de Segurança Residencial com Raspberry Pi: Detecção PIR + Alertas de Câmera por Email
- Como Conectar, Calibrar e Programar Sensor PIR HC‑SR501 com Raspberry Pi