Neste post mostramos o sensor de líquido XKC-Y25-V NPN, um sensor de detecção por capacitância. Ele permite que você consiga detectar líquidos apenas aproximando o sensor de um recipiente.

Este sensor é indicado para utilização em recipientes não metálicos e a sua estrutura sem partes mecânicas aumenta a vida útil do sensor, contando com proteção IP67 contra entrada de água.

Você pode usar vários sensores desse tipo e montar um esquema parecido com o que eu mostrei no post Monitore sua Caixa dágua usando Arduino, por exemplo.

O sensor de líquidos sem contato XKC Y25

O sensor de líquido que vamos usar é o XKC Y25 NPN (datasheet), que é capaz de detectar a presença de líquidos condutivos, como por exemplo a água.

Sensor de líquidos sem contato XKC-Y25-V

Ele tem um led vermelho na parte traseira que acende quando o líquido é detectado, variando a saída do pino OUT (Amarelo). Sobre a pinagem, o sensor de líquidos tem um conector com 4 fios, seguindo o esquema abaixo:

Pinagem XKC-Y25-V

Os pinos Vcc e GND são usados para alimentação (5 a 24VDC). O pino OUT pode ter a saída em nível alto (igual a tensão de entrada) ou baixo (zero), dependendo da configuração que você utilizar no pino MODE.

Quando você conectar o pino MODE em nível alto, você terá na saída (OUT) o mesmo valor da tensão de entrada quando algum líquido for detectado. Se você conectar o MODE em nível baixo (0), a saída será 0 quando for detectado algum líquido.

O sensor conta ainda com um ajuste de sensibilidade por meio de potenciômetro, que pode ser regulado retirando-se a tampa traseira e utilizando uma chave de fenda.

Usando o sensor de líquido XKC-Y25-V no Arduino

Para usar este sensor com o Arduino Uno, vamos utilizar a porta digital 5 da placa. Na porta 7 vamos conectar um buzzer ativo 5V, que vai nos avisar quando houver presença de líquidos em um recipiente:

Circuito Arduino Uno e sensor de líquidos

Neste teste usaremos a alimentação de 5V do próprio Arduino.

Programa detecção de líquidos

No programa, não precisamos de nenhuma biblioteca em particular, usando somente as propriedades das portas digitais do Arduino.

O programa monitora a porta 5 do Arduino e verifica se o estado da entrada mudou de 1 para 0, indicando a presença de líquido. Em caso positivo, aciona a saída 7, onde conectamos o buzzer.

//Programa: Sensor de líquidos XKC-Y25-V com Arduino
//Autor: Arduino e Cia

#define pinobuzzer 7
#define pinosensor 5

int valor;

void setup()
{
  Serial.begin(9600);
  pinMode(7, OUTPUT);
  pinMode(5, INPUT_PULLUP);
}

void loop()
{
  //Faz a leitura do sensor de liquido
  valor = digitalRead(pinosensor);

  //Caso seja 0, aciona o buzzer
  if (valor <= 0)
  {
    digitalWrite(pinobuzzer, HIGH);
  }
  else
  {
    digitalWrite(pinobuzzer, LOW);
  }

  //Mostra o valor do sensor no Serial Monitor
  Serial.print("Sensor: ");
  Serial.println(valor);

  //Aguarda 200ms e repete o processo
  delay(200);
}

Você pode acompanhar o estado do sensor abrindo o serial monitor na IDE do Arduino:

Dados do sensor de líquido no Serial Monitor IDE Arduino

Gostou? Confira outros posts com sensores aqui mesmo no Arduino e Cia!

5/5 - (2 votes)