Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Pontos principais:
- Este foi um hack temporário colocado em prática para detectar quando meu motor AC / soprador de forno estava funcionando, para que meus dois ventiladores de reforço pudessem ligar.
- Preciso de dois ventiladores de reforço em minha canalização para empurrar mais ar quente / frio em dois quartos isolados. Mas não quero deixar os ventiladores funcionando o tempo todo, apenas quando o motor do soprador do forno estiver funcionando.
Suprimentos
- WeMos D1 Mini (ou cópia barata / qualquer coisa ESP8266)
- Fios de ligação
- Resistor 10K
- Tilt sesnor
Etapa 1: Falha
Alguns esforços que falharam antes desta solução:
- Use a API ecobee para detectar o status do termostato. API está em um atraso de 20 minutos a duas horas, não é bom o suficiente
- O sensor Arduino flex no duto não era sensível o suficiente
- Sensor de corrente no ventilador de 24 V do termostato, não tinha sensor de corrente DC e estava impaciente. Além disso, a ideia me assusta.
- Homeassistant / Hass.io mesmas limitações da API ecobee
- O sensor de fluxo de ar não é sensível o suficiente para o retorno do fluxo do duto de ar.
Etapa 2: Instalar Booster Fans
Este artigo não é sobre os fãs de reforço em si, mas é uma etapa necessária. Eu instalei dois ventiladores auxiliares em linha, selei qualquer vazamento de ar com fita de ventilação e conectei os dois em um plugue inteligente no qual instalei o Tasmota, para que eu pudesse ligar / desligar os dois ventiladores com um único pedido GET.
As arruelas de borracha usadas onde os ventiladores são montados nas vigas do teto para reduzir a vibração.
Etapa 3: conecte
O mini D1, o sensor de inclinação e o resistor se encaixam para que o pino analógico leia a configuração de inclinação.
Etapa 4: Código
#include #include // LÊ CONSTANTEMENTE DO SENSOR DE MINI VIBRAÇÃO D1 // SE DUAS VIBRAÇÕES DISTINTAS DETECTADAS EM UMA JANELA DE 60 SEGUNDOS, É FEITA UMA SOLICITAÇÃO DA WEB // SE ZERO OU UMA VIBRAÇÃO DETECTADA, NADA ACONTECE, PROVAMENTE FALSO POSITIVO POSITIVO A0; uint32_t period = 1 * 60000; // 60 segundos windowint flex = 0; // iniciando o valueconst char * ssid = "ssid"; // ADICIONE WIFI SSIDconst char * password = "senha"; // ADICIONE SENHA WIFIvoid setup () {WiFi.begin (ssid, senha); Serial.begin (9600); pinMode (sigPin, INPUT); } void loop () {flex = 0; Serial.println ("reiniciando contagem"); para (uint32_t tInício = milis (); (milis () - tInício) <período;) {rendimento (); int sigStatus = analogRead (sigPin); if (sigStatus! = 1024) // está funcionando {//Serial.println("up "); flex + = 1; Serial.println (flex); if (flex == 2) {//Serial.println("Shook duas vezes, isso é real "); HTTPClient http; //http.begin("https://10.0.0.50:5000/fan_on "); http.begin ("https:// IP: PORTA / caminho"); // ADICIONE IP, PORTA, VALORES CORRETOS int httpCode = http. GET (); Carga útil da string = http.getString (); Serial.println (carga útil); http.end (); atraso (6000); // descanse um pouco} delay (1000); } else {Serial.println ("imperturbado"); }}}
Etapa 5: instalar
Esta é a parte complicada, exigiu muitas tentativas e erros. Ignore as manchas de ferrugem no respiradouro, são de um umidificador antigo que foi instalado no duto.
Decidi colocar o sensor de vibração dentro do duto de retorno de ar frio próximo à entrada do forno, de forma que todo o ar que entra no motor do soprador passasse por ele, com sorte permitindo que ele tremesse um pouco. A parte mais difícil foi fazer com que o sensor pendurasse bem para que ficasse de pé e ainda balançasse com o fluxo de ar. As fotos mostram o breadboard antes de eu tornar a solução mais permanente. O mini D1 em si ficou fora do duto, para manter o sinal wi-fi forte.
Acabei pendurando o sensor de inclinação em um fio velho que costumava ser usado para controlar o umidificador, mas ficou no duto, assim achei o ângulo certo.
Etapa 6: Teste
O código funciona mantendo uma janela contínua de 60 segundos e contando o número de vezes que uma vibração é detectada. Você pode alterar as variáveis, mas a minha está configurada para fazer uma solicitação GET ao meu servidor de frasco se pelo menos 2 vibrações forem detectadas em uma janela de 60 segundos.
O servidor flask então usa outros dados para determinar se ele deve ligar meus ventiladores de reforço, como hora do dia e ocupação da casa. Veja para mais informações:
www.instructables.com/id/VentMan-DIY-Autom…
github.com/onetrueandrew/green_ecobee