Como economizar água com a Sparkfun Blynk Board 22

A água é um recurso essencial para a vida de qualquer criatura na terra. Nós humanos, por exemplo, temos uma grande porcentagem do nosso corpo composto de água, podendo assim ser afirmado que a água é o mais importante recurso existente. Sendo assim, por que não utilizar a tecnologia em prol do uso consciente da água? É exatamente o que este post irá ensinar: como utilizar a Sparkfun Blynk Board para usar conscientemente água, ajudar a salvar o planeta e (por que não?) economizar na conta de água.

Sparkfun Blynk Board

Este projeto é baseado neste aqui (de minha autoria), o qual concorreu a um prêmio no Contest “IoT For Everyone” do site Hackster.

Descrição do projeto de economia de água

Este projeto consiste em utilizar a Sparkfun Blynk Board em conjunto com um sensor de fluxo de água e o aplicativo Blynk, com objetivo de:

  • Medir a vazão instantânea de água (l/h).
  • Medir consumo acumulado de água ( l ).
  • Estabelecer uma meta de consumo de água (em l) por período.
  • Avisar o usuário quando a meta de consumo for atingida, fazendo assim com que o usuário tenha real consciência do seu uso de água , por sua vez, tenha base real para se policiar e reduzir o consumo.
  • Ser uma maneira de economizar na conta de água.

Detalhe Sparkfun Blynk Board e sensor de vazão

Material necessário

Além de conexão com a Internet (via WI-FI), são necessários os seguintes recursos:

a) Hardware

b) Software

  • Blynk App (disponível nas lojas de aplicativos oficiais da Apple e Android)
  • Arduino IDE (versão igual ou superior à 1.6.7)

Setup da Sparkfun Blynk Board

Para programar a Blynk Board, é necessário utilizar a Arduino IDE. Esta é uma boa notícia, já que você possivelmente está familiarizado com a IDE (e se não estiver, verá que é muito simples se acostumar com ela). Desta forma, você poderá dedicar mais tempo e esforço pensando em projetos legais (e não ficando preocupado com IDE, compiladores e demais dores de cabeça que a preparação de um ambiente pode acarretar).

Há um ótimo tutorial em como configurar a Arduino IDE para programar a Sparkfun Blynk Board aqui. Além disso, neste mesmo site, há exemplos de códigos para a Blynk Board (o que pode ser muito útil nos seus futuros projetos com essa placa).

Diagrama do projeto

O diagrama do projeto e um vídeo explicando como o projeto funciona estão a seguir:

Circuito Blynk Board

Vídeo (em inglês):

Código fonte projeto Economia de Água

Uma vez configurada a IDE do Arduino, conhecido como ligar os componentes de hardware/esquema elétrico e sabendo como o projeto funciona, é chegada a hora do código! Observe o código-fonte abaixo (apesar de estar em inglês, leia atentamente os comentários do mesmo):

Mostrando o consume de água no aplicativo Blynk

Este projeto funciona em conjunto com uma aplicação desenvolvida no Blynk App. O Blynk App permite o compartilhamento de aplicações nele desenvolvidas, ou seja, para reproduzir um projeto não é preciso refazer toda a aplicação novamente (o que poupa um bom tempo).

Para ter acesso a esta aplicação, basta baixar o Blynk App, fazer seu cadastro, clicar em “Scan QR Code” e apontar a câmera do dispositivo para o QR Code abaixo (talvez você tenha que adquirir Energy Points no Blynk para carregar a aplicação):

QRCode

 

Abaixo, temos a imagem do aplicativo em funcionamento e conectado à Sparkfun Blynk Board:

Blynk App

Projeto em ação!

Veja abaixo um vídeo do projeto em ação!

Gostou? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Posts Relacionados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

22 Comentários

  1. Teria como postar o código para uso deste sensor com arduino ?

    1. Mateus, boa tarde.

      O código atual já está num formato funcional para o Arduino. Basta adaptar um pouco o codigo removendo o seguinte:

      – Include ao header do ESP8266 e do blynk (#include e #include )
      – Chamadas das funções do Blynk (qualquer coisa do tipo Blynk.xxxxx)

      Atenciosamente,
      Pedro Bertoleti

  2. No site, a valvola solenoide que é vendida tem esse blog como exemplo de projeto, mas aqui vocês não usaram a válvula. Porem vocês sabem me dizer a polegada da válvula solenóide que é vendida. Estou procurando uma de 1/2 polegadas e que trabalhe com 110V ou 220V

  3. Lindo projeto! Parabéns!!

    Tô tentando reproduzir ele com uma NodeMCU aqui, pra um projeto em nosso makerspace de impacto social ( comuREDE ), onde queremos informar aos moradores da região através de nossa rede mesh comunitária, quando tá caindo água ou não.

    Poderia me tirar uma dúvida por favor??

    VOU QUEIMAR o NodeMCU se eu ligar esse sensor de fluxo direto (a pulse signal) sem resistor de 1k2 1/4W, conforme recomendado no esquema elétrico do projeto com a SparkFun?

    Muito obrigado!!

    1. Filipe, boa tarde.

      Muito obrigado pela leitura e pelo elogio! É muito gratificante saber que o projeto está sendo de alguma utilidade para o público.
      Respondendo sua dúvida: sim, você pode queimar o NodeMCU se não usar os resistores / ligar o sensor de fluxo direto ao NodeMCU. Motivo: o NodeMCU trabalha somente com 3,3V de nível de tensão máximo em seus I/Os, enquanto o sensor de fluxo opera com 5V.

      Atenciosamente,
      Pedro Bertoleti

  4. Bom dia pedro,
    Para ligar o sensor de vazão na placa Arduíno uno quais resistores são necessários? E deve deve ser ligado no analogico?

    1. Gean, bom dia.

      Para utilizar este sensor no Arduino Uno, você pode ligar direto a saída do sensor a entrada do Arduino. Os resistores foram necessários da SparkFun Blynk Board pois ela opera somente com 3,3V (e o sensor opera com 5V).
      Quanto a entrada que deve ser ligada, deve ser utilizada uma entrada digital, não uma analógica.

      Atenciosamente,
      Pedro Bertoleti

  5. Pedro estou iniciando a criação do do projeto feito por você, achei muito interessante eu e meus colegas e resolvemos por em pratica este projeto só que tenho algumas dúvidas a respeito do mesmo e gostaria de sua ajuda.
    irei precisar utilizar uma placa Arduíno ?
    como será a ligação dos resistores, vai ser tipo irei juntar os dois resistores de 1k2 e passar os conectores do tipo jacaré por eles para poder ser levados ao sensor? no caso o conector do sinal de pulso e o GND?

    Agradeço desde já!

  6. //Código abaixo funcioando para arduino

    #include //Carrega a biblioteca LiquidCrystal

    LiquidCrystal lcd(12, 11, 6, 5, 4, 3);//Define os pinos que serão utilizados para ligação ao display

    volatile int pulsos; // Cantidad de pulsos del sensor. Como se usa dentro de una interrupcion debe ser volatile
    unsigned int litrosPorHora; // Calculated litres/hour
    unsigned char sensorDeFlujo = 2; // Pin al que esta conectado el sensor
    unsigned long tiempoAnterior; // Para calcular el tiempo
    unsigned long pulsosAcumulados; // Pulsos acumulados
    float litros; // Litros acumulados

    void flujo () {
    pulsos++; // Simplemente sumar el numero de pulsos
    }

    void setup() {

    lcd.begin(16, 2);//Define o número de colunas e linhas do LCD
    pinMode(sensorDeFlujo, INPUT);
    Serial.begin(9600);
    attachInterrupt(0, flujo, RISING); // Setup Interrupt
    interrupts(); // Habilitar interrupciones
    tiempoAnterior = millis();

    }

    void loop () {

    if( millis() – tiempoAnterior > 1000) {

    tiempoAnterior = millis(); // Updates cloopTime
    // Pulse frequency (Hz) = 6.67 Q, Q is flow rate in L/min. (Results in +/- 3% range)
    // Q = frecuencia / 6.67 (L/min)
    // Q = (frecuencia * 60) / 6.67 (L/hora)
    pulsosAcumulados += pulsos;
    litrosPorHora = (pulsos * 60 / 6.67); // (Pulse frequency x 60 min) / 7.5Q = flow rate in L/hour
    pulsos = 0; // Reset Counter
    Serial.print(litrosPorHora, DEC); // Print litres/hour
    Serial.print(” L/hour”);
    Serial.print(” Pulsos totales: “);
    Serial.print(pulsosAcumulados);

    litros = pulsosAcumulados*1.0/400; //Cada 400 pulsos = 1 litro
    Serial.print(” Litros: “);
    Serial.println(litros);
    lcd.clear(); //Limpa a tela
    lcd.setCursor(0, 0);//Posiciona o cursor na coluna 3, linha 0;
    lcd.print(“CONSUMO DE AGUA”);//Envia o texto entre aspas para o LCD
    lcd.setCursor(0, 1);
    lcd.print(“LITROS:”);
    lcd.setCursor(7, 1);
    lcd.print(litros);
    delay(100);
    }

    }

  7. teria como rodar esse programa em um nodemcu?

  8. Olá Pedro!
    Eu poderia utilizar a placa wemos d1 r2 no lugar da sparkfun e mesmo assim utilizar o aplicativo blynk e este código ai do arduino? muito bom seu trabalho.
    Um abraço.

    1. Vera, primeiramente muito obrigado pela leitura e elogio!

      Eu não possuo e nunca usei a placa wemos d1 r2, porém vi que ela utiliza um ESP8266 (o ESp8266EX, no caso).
      Como o Blynk tem compatibilidade com os ESP8266, eu imagino (não é 100% de certeza, pois como eu disse, não tenho e nunca usei a placa em questão) que funcione sem problemas.

      Atenciosamente,
      Pedro Bertoleti

      1. Muito obrigada por sua atenção.

      2. Oi Pedro.
        Tem duas coisas que não entendi, no diagrama do projeto tem os dois resistores na saída pwm do sensor mas nas fotos la em cima não tem, porque? e onde eu colocaria eles na pratica?
        Outra coisa, a tensão de operação da sparkfun não 3,3 v então porque no diagrama do projeto o Vcc é 5v e a bateria usb também é 5V?

        1. Vera, boa tarde.

          Respondendo suas dúvidas:

          1) Primeiramente, não é uma saída PWM, mas sim uma saida pulsada de largura fixa. O que varia é a frequência dos pulsos, diretamente proporcional à vazão de água que passa pelo sensor.
          Realmente o que você falou foi uma falha de nossa fotografia, peço desculpas. Obedeça o esquema elétrico / circuito esquemático fornecido. Este pode ser visto aqui: https://www.hackster.io/phfbertoleti/water-on-iot-84fb94?ref=challenge&ref_id=35&offset=14

          2) Sim, a tensão de operação do ESP8266 presente na Blynk Board é 3,3V, porém a placa conta com um regulador de tensão, de modo que esta pode ser alimentada com 5V (incluindo alimentação pela USB) tranquilamente, ficando a cargo do regulador de tensão reduzi-la para 3,3V e alimentar o ESP8266.

          Atenciosamente,
          Pedro Bertoleti

          1. Muito obrigada pedro, por sua atenção.

          2. Oi Pedro. Olha eu de novo rsrsrs
            Como é que faço para adquirir esses Energy Points?

          3. Pelo próprio app Blynk você consegue comprar Energy Points

  9. ola gostaria de saber qual o tamanho da saída de água do sensor em mm

    1. Heitor, você pode usar qualquer sensor de vazão pulsado disponível no mercado. Portanto o tamanho da saída varia com sua escolha de sensor.

  10. Bom dia!!

    Amigos vcs tem esse script para eu ligar esse medido de fluxo em raspberry pi para payton

    1. Edilmar, bom dia.

      Infelizmente ainda não temos este projeto portado para a Raspberry PI + Python.

      Atenciosamente,
      Pedro Bertoleti