SmartPostBox: Caixa de Correio Inteligente IoT com Notificação por Email
Componentes Necessários
| Componente | Quantidade |
|---|---|
| Arduino MKR Fox 1200 | 1 |
| Fotorresistor (LDR) | 1 |
| Módulo Laser | 1 |
| Suporte 2x Pilhas AA/AAA para RTC | 1 |
| Fios Jumper (genéricos) | 1 conjunto |
| Resistor 1k ohm | 1 |
| Pilhas AA/AAA | 2 |
Ferramentas Necessárias
- Ferro de Solda (genérico)
Software e Serviços Online
- Arduino Web Editor
- Sigfox (backend IoT)
Sobre o Projeto
Visão Geral
A caixa de correio, um método antigo de entregar informações. No passado, todos dependiam dela. Hoje, é considerada chata e ineficaz. É muito mais fácil e divertido usar dispositivos digitais, e com a invenção do email, a caixa de correio começou a enferrujar lentamente.
O SmartPostBox visa trazer de volta o profissionalismo no recebimento de correspondência física. Todos sabem que é chato esperar uma carta; sair de casa toda manhã na esperança de que seu compromisso importante chegou. O SmartPostBox acaba com isso: este dispositivo simples envia um email quando você recebe correspondência, para que você saiba se vale a pena abrir sua caixa de correio.
Funcionamento
O SmartPostBox é projetado para todos, é muito simples de fazer e revitaliza sua velha caixa de correio. O dispositivo usa Sigfox para comunicar com a nuvem e enviar um email ao usuário se correspondência for detectada.
O Arduino MKR Fox 1200 tem um laser apontado para um fotorresistor, posicionados nas extremidades da caixa de correio. Quando uma carta é colocada na caixa, o microcontrolador detecta a interrupção do feixe e notifica o Sigfox, que por sua vez envia um email ao usuário.
Lógica do Código
- Ler Intensidade da Luz: Lê o valor bruto do fotorresistor e armazena em variável. O laser projeta feixe continuamente no fotorresistor.
- Condição IF: Verifica se o valor do fotorresistor está abaixo do normal. Em média, o fotorresistor saída ~950 no pino analógico. Se o valor cair mais de 50 (abaixo de ~900), significa que um envelope está bloqueando a luz, disparando a função de notificação.
- Notificar Sigfox: Envia um byte constante para o Sigfox, que envia o email ao usuário quando a mensagem é recebida.
O dispositivo envia o caractere espaço " " para o Sigfox quando detecta correspondência (nenhum dado precisa ser enviado ao backend, o email apenas informa que há correspondência).
Benefícios
- Ser notificado quando receber correspondência
- Não gastar energia verificando se chegou correspondência
- Facilidade de uso: dispositivo roda continuamente e lida com múltiplas cartas
Construindo o Projeto
Passo 1: Aparelhagem Necessária
Lista completa na tabela de componentes acima.
Passo 2: Conectar o Circuito
Esquemático no projeto original (não usa protoboard, ligação direta). Inclui guia passo a passo para preparar o MKR Fox (conexão da caixa de baterias e antena).
Importante: O Arduino MKR Fox regula automaticamente a fonte de alimentação. Quando plugado no USB para programação, muda automaticamente para alimentação USB e volta para bateria ao desconectar.
Passo 3: Entender o Código
Duas funções principais:
- Ler e Analisar Luz
- Enviar Pacote
Ler e Analisar Luz:
lightIntensity = analogRead(A1); // lê valor do fotorresistor
if (lightIntensity < 800) {
if (pos == 0) { // se não estava pendente de remoção
pos = 1;
// chama Send Packet
}
} else {
pos = 0; // reseta flag
}
Enviar Pacote:
SigFox.beginPacket();
if (proDebug) { Serial.println("Parsing Packet"); }
SigFox.print(" "); // envia caractere espaço
int ret = SigFox.endPacket(true); // aguarda confirmação
Passo 4: Configurar Sigfox
Pressupõe que o dispositivo já está configurado e conectado ao Sigfox. Se não, consulte tutorial da Arduino para configurar o MKR Fox.
Configure o Callback no backend Sigfox:
- Type: Data Uplink
- Channel: Email
- Custom Payload Configuration: (deixar vazio)
- Recipient: seu endereço de email
- Subject: "SmartPostBox" (ou assunto preferido)
- Message: corpo do email. Exemplo:
Hello There, This is to let you know that you have received mail in your post box. Be sure to check it out. Device {device}, Over and Out.
Variáveis disponíveis: {device} (ID do dispositivo), {lat}, {lng}, {time}, etc. Podem ser inseridas no assunto ou corpo.
Configurar Variáveis
Variável proDebug: se habilitado (1), requer conexão USB ao computador e Serial Monitor aberto – ideal para troubleshooting. Padrão: 0 (operação em campo).
Bibliotecas
- Sigfox – copyright (c) 2016 Arduino LLC – GNU LGPL
- ArduinoLowPower – copyright (c) 2016 Arduino LLC – GNU LGPL
Passo 5: Montagem Final
Conecte Arduino ao PC/Mac e faça upload do sketch. Certifique-se que a caixa de baterias está conectada e o circuito OK. Insira o Arduino na caixa (enclosure) e coloque na caixa de correio.
Caixa (Enclosure): Necessária para que o envelope caia entre o laser e o fotorresistor. Não há guia único pois caixas de correio variam. Ideia: um lado reto, outro reto ou levemente curvado, ambos se encontrando em ângulo agudo no centro. Um lado maior que o outro (no meu caso, caixa de 60mm profundidade, laser longo, fotorresistor fino).
Meça sua caixa de correio, projete ou imprima 3D a enclosure. Fiz a minha de papelão colado com fita – fotos do processo no projeto original.
Teste com proDebug=1 conectado ao computador. Funcionando, coloque na caixa de correio e pronto!
Histórico
Comecei a esperar muita correspondência ultimamente e cansei de levantar de manhã e verificar a caixa vazia. Projetei o SmartPostBox para resolver isso: em vez de caminhar até uma caixa vazia, sou notificado quando ir buscar minha correspondência.
Código
Código completo disponível na seção "Code" do projeto original (SmartPostBox.ino).
Esquemáticos
Diagrama de circuito e arquivo Fritzing (schematics_gdbmhyM33P.fzz) no projeto original.
Processo de manufatura
- Dominando a Sintaxe de Netlist SPICE: Nomenclatura de Componentes, Elementos Passivos e Ativos, e Definição de Fontes
- Circuitos Integrados (CIs): Chips Compactos e Poderosos Impulsionando a Eletrônica Moderna
- Dados Digital com Arduino: Gere Números Aleatórios 1-6 em LCD 16x2
- Detector de Terremoto DIY ADXL335 – Acelerômetro 3-Eixos de Baixa Potência
- Persianas Inteligentes: Controle Automático de Luz com Arduino e Energia Solar
- MotionSense: Detecção Inteligente de Intrusão com Arduino e ESP8266
- Kit MOSMusic: MOSFET, Arduino e Mais - Iluminação Sincronizada com Música
- Microeletrônica Explicada: A Ciência da Eletrônica Minúscula
- Componentes Essenciais de uma Máquina de Furar: Visão Geral Completa
- Principais Componentes de um Motor de Combustão Interna