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.

Sinric Pro HC-SR04 Ultrasonic Sensor

Pré-requisitos:

  1. ESP32, ESP8266 ou Raspberry Pi Pico W x 1.
  2. Sensor Ultrassônico (HC-SR04) x 1.
  3. Planta com vaso x 1.
  4. 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:

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.

Sinric Pro HC-SR04 esp8266 ultrasonic sensor wiring

Fiação do Sensor Ultrassônico

Sinric Pro HC-SR04 esp8266 ultrasonic sensor wiring

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.

Sinric Pro HC-SR04 readings

Vamos tentar medir o nível de água como uma porcentagem.

Sinric Pro HC-SR04 readings

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.

sinricpro water tank new device template basic info

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.

sinricpro water tank new device template capabilities

Clique no botão Configure e configure as duas capacidades como abaixo.

sinricpro water tank device template range capability

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.

Sinric Pro import template json

Cole este Template:

Sinric Pro create device alexa

Sinric Pro copy device id

Sinric Pro copy device id

Passo 2: Conectar ao Sinric Pro

Passo 2.1 Instalar a Biblioteca Sinric Pro

Sinric Pro install SinricPro library

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)

Sinric Pro Alexa HC-SR04 sensor

Sinric Pro Alexa HC-SR04 portal

Sinric Pro water tank app

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.

Full Empty

O template completo do dispositivo ficaria assim

Full Template

Aqui está o template com alturas cheio e vazio. Você pode importar isso na seção Device Template.

3.2 Código Completo

Tank control with Alexa and SinricPro App

É isso.

Solução de Problemas

  1. Google Home ou SmartThings não são suportados.

  2. 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