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.
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:
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:
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:
Gostou? Confira outros posts com sensores aqui mesmo no Arduino e Cia!