Introduction: Monitoramento Remoto De Nível E Temperatura De Reservatório De Água Baseado Em IOT

Introdução:

A água é um bem extremamente precioso e cuidar deste bem é uma etapa muito importante e que não é dado o devido valor, somente quando falta é que as pessoas se dão conta do problema. No Brasil, a maioria da residências possuem reservatórios de água, comumente chamados de caixa d’água. O grande problema é que quase ninguém sabe exatamente a quantidade de água que está armazenada e pode ser surpreendido pela falta desta, além disto a bomba de água pode ser esquecida ligada, fazendo o reservatório transbordar. Esse tipo de situação causa o desperdício de água e energia elétrica.

Motivação:
Com o advento de novas tecnologias é possível evitar o desperdício de água e acompanhar o volume do reservatório de perto, mesmo estando distante, tudo isso através da internet.

O monitoramento remoto de nível e temperatura em reservatório de água, utiliza um sensor ultrassônico e um kit Arduino, disponibilizando a informação em tempo real. O sistema também sinaliza a condição de nível baixo, nível normal e nível crítico, informando em tempo real via web e alertando sobre a falta de água ou um possível transbordamento.

A ideia do projeto é demonstrar que, com a IoT (Internet of Things), podemos conectar qualquer dispositivo de uso residencial ou industrial, à “nuvem” e monitorar/comandar de forma remota. IoT é o termo referente a Internet of Things, ou Internet das Coisas. A tecnologia que possibilita objetos inanimados se conectarem, armazenarem e executarem funções dos mais diversos tipos. Hoje, além do despertador, temos relógios inteligentes que fazem ligação, contagem de passos, enviam mensagens, carregam informações pessoais e se conectam às redes sociais. Já dispomos de geladeiras conectadas na internet, smart TVs, comando de voz para ativar iluminação e ligar equipamentos, etc. Com a chegada o IPV6, a quantidade de endereços IPs ficou praticamente infinito, possibilitando qualquer coisa (Things) se conectar na “nuvem”.

Neste tutorial vamos explicar como conectar sensores à Internet das coisas (IoT). Este exemplo mostrará como monitorar o nível de uma caixa d’água e a temperatura desta água por meio de dispositivos de estejam em comunicação com a internet. Trata-se de um projeto muito simples, com poucos sensores, código reduzido e utilizando uma plataforma da nuvem também muito simples. O serviço escolhido para conectar nosso módulo a internet foi o Thingspeak, um serviço de nuvem grátis para uso comum.

Step 1: Apresentando O Hardware.

O sistema de monitoramento do reservatório de água é composto pelos seguintes materiais:

  • 1 Placa Arduino MEGA 2560 R3
  • 1 Placa Ethernet Shield W5100
  • 1 Cabo USB;
  • 1 Sensor de Distância Ultrassônico HC-SR04
  • 1 Sensor de Temperatura com NTC 10K à Prova D'Água – MF58
  • 2 Leds 5mm vermelho
  • 3 Leds 5mm verde
  • 5 Resistores de 330 ohms 1/4
  • 1 Resistores de 10 kohms 1/4
  • 1 Protoboard

- Placa Arduino Mega 2560: Possui um microcontrolador ATmega2560, possui 54 pinos de entradas e saídas digitais onde 15 destes podem ser utilizados como saídas PWM. Possui 16 entradas analógicas, 4 portas de comunicação serial.

A placa Arduino MEGA 2560 possui 54 pinos de entradas e saídas digitais que podem ser utilizadas como entrada ou saída conforme a necessidade de seu projeto, através das funções pinMode(), digitalWrite(), e digitalRead(). Os pinos operam com tensão de 5V e podem fornecer ou drenar até 40 mA. Cada pino possui resistor de pull-up interno que pode ser habilitado por software.

Possui 16 entradas analógicas (pinos A0 a A15), onde pode ser feita a conversão com uma resolução de 10 bits, ou seja, o valor será convertido entre 0 e 1023.

- Placa Ethernet Shield W5100: é uma placa que permite ao Arduino se conectar a uma rede local ou a internet. O mesmo possui o chip Wiznet W5100 e suporta até quatro conexões de socket simultaneamente. O shield possui um slot para cartão de memória (micro SD), onde é possível armazenar arquivos que podem ser enviados pela rede local / internet e bibliotecas para serem utilizadas pelo Arduino.

- Sensor ultrassônico HC-SR04: O Sensor ultrassônico HC-SR04 é capaz de medir distâncias de 2cm a 4m com ótima precisão e baixo preço. Este módulo possui um circuito pronto com emissor e receptor acoplados e 4 pinos (VCC, Trigger, ECHO, GND) para medição.

Para começar a medição é necessário alimentar o módulo e colocar o pino Trigger em nível alto por mais de 10us. Assim, o sensor emitirá uma onda sonora que, ao encontrar um obstáculo, rebaterá de volta em direção ao módulo. Durante o tempo de emissão e recebimento do sinal, o pino ECHO ficará em nível alto. Logo, o cálculo da distância pode ser feito de acordo com o tempo em que o pino ECHO permaneceu em nível alto após o pino Trigger ter sido colocado em nível alto.

- Sensor de Temperatura NTC 10K: termistor é um tipo de componente eletrônico que tem sua resistência elétrica alterada termicamente, ou seja, apresentam um valor de resistência para cada temperatura absoluta. Há duas categorias de termistores: PTC, que aumenta sensivelmente sua resistência elétrica com o aumento da temperatura e o NTC, que diminui sensivelmente a resistência elétrica com o aumento da temperatura. Vale ressaltar que Termistores não são polarizados.

Step 2: Montando O Circuito.

A montagem do esquema foi feita com auxilio do software Fritzing. Os cabos foram conectados entre os componentes montados no protoboard e a placa Arduino, não é possível perceber, mas a placa Ethernet Shield W5100 está conectada no topo da placa do arduino, respeitando os devidos conectores.

O sensor ultrassônico está com o pino ECHO ligado na porta digital 8 e o pino TRIG ligado na porta digital 9. Já o sensor de temperatura NTC está ligado na entrada analógica A0. Os leds que aparecem no circuito são usados para indicar o percentual volumétrico do reservatório, acendendo entre os valores de 20% e 80% e estão ligados nas portas digitais 2 a 6. Abaixo são apresentadas as imagens da montagem real.

Step 3: O Código Fonte.

As bibliotecas utilizadas neste projeto foram: Ethernet.h para a placa Ethernet, Ultrasonic.h para o sensor HC-SR04, ACI_10K_an.h para o sensor de temperatura e ThingSpeak.h para comunicação a “nuvem”. Foram feitas adaptações a partir dos exemplos das bibliotecas dos componentes, no caso da comunicação com a nuvem, a programação foi extremamente facilidade pela orientação a objetos da biblioteca ThingSpeak, promovendo com isso a reusabilidade de código.

Step 4: Utilizando O Thingspeak Para Conectar Um Dispositivo IoT

Para dá sentido ao IoT é importante que os dados coletados dos diversos dispositivos sejam enviados e armazenados em algum serviço da “nuvem” e que a partir deste serviço seja possível ter acesso em tempo real a esses dados por meio de outros dispositivos, como um smartphone, por exemplo. A plataforma escolhida para este projeto foi a Thingspeak.

Como funciona o ThingSpeak?

O ThingSpeak é uma plataforma IoT que permite o upload de dados numéricos, os quais serão plotados ao longo do tempo na forma de gráficos. Ou seja, é possível monitorar qualquer grandeza numérica (umidade, temperatura, pressão, luminosidade etc.) à distância via Internet.

O ThingSpeak possui tanto planos grátis quanto pagos (comerciais). De modo geral, o plano gratuito do ThingSpeak possui as seguintes limitações:
Envio máximo de 3 milhões de mensagens por ano. No máximo quatro canais (projetos diferentes) podem ser cadastrados. O tempo entre o envio de duas mensagens não pode ser menor que 15 segundos. Os dados enviados fora deste limite mínimo de tempo serão ignorados.

Os uploads deste projeto serão feitos em intervalos de 20 segundos, de forma a estabelecer uma diferença de tempo segura e evitar o descarte dos dados enviados ao ThingSpeak.

Step 5: ​Cadastro No ThingSpeak

Para utilizar a plataforma ThingSpeak, o primeiro passo é fazer o cadastro na plataforma. Para isso, acesse o site (https://thingspeak.com/login) e preencha o cadastro. É importante que você informe seu e-mail verdadeiro, ele será usado para comprovar sua inscrição. Os planos gratuitos são destinados a alunos, professores e outros, faça sua opção.

Step 6: Criando Um Canal De Comunicação.

Após criar a conta e fazer a confirmação via email, você terá acesso ao ThingSpeak. Para gravar os dados será preciso criar um canal. Um canal é uma espécie de espaço para seu projeto dentro do ThingSpeak, o qual contém seus gráficos e dados. Na barra superior, clique em “Channels”.

Feito isso, clique sobre o botão “New Channel” e preencha os dados requeridos de acordo com a necessidade do seu canal.

Cada Field equivale a um gráfico diferente dentro de seu canal. De acordo com o projeto, preecheremos dois fields distintos: nível e temperatura.

Ao final do preenchimento dos dados, clique no botão “Save Channel”.

Step 7: Copiando a Chave Do Canal

Para enviar dados ao seu canal, só falta obter a chave de escrita (Write API Key). Esta chave é uma das informações usadas na requisição HTTP e está atrelada ao seu canal. Sem ela, não é possível enviar dados ao seu canal. Para obter a chave de escrita (Write API Key), clique sobre a aba API Keys e copie a informação do campo Write API Key, conforme indica a figura 17. Salve esta chave em local seguro, ela será necessária no momento de enviar os dados para o Thingspeak e deverá fazer parte do código fonte.

Step 8: ​Conclusão:

Apesar deste experimento ser apenas um protótipo e também muito simplista, ele se mostrou bastante eficaz no seu proposito de coletar e disponibilizar dados de diversos dispositivos em tempo real. O sistema é baseado no conceito da Internet das Coisas, onde, um usuário com um smartphone pode acompanhar em tempo real, o nível e a temperatura do reservatório de água de sua residencia. As telas de monitoramento da imagem acima confirmam isso.