Índice:
Vídeo: Alerta Arduino Washer Dryer - Notificação push para telefone com Blynk: 5 etapas (com imagens)
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Nossa máquina de lavar está na garagem e não podemos ouvir os bipes que indicam que a lavagem foi concluída. Eu queria encontrar uma maneira de ser avisado, onde quer que estejamos na casa, quando o ciclo terminasse. Eu tenho mexido com Arduino, ESP8266 WiFi por algum tempo, e recentemente comecei com Blynk - eu pensei que isso poderia fornecer uma solução relativamente simples, mas flexível.
Meus pensamentos iniciais foram usar a máquina de lavar para alimentar o Arduino e conectar a campainha da máquina de lavar a um pino de entrada digital para acionar a notificação. Depois de algumas horas investigando os controles da máquina de lavar, sem um diagrama de circuito, e alguns choques elétricos inesperados (mesmo depois de testar conexões, pinos com meu multímetro …), decidi que uma abordagem menos invasiva seria melhor…
Com a ajuda do Sr. Google e vasculhando minhas caixas de sensores Arduino, decidi por um sensor de vibração conectado ao lado de fora da máquina de lavar, conectado a WiFi, e a plataforma Blynk para gerenciar a notificação push para nossos telefones (tentei e-mail e twitter, mas eram menos imediatos e exigiam configurações adicionais de alerta / notificação no iPhone).
Este instrutível descreverá o que você precisará (hardware, aplicativo e código do Arduino); dicas e lições aprendidas ao longo do caminho - para Arduino, ESP8266 (em uma placa WEMOS D1 Mini Pro).
Vamos começar…
Etapa 1: O que você precisa
1. WEMOS D1 Mini Pro - uma placa mini wi-fi com flash de 16 MB, conector de antena externa e antena de cerâmica integrada baseada em ESP8266EX.
2. GY-521 (MPU-6050) Giroscópio / acelerômetro.
3. Conta e aplicativo Blynk em seu smartphone.
4. Redefina o SW e o interruptor de alimentação (opcional), várias placas de ensaio, conecte os fios etc. para teste.
5. Fita dupla face resistente.
6. Pistola de cola quente ou outro adesivo para prender firmemente o sensor à caixa.
* O sensor deverá ser firmemente preso à caixa e a caixa à máquina de lavar. Se não for firme o suficiente, você obterá vibrações espúrias e perderá alguma sensibilidade em sua medição.
Etapa 2: Construa Seu Protótipo e Teste
Conecte a GY-521 ao D1 Mini:
GY-521 D1 Mini
VCC ----- + 5V
GND ----- GND
SCL ----- D1
SDA ----- D2
Carregue o esboço e depois de confirmar (monitor serial) que a GY-521 está retornando as coordenadas X, Y e Z (há muitos tutoriais básicos da GY-521 e esboços de amostra na internet). Para simplificar, usei apenas o eixo X para medir a vibração.
Agora, conecte temporariamente a GY-521 à sua máquina de lavar e permita que um ciclo completo seja executado. Isso reunirá os valores de X máximo e mínimo que podem ser usados para determinar quando a máquina está funcionando e quando está parada (comentários no esboço final explicam a lógica).
NOTA: os pinos D1 e D2 são para o WEMOS D1 Mini Pro, eles podem ser pinos diferentes em sua placa Arduino / ESP - procure diagramas de mapa de pinos online.
Em seguida, configure seu projeto Blynk.
Etapa 3: o esboço do Arduino
Assumirei que você sabe como usar o IDE do Arduino e fazer upload e executar esboços em placas compatíveis. Existem muitos comentários no próprio esboço, então não entrarei em muitos detalhes aqui.
As etapas básicas para o esboço são as seguintes:
1. Leia o valor atual do eixo X, armazene este valor. Se X for> xMax, salve-o como xMax. Se X for <xMin, salve-o como xMin.
2. A cada 5 minutos, verifique se a máquina parou: "if XMax - xMin <= 2". Escolhi 5 minutos, pois isso permite pausas no ciclo de lavagem e evita notificações falsas.
3. Se a máquina tiver parado, notifique Blynk para enviar uma notificação push para o seu telefone - A lavagem terminou!
* Eu uso a função millis () para gerenciar o cronômetro de 5 minutos. Blynk recomenda enfaticamente NÃO usar delay (), pois isso interrompe o loop () e faz com que o link para o servidor Blynk falhe. millis () é uma trickey para fazer você começar, mas vale a pena perseverar, é um ótimo cronômetro com a vantagem de que outro elemento do código continua a ser executado (por exemplo, ler pinos, enviar dados etc.), enquanto delay () interrompe todos os processos.
* Blynk possui links para a biblioteca BlynkSimpleEsp8266.h. Isso gerencia toda a interação Blynk entre o chip ESP8266 no mini D1 e todas as funções Blynk.
* A biblioteca Wire.h está incluída no Arduino IDE por padrão. Isso gerencia a comunicação I2C entre o D1 mini e o Gy-521.
Etapa 4: Construa Seu Projeto Blynk
Mesmo que você use um aplicativo em seu telefone, Blynk se refere a projetos e widgets individuais (eles só se tornam aplicativos depois que você decide publicá-los, um recurso disponível no Blynk que eu não usei, você não precisa publicar para usar os projetos para seu próprio uso).
Não vou descrever a configuração do Blynk, pois eles têm extensos tutoriais e suporte através de seu site e comunidade de suporte.
Meu projeto Blynk inclui o widget para gerenciar a notificação push do iPhone (Washing is Done!) E os valores para X Axis e xMax e xMin. Incluí isso como uma verificação visual rápida para confirmar se o projeto está conectado corretamente ao WiFi / Blynk e se a GY-521 está retornando dados válidos.
Depois de concluir o projeto, se você definir o tempo de atraso no esboço para um valor baixo (por exemplo, 10 segundos), mova manualmente o GY-521 para quebrar o limite, você NÃO deve receber notificação push enquanto o sensor está se movendo. Se você mantiver o sensor imóvel, deverá receber uma notificação push (Lavagem concluída!) No seu telefone.
Finalmente, defina o atraso de volta para 5 minutos (ou qualquer valor que seja adequado para você).
Passo 5: Agora pare de bagunçar e lave a sua roupa
Algumas reflexões finais…
1. Comece a lavar e ligue o projeto. Verifique os valores X no aplicativo para garantir que o sensor tenha iniciado corretamente. Às vezes, descobri que o sensor não ligava e retornava 225 para todos os valores. Uma reinicialização rápida corrigirá isso.
2. O atraso de 5 minutos significa que no pior cenário, você pode não receber a notificação até 5 minutos após o término da lavagem - este é um compromisso que eu prefiro, em vez de alarmes falsos durante o ciclo de lavagem.
3. Não se esqueça de habilitar a notificação para o aplicativo Blynk em seu telefone. Defina as configurações do telefone para permitir a notificação quando o telefone estiver bloqueado.
Quaisquer comentários ou perguntas, me avise
cul
billd