Identificando chuva e medindo nível de líquidos com Arduino

Olá a todos,

Nesse post demonstraremos o uso do sensor de chuva/gotajamento que também pode ser utilizado para detectar também o nível de água de um recipiente. Esse sensor é composto de três peças: a placa sensora, um cabo de ligação do tipo femea-femea e o conversor com saída analógica e outra digital.

Partes do sensor
Partes do sensor

A saída analógica emite sinais na mesma proporção em que a placa sensora é molhada. Já a saída digital é acionada quando uma quantidade de água determinada atinge o sensor. A quantidade de água que dispara a saída digital é ajustada no potenciômetro da placa conversora.

Primeiro vamos montar o circuito: conecte os cabos na placa sensora e em seguida no conversor. Na sequência podemos conectar a placa conversora na protoboard ou diretamente no Arduino com cabos jumper macho-femea, conforme a foto abaixo:

Sensor montado
Sensor montado

Passaremos agora para o desenvolvimento do código. Primeiro declare as variáveis que indicarão em quais pinos da placa as saídas do sensor estão conectados. Em seguida inicie o pino digital como INPUT e configure a porta serial.

int digital = 8;
int analogico = A0;

void setup() {

pinMode(digital, INPUT);

Serial.begin(9600);
}

Passaremos agora para a função loop. Primeiro faremos a leitura do pino digital, verificando se o valor limite foi acionado, exibindo o resultado na porta serial. Em seguida faremos a leitura do pino analógico, que indicará o quanto molhado está o sensor.

O valor analógico será alterado tanto quando gotas de água atingem a placa como quando a placa sensora é coloca na parede de um recipiente e o nível de água desse recipiente é alterado. Por isso podemos utilizar esse sensor tanto para identificar chuva ou outros gotejamentos como para medir o nível de líquidos dentro de um recipiente.

Naturalmente em nossos projetos o valor de disparado de alguma ação deverá ser calibrado para identificar o valor ideal, tanto da saída digital como a analógica.

void loop() {

int valor = digitalRead(digital);

if (HIGH == valor)
{
Serial.println(“Acionado”);
}
else
{
Serial.println(“Desacionado”);
}

valor = analogRead(analogico);
Serial.println(valor);

delay(1000);
}

Com o circuito montado e o código desenvolvido podemos compilar e rodar o programa. Após a compilação e transferência do programa abra o monitor serial para verificar os estados dos pinos. Atinja a placa com algumas gotas de água e veja os valores alterarem, ou mexa no potenciômetro para ajustar o valor de disparo do pino digital.

Obrigado a todos e até o próximo post!

Onde encontrar:

Deixe uma resposta

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