Indicador de Nível de Água (Tanque de Água) usando Sensor Ultrassônico (HC-SR04) para ESP8266, ESP32, Raspberry Pi Pico W para Alexa
Nesta parte, vamos orientá-lo na construção de um Indicador de Nível de Água (também conhecido como Indicador de Tanque de Água) usando um Sensor Ultrassônico que pode ser conectado a um ESP32, ESP8266 ou Raspberry Pi Pico W. Uma vez configurado, você poderá medir níveis de água usando Amazon Alexa, perguntar à Alexa sobre informações dele, e também monitorá-lo através do aplicativo Sinric Pro e receber uma notificação push quando o nível de água estiver baixo.
Pré-requisitos:
- ESP32, ESP8266 ou Raspberry Pi Pico W x 1.
- Sensor Ultrassônico (HC-SR04) x 1.
- Planta com vaso x 1.
- Cabos Jumper.
Introdução rápida ao Sensor Ultrassônico
Os sensores ultrassônicos são sensores de baixo custo e fáceis de usar que podem medir distância. Funciona enviando uma rajada de som ultrassônico e então medindo o tempo que leva para o eco retornar. A distância para o objeto é então calculada baseada na velocidade do som.
É alimentado por uma fonte de 5V DC e tem quatro pinos: VCC, GND, TRIG e ECHO. Uma vez que o sensor está conectado, você pode usá-lo para medir distância enviando um pulso para o pino TRIG e então medindo o tempo que leva para o pino ECHO ficar alto. A distância para o objeto pode então ser calculada usando a seguinte fórmula:
distância = (tempo * velocidade do som) / 2
onde:
distância
está em centímetros.tempo
está em microssegundos.velocidade do som
é 343 metros por segundo.
De acordo com as notas do fabricante, o sensor HC-SR04 funciona melhor entre 2cm – 400 cm (1” - 13ft) dentro de um cone de 30 graus.
Fiação do Sensor Ultrassônico
Pino HC-SR04 | ESP8266 | ESP32 | Pico W |
---|---|---|---|
VCC | 5V | 5V | 5V |
GND | GND | GND | GND |
TRIG | 12 (D6) | GPIO 5 | 15 |
ECHO | 14 (D5) | GPIO 18 | 14 |
Vamos verificar se o sensor está conectado corretamente e funcionando.
Vamos tentar medir o nível de água como uma porcentagem.
Passo 1: Conectar ao Sinric Pro
Passo 1.1: Criando um tipo de dispositivo personalizado para Indicador de Nível de Água.
Sinric Pro não tem um tipo de dispositivo integrado para Indicador de Nível de Água, então vamos criar um tipo de dispositivo personalizado para suportar mostrar Indicador de Nível de Água usando o recurso Device Template.
Nota: Você pode usar o recurso de importação de template de dispositivo mencionado abaixo para pular a criação do template completo.
-
Faça login na sua conta Sinric Pro e vá para Device Templates
-
Clique em Add Device Template. Digite nome e descrição como Water Level Indicator e selecione Water Tank como tipo de dispositivo
- Clique em Capabilities.
Aqui devemos selecionar as características do nosso Sensor. Queremos saber o Nível de água como uma porcentagem. Então vamos arrastar uma capacidade Range e Push Notification.
-
O que é capacidade Range?
A capacidade Range pode ser usada para representar um número. ex: velocidade atual de um liquidificador.
-
O que é capacidade Push Notification?
A capacidade Notification fornece a habilidade de enviar uma mensagem de notificação push do código.
Clique no botão Configure e configure as duas capacidades como abaixo.
Clique em Save para salvar.
Clique em Save para salvar o template.
Agora você pode ver o template que acabamos de criar.
Importar um template existente?
Se você está com preguiça, você pode usar o recurso de importação.
Cole este Template:
-
Vá ao menu Dispositivos à esquerda e clique no botão Adicionar Dispositivo (no canto superior esquerdo).
-
Digite o nome do dispositivo Tanque de Água, descrição Tanque de Água e selecione o tipo de dispositivo como Water Level Indicator.
-
Clique na aba Outros e Clique em Salvar
-
A próxima tela mostrará as credenciais necessárias para conectar o dispositivo que você acabou de criar.
-
Copie o ID do Dispositivo, Chave do App e Segredo do App Mantenha esses valores seguros. NÃO OS COMPARTILHE EM FÓRUNS PÚBLICOS!
-
Clique em Code Generator para Gerar o código. Clique em Download para baixar o código.
Passo 2: Conectar ao Sinric Pro
Passo 2.1 Instalar a Biblioteca Sinric Pro
2.2 Código Completo
Agora você deve conseguir ver o nível de água do tanque via Alexa, App Sinric Pro
Alexa, Qual é o nível de água(nome do range) no tanque de água(nome do dispositivo)
Passo 3: Tornando as alturas de Tanque Cheio e Vazio configuráveis via UI
3.1 Atualizar template do dispositivo
Para tornar a altura do tanque cheio e vazio configurável via UI, precisamos voltar ao template de dispositivo personalizado e adicionar mais dois Range Controllers para Altura do Tanque Cheio e Altura do Tanque Vazio como abaixo.
O template completo do dispositivo ficaria assim
Aqui está o template com alturas cheio e vazio. Você pode importar isso na seção Device Template.
3.2 Código Completo
É isso.
Solução de Problemas
-
Google Home ou SmartThings não são suportados.
-
Consulte nossa página de Solução de Problemas para mais detalhes.
Este documento é código aberto. Viu um erro de digitação? Por favor, crie uma issue