Sistema de Entrada Residencial Inteligente Inspirado em Star Wars (Tema Sith)
Componentes e Materiais
- Particle Photon – 2 unidades
- Arduino UNO – 1 unidade
- Shield Adafruit Music Maker MP3
- Sensor de Movimento PIR Adafruit
- LED (genérico) – 2 unidades
- Resistor 220 Ω – 2 unidades
- Jumpers
- Alto-falante 3W, 4Ω
- Protoboard (genérico) – 2 unidades
- Carregador USB Micro B
- Cabo USB-A para B
- Header Masculino 36 Posições
Ferramentas Necessárias
- Ferro de Solda (genérico)
Aplicativos e Serviços Online
- Particle Cloud
Sobre o Projeto
Minha filha é fã de Star Wars (mesmo sem ter visto os filmes). Quando perguntei se queria projeto temático, topou na hora. Ela me fazia tocar a Marcha Imperial (tema do Darth Vader) vestida de Vader para fazer "entrada triunfal". Decidimos: detectar alguém chegando em casa e tocar a Marcha Imperial antes da pessoa entrar.
Projeto simples, ideal para iniciantes. Primeira vez usando padrão publish/subscribe na nuvem e integrando diferentes microcontroladores. Adoro a simplicidade do Photon para soluções na nuvem e a variedade de hardware para Arduino. Juntá-los foi fácil e rápido.
Passo 1: Montar o Sensor
Tempo: 10 min | Peças: Photon, resistor 220Ω, LED, sensor PIR, protoboard, jumpers, cabo USB Micro B
Conecte LED ao Photon: resistor entre GND e fileira livre; perna longa do LED no pino D0, curta na fileira do resistor. LED opcional, mas indica estado do sensor.
Conecte PIR ao Photon: GND→GND, 5V→Vin, sinal→D7. Use header fêmea angular para fixar PIR verticalmente. Verifique datasheet: ordem dos pinos varia. Mesmo operando a 5V, pino de sinal costuma ser 3.3V, compatível com Photon.
Alimente via USB. No Particle IDE, cole o código do sensor e faça flash. Ao passar a mão, LED acende e evento aparece no Particle Dashboard.
Passo 2: Montar o Gatilho (Trigger)
Tempo: 10 min | Peças: Photon, resistor 220Ω, LED, protoboard, jumpers macho/fêmea
Conecte LED e resistor igual ao passo anterior. Conecte jumpers macho no Vin, GND e pino digital D7 do Photon. O pino digital conecta ao GPIO do Music Maker para disparar música. Vin e GND alimentam o Photon via Arduino.
Antes de conectar ao Arduino, alimente via USB, cole código do trigger no Particle IDE e faça flash (selecione device correto).
Passo 3: Montar Arduino e Shield Music Maker
Tempo: 20 min | Peças: Arduino Uno, Shield Music Maker, Photon, resistor 220Ω, LED, mini protoboard, jumpers, cabo USB | Ferramenta: ferro de solda
Header pins do shield vêm inclusos, devem ser soldados. Adicionei headers machos no topo do shield para GPIO e alimentação do Photon. Conecte jumper do pino digital do Photon ao GPIO do shield (usei pino 7). Vin do Photon → 5V do shield, GND → GND do shield.
Conecte alto-falante ao bloco de terminais do shield (um para direita, outro para esquerda). Usei um alto-falante pequeno recuperado de brinquedo quebrado.
Conecte Arduino ao PC, cole sketch Arduino no Arduino IDE e faça upload.
Pronto! Passe na frente do sensor e aguarde a música começar.
Sobre o Código
Primeira vez usando publish/subscribe. Fácil com Photon. No código do sensor, quando PIR vai HIGH, acendo LED e publico evento:
published = Particle.publish("motion-detected", NULL, 60, PRIVATE);
Inicialmente não usei PRIVATE, mas recebia falsos alarmes de outros usuários publicando eventos "motion". Mudei subscribe para apenas meus dispositivos:
Particle.subscribe("motion", soundAlarm, MY_DEVICES);
Para limitar aos meus dispositivos, o publish deve ser PRIVATE.
O trigger chama handler soundAlarm ao receber evento: acende LED e coloca GPIO do Music Maker em HIGH. O sketch Arduino detecta GPIO HIGH e espera 60s (tempo para estacionar, pegar coisas, entrar) antes de tocar MP3 no cartão SD.
Implantação do Projeto
Sensor na garagem, nas prateleiras ao lado da vaga. Trigger + Arduino + Music Maker + alto-falant na bancada da cozinha (onde filha fica). Ambos locais têm tomadas próximas para alimentação.
Código
Código do Sensor (Photon)
int led = D0; int pir = D6; bool published;
void setup() {
pinMode(led, OUTPUT); pinMode(pir, INPUT); digitalWrite(led, LOW);
}
void loop() {
if (digitalRead(pir) == HIGH) {
digitalWrite(led, HIGH);
published = Particle.publish("motion-detected", NULL, 60, PRIVATE);
if (!published) {
for (int i = 0; i < 10; i++) {
digitalWrite(led, LOW); delay(500);
digitalWrite(led, HIGH); delay(500);
}
}
} else digitalWrite(led, LOW);
delay(2000);
}
Código do Trigger (Photon)
int led = D0; int trigger = D7;
void soundAlarm(const char *event, const char *data) {
digitalWrite(led, HIGH); digitalWrite(trigger, HIGH);
delay(2000); digitalWrite(trigger, LOW); digitalWrite(led, LOW);
}
void setup() {
Particle.subscribe("motion", soundAlarm, MY_DEVICES);
pinMode(led, OUTPUT); pinMode(trigger, OUTPUT);
}
void loop() { }
Código Arduino + Shield Music Maker
/************************************************************
* Toca MP3 do cartão SD via Adafruit Music Maker shield
* quando disparado por Photon conectado a GPIO do shield.
* Tutorial Adafruit: https://learn.adafruit.com/...
************************************************************/
#include <SPI.h>
#include <Adafruit_VS1053.h>
#include <SD.h>
#define SHIELD_RESET -1
#define SHIELD_CS 7
#define SHIELD_DCS 6
#define CARDCS 4
#define DREQ 3
Adafruit_VS1053_FilePlayer musicPlayer =
Adafruit_VS1053_FilePlayer(SHIELD_RESET, SHIELD_CS, SHIELD_DCS, DREQ, CARDCS);
int photonPin = 7;
void setup() {
musicPlayer.begin(); SD.begin(CARDCS);
musicPlayer.setVolume(1,1); // menor = mais alto
musicPlayer.GPIO_pinMode(photonPin, INPUT);
}
void loop() {
if (musicPlayer.GPIO_digitalRead(photonPin) == HIGH) {
delay(60000); // espera 60s
musicPlayer.playFullFile("track001.mp3");
}
delay(500);
}
Esquemáticos
Arquivos Fritzing: sensor.fzz e trigger.fzz
Processo de manufatura
- Principais Componentes de uma Máquina CNC Explicados
- Elementos Essenciais de uma Comunicação de Crise Eficaz
- Futuro da Manufatura: Tendências, Talento e Inovação
- Annoy-O-Bug: Construa um Brinquedo Compacto de LED e Buzzer com ATtiny85
- Nanotecnologia: A Próxima Fronteira na Segurança de IoT
- Componentes-Chave de um Sistema de Ar Comprimido Confiável
- Como a Modernização de Guindastes Transforma Componentes-Chave para Desempenho Máximo
- O Técnico do Amanhã: Competências, Ferramentas e Papéis em uma Fábrica Digital
- Peças Essenciais de Máquinas de Serra Fita de Coluna Dupla
- Dominando o Design de Peças Usinadas: Guia Abrangente