Blynk com pinos virtuais utilizando o Blynk Timer, passando os
parâmetros do esp32 através da função Blynk.virtualWrite(). Para ler de um pino digital do Blynk e inserir os valores no esp32, usa-se a função BLYNK_WRITE(NOME_PINO); Usar o IFTTT com o Google Assistant para controlar, por voz, os comandos no Blynk. Outras opções disponíveis para comando de voz: Jarvis, módulo de reconhecimento de voz. Simulação no circuito.io. Adafruit io. Por enquanto o objetivo geral é controlar todos os sensores e atuadores pelo celular com o Blynk, IFTTT e o esp32 devKit.
Dispositivos e Fenômenos Controlados:
Chuva através de um sensor para fechar uma janela e, ou emitir algum tipo de alerta. Luminosidade através do módulo sensor LDR. Fechadura com válvula solenoide. Temperatura e Umidade com o módulo sensor DHT11 ou 22. Controle do gás de cozinha. Controle de chamas com o módulo sensor de chamas.
O código do projeto foi construído no Visual Studio Code, no início utilizei
uma estrutura bem linear, o que gerou desperdício de processamento no esp32, já que o mesmo possui dois núcleos disponíveis para o programador. O primeiro componente instalado foi o sensor de presença junto com o relé autoacoplado. Instalei o sensor no teto do quarto e emendei um cabo flexível de 0,3 mm de diâmetro. O comprimento do fio pode causar mudanças na leitura dos sensores, devido ao aumento da resistência, diretamente proporcional ao comprimento, o que pode ocasionar queda de tensão, e gerar erros na hora de interpretar as informações dos sensores pelo esp32. O comprimento do fio não afetou a leitura do sensor de presença, com sua saída digital. No relé utilizei o contato normalmente aberto em um dos terminais de uma lâmpada, que fica em um abajur. No terminal comum do relé, liguei um fio de uma tomada da lâmpada. Com o relé sendo controlado pelo esp32, realizei um algoritmo para que o relé fosse comutado assim que o sensor de presença ficasse em nível lógico 1. No sensor de presença é possível ajustar três parâmetros, o alcance de detecção, o tempo em que o sensor fica ativado depois que é acionado, e se ele continua ativado ao detectar outra presença, ou obedece ao tempo ajustado e volta pro nível 0, independente de detectar outra presença nesse tempo. Imagine a seguinte situação, uma pessoa entro no quarto, a lâmpada ascende, depois de 1 minuto a lâmpada apaga, mesmo que a pessoa continue em movimento. Este é um comportamento não muito desejado, é agradável que a lâmpada continue acessa enquanto tiver alguém dentro do quarto. Verificando o funcionamento do sensor PIR junto com o relé, comecei a implementar a instalação do sensor de luminosidade (LDR). Não seria “inteligente” em termos de economia, fazer com que o relé fosse comutado nos horários em que o quarto estaria iluminado naturalmente. Poderia ter implementado uma lógica baseada no horário de um servidor ntp, mas optei por utilizar a luminosidade como guia para habilitar o funcionamento da lâmpada de acordo com o sensor PIR.