- Descrição: O sensor capacitivo tem seu funcionamento baseado na…
Arduino – Detector de Nível de Líquido sem contato com o Sensor XKC-Y25-PNP
Detectar o nível de liquido em recipientes é um projeto bastante comum para ser desenvolvido com Arduino. Há diversas formas de realizar a detecção do nível de líquido e passar esta informação para o Arduino, de forma que alguma ação possa ser executada mediante o parâmetro recebido. Para esta postagem utilizei o Sensor XKC-Y25-PNP, que é uma ótima opção para detectar o nível de líquido em recipientes e ainda por cima sem necessidade de contato do sensor com a substância líquida. Ao final desta postagem, teremos o protótipo de um recipiente que vai ser abastecido com água através de uma mini bomba d’água e o mesmo será monitorado no nível mínimo e nível máximo. Algumas informações do processo serão mostradas em um display LCD.
Antes de partirmos para a montagem da prática, vamos conhecer o XKC-Y25-PNP.
O Sensor XKC-Y25-PNP é um dispositivo capacitivo puramente eletrônico utilizado para detecção de nível de liquido sem necessidade de contato. O mesmo utiliza um chip com avançada tecnologia de processamento de sinal e que executa operações em alta velocidade para detecção do nível de líquido em um recipiente.
Devido ao fato do XKC-Y25-PNP não exigir contato entre a substância e o sensor para fazer a detecção de nível, o mesmo se torna ideal para ser aplicado em processos onde seja necessário detectar o nível de substâncias tóxicas, ácidos ou álcali, por exemplo. Vale ressaltar que este sensor NÃO tem capacidade de detectar líquidos que NÃO conduzam eletricidade, como, por exemplo, gasolina ou outros derivados do petróleo.
Abaixo temos as principais características do XKC-Y25-PNP:
– Pode ser alimentado com tensão na faixa de 5 a 24VDC;
– Consome aproximadamente 200µA de corrente;
– A comunicação do sensor é feita através sinal serial TTL;
– A distância máxima de detecção é de 13mm;
– Possui polaridade PNP;
– Pode trabalhar em ambiente com temperatura na faixa de 0 a 100ºC e umidade de 5 a 100%;
– O acabamento do sensor é em ABS;
– Possui certificação IP67 (à prova de poeira / protegido contra imersão temporária em até 1 metro por até 30 minutos);
– Detecta líquidos em geral (desde que o líquido tenha capacidade de conduzir eletricidade)
– Pode detectar material sólido (preciso fazer testes para confirmar);
– Capacidade de detecção em recipientes de plástico, vidro e cerâmica, por exemplo;
– A cor do recipiente não influencia na detecção do sensor;
– Para recipientes metálicos é necessário um furo no recipiente e instalação de rubber plug para acoplar o sensor;
– A saída apresenta nível lógico alto (HIGH) quando detecta liquido no recipiente e se mantém em nível lógico baixo (LOW) sem detecção de líquido;
– Apesar de ser PNP, o sensor pode ter sua saída invertida (sinal LOW para detecção de líquido e HIGH sem detecção) através do pino M (MODE) que o mesmo possui;
– O sinal TLL de saída em nível alto (HIGH) é igual a tensão de alimentação do sensor (se for alimentado com 5V a saída de sinal será de 5V, se for alimentado com 10V a saída de sinal será de 10V e assim sucessivamente);
– O tempo de resposta é de aproximadamente 500 milissegundos;
– Possui alta sensibilidade;
– Possui desempenho estável;
– Possui alta durabilidade;
– Livre de interferências eletromagnéticas externas;
– Fácil de ser instalado e utilizado;
– Compatível com Arduino e outras plataformas microcontroladas;
Funcionamento do sensor:
De forma bem simples, o funcionamento do sensor XKC-Y25-PNP se resume a comparação do valor de capacitância medido quando o líquido está dentro do raio de detecção do sensor com o valor pré definido no chip de processamento que o mesmo possui.
Na extremidade do sensor há uma capacitância estática. Quando o líquido entra no raio de detecção do sensor, uma capacitância parasita será identificada pelo mesmo e o valor desta capacitância parasita será somado a capacitância estática para gerar uma capacitância final. Este valor final de capacitância será inserido no circuito de controle do sensor para que seja processado através de um algoritmo e em seguida seja comparado com o limite pré-definido. Caso o valor final de capacitância exceda o limite pré-definido, significa que o sensor detectou a presença de líquido e a saída assume nível lógico alto (HIGH ou 1).
Na imagem abaixo temos a identificação dos terminais de conexão do sensor:
VCC (marrom): terminal para alimentação do sensor com tensão na faixa de 5 a 24VDC.
MODE (preto): terminal utilizado para inverter o sinal de saída TTL do sensor. Por padrão, o XKC-Y25-PNP terá a saída em nível alto (HIGH) quando detectar líquido no recipiente, contudo, se o terminal preto do sensor for conectado no GND do microcontrolador, quando houver detecção de liquido, a saída assumirá nível lógico baixo (LOW ou 0).
GND (azul): terminal para conexão no GND da fonte de alimentação.
OUT (amarelo): terminal de saída do sinal serial TTL. Este terminal deve ser conectado a um pino digital da plataforma microcontrolada para identificar se o sensor detectou o nível do liquido no recipiente.
Na imagem abaixo temos um exemplo de instalação e uso do sensor em recipiente não metálico:
Veja que há um sensor instalado na parte superior do recipiente para identificar o nível máximo, um outro na parte inferior para identificar o nível mínimo e ambos estão conectados a uma plataforma microcontrolada que será responsável por ligar ou desligar a bomba d’água de acordo com o nível do recipiente. Para fixação do sensor no recipiente, pode ser utilizado resina ou cola epóxi ou até mesmo goma arábica (cola utilizada para colar selos e cartas).
Na próxima imagem temos um exemplo de instalação e uso do sensor em recipiente de metal:
Note que diferente do recipiente não metálico, é necessário fazer um furo no recipiente, instalar um rubber plug e acoplar o sensor com cola ou resina.
Lembrando que independente do recipiente, a espessura do mesmo deve ser levada em consideração, pois a distância máxima de detecção do sensor é de 13mm.
Agora que você já conhece o sensor XKC-Y25-PNP, podemos partir para a montagem da prática.
A prática consiste em utilizar o XKC-Y25-PNP em conjunto com o Arduino para detectar o nível mínimo e nível máximo de um recipiente. Será instalado um sensor no nível superior do recipiente e outro sensor no nível inferior. Uma mini bomba d’água será utilizada para que a agua possa encher o recipiente que vai estar sendo monitorado. Para apresentar algumas informações será utilizado também um display LCD 16X2 com interface I2C.
A mini bomba d’água consome de 130 a 220mA, logo, será necessário alimentar ela com uma fonte que forneça a corrente necessária para o perfeito funcionamento. O acionamento da mini bomba d’água será feito por um módulo relé 5V que também vai estar sendo controlado pelo Arduino. Além disso, é importante ressaltar que a mini bomba d’água não pode funcionar a seco, portanto, sempre utilize a mesma quando estiver submersa.
Utilizei uma fonte ajustável para protoboard, pois a mesma aceita de 6,5 a 12VDC na entrada, reduzindo a saída para 3.3VDC / 5VDC e fornece uma corrente de saída de aproximadamente 700mA. Desta forma, a fonte ajustável para protoboard será responsável por alimentar todas as peças que fazem parte do circuito, inclusive o Arduino.
Abaixo está a lista dos itens necessários:
– Arduino Uno R3 com Cabo USB A/B
– Sensor de Nível de Líquido (sem contato) – XKC-Y25-PNP
– Mini Motor DC – Bomba de Água Submersível
– Módulo Relé 5V de 1 Canal
– Display LCD 16X2
– Interface I2C para Display LCD
– Cabo Jumper Macho-macho
– Cabo Jumper Macho-fêmea
– Protoboard
– Resistor de 10K
– Fonte Ajustável 3.3V / 5V para Protoboard MB102
– Fonte DC 9V 1A Bivolt Chaveada
– Mangueira de 1/2” para a mini bomba d’água
A seguir temos o esquema de ligação:
ATENÇÃO: FAÇA TODAS AS LIGAÇÕES COM SEU ARDUINO DESCONECTADO DA ALIMENTAÇÃO.
(Clique na imagem para ampliar)
Observe no esquema de ligação que o Arduino está conectado a fonte ajustável para protoboard através dos pinos VIN e GND. Note também que o terminal preto (M) dos dois XKC-Y25-PNP não está no esquema de ligação, pois não preciso inverter o nível lógico das saídas e com isso estes terminais ficam desconectados. Além disso, utilizei dois resistores de 10K para fazer o pull-down (um para cada saída), pois nos testes que fiz com o Arduino, a saída do sensor estava oscilando entre HIGH e LOW quando deveria se manter em LOW.
Utilizei água para abastecer o recipiente, contudo, você pode utilizar outros tipos de líquidos e fazer os testes de detecção.
Na galeria de imagens abaixo você pode ver como fiz a montagem desta prática:
OBS: já que se trata de um protótipo, fiz a montagem das peças diretamente no recipiente que vai ser monitorado.
Como temos dois recipientes interligados através de uma mangueira e há variação do nível de liquido entre eles, deixei a mangueira cortada e de forma que não encoste na água quando o recipiente (monitorado) estiver cheio. Desta forma, quando a mini bomba d’água estiver desligada, não corre o risco dela continuar a puxar água para o recipiente (monitorado) ou puxar água de volta para o recipiente (onde a mini bomba d’água está instalada).
Após a montagem do esquema de ligação, basta implementar as instruções para o funcionamento.
Se ainda não tem a IDE do Arduino instalada e configurada, basta acessar o link abaixo e em seguida retorne para continuar:
Arduino – Instalação e Configuração da IDE no Windows
Faça download da biblioteca para utilização do módulo I2C com o display LCD 16X2:
Caso não saiba como importar bibliotecas para a IDE do Arduino, acesse a postagem Arduino – Importando bibliotecas para a IDE e em seguida retorne para continuar.
O código para esta prática está abaixo, basta copiar o mesmo, colar na IDE, salvar e carregar:
OBS: desconecte da fonte ajustável para protoboard o pino VIN do Arduino sempre que for conectar a placa ao computador para carregar o código. Após carregar o código e desconectar a USB, basta reconectar o VIN a fonte.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
#include <Wire.h> //INCLUSÃO DE BIBLIOTECA #include <LiquidCrystal_I2C.h> //INCLUSÃO DE BIBLIOTECA LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7,3, POSITIVE); //ENDEREÇO DO I2C E DEMAIS INFORMAÇÕES const int nivel_sensor_min = 9; //PINO DIGITAL EM QUE O SENSOR DE NÍVEL MÍNIMO ESTÁ CONECTADO const int nivel_sensor_max = 10; //PINO DIGITAL EM QUE O SENSOR DE NÍVEL MÁXIMO ESTÁ CONECTADO const int rele_bomba_dagua = 11; ////PINO DIGITAL EM QUE O MÓDULO RELÉ 5V ESTÁ CONECTADO byte leitura_nivel_min = 0; //VARIÁVEL ÁRA ARMAZENAR A LEITURA DO SENSOR DE NÍVEL MÍNIMO byte leitura_nivel_max = 0; //VARIÁVEL ÁRA ARMAZENAR A LEITURA DO SENSOR DE NÍVEL MÁXIMO byte status_rele_bomba_dagua = 0; //VARIÁVEL PARA CONTROLE DE STATUS DO MÓDULO RELÉ 5V void setup(){ pinMode(nivel_sensor_min, INPUT); //DEFINE O PINO COMO ENTRADA pinMode(nivel_sensor_max, INPUT); //DEFINE O PINO COMO ENTRADA pinMode(rele_bomba_dagua, OUTPUT); //DEFINE O PINO COMO SAÍDA digitalWrite(rele_bomba_dagua, HIGH); //MÓDULO RELÉ INICIA DESLIGADO (COMO ESTAMOS UTILIZANDO //O CONTATO NORMALMENTE ABERTO DO RELÉ, ELE IRÁ DESLIGAR COM SINAL HIGH E LIGAR COM SINAL LOW) lcd.begin (16,2); //SETA A QUANTIDADE DE COLUNAS(16) E O NÚMERO DE LINHAS(2) DO DISPLAY. EM SUMA: UMA MATRIZ DE 16 COLUNAS E 2 LINHAS lcd.setBacklight(HIGH); //LIGA O BACKLIGHT (LUZ DE FUNDO) lcd.setCursor(0,0); //SETA A POSIÇÃO EM QUE O CURSOR INCIALIZA(LINHA 1 E COLUNA 1) lcd.print(">>>RECIPIENTE<<<"); //ESCREVE ">>>RECIPIENTE<<<" NA PRIMEIRA LINHA DO DISPLAY LCD lcd.setCursor(0,1); //SETA A POSIÇÃO EM QUE O CURSOR RECEBE O TEXTO A SER MOSTRADO(LINHA 2 COLUNA 1) lcd.print(" VERIFICANDO "); //ESCREVE "VERIFICANDO... " NA SEGUNDA LINHA DO DISPLAY LCD delay(2000); //INTERVALO DE 2 SEGUNDOS } void loop() { leitura_nivel_min = digitalRead(nivel_sensor_min); //VARIÁVEL RECEBE O VALOR LIDO NO SENSOR DE NÍVEL MÍNIMO leitura_nivel_max = digitalRead(nivel_sensor_max); //VARIÁVEL RECEBE O VALOR LIDO NO SENSOR DE NÍVEL MÁXIMO //SE leitura_nivel_min FOR IGUAL A LOW E status_rele_bomba_dagua FOR IGUAL A 0, FAZ if((leitura_nivel_min == LOW) && (status_rele_bomba_dagua == 0)){ lcd.setCursor(0,1); //SETA A POSIÇÃO EM QUE O CURSOR RECEBE O TEXTO A SER MOSTRADO(LINHA 2 COLUNA 1) lcd.print(" ABAIXO DO MIN. "); //ESCREVE "ABAIXO DO MIN." NA SEGUNDA LINHA DO DISPLAY LCD delay(2000); //INTERVALO DE 2 SEGUNDOS ligar_rele_bomba_dagua(); //EXECUTA A FUNÇÃO "ligar_rele_bomba_dagua()" }else{ //SENÃO, FAZ //SE leitura_nivel_min FOR IGUAL A HIGH E leitura_nivel_max FOR IGUAL A HIGH E status_rele_bomba_dagua FOR IGUAL A 1, FAZ if((leitura_nivel_min == HIGH) && (leitura_nivel_max == HIGH) && (status_rele_bomba_dagua == 1)){ desligar_rele_bomba_dagua(); //EXECUTA A FUNÇÃO "desligar_rele_bomba_dagua()" }else{ //SENÃO, FAZ //SE leitura_nivel_min FOR IGUAL A HIGH E leitura_nivel_max FOR IGUAL A LOW E status_rele_bomba_dagua FOR IGUAL A 0, FAZ if((leitura_nivel_min == HIGH) && (leitura_nivel_max == LOW) && (status_rele_bomba_dagua == 0)){ ligar_rele_bomba_dagua(); //EXECUTA A FUNÇÃO "ligar_rele_bomba_dagua()" }else{ //SENÃO, FAZ //SE leitura_nivel_min FOR IGUAL A HIGH E leitura_nivel_max FOR IGUAL A HIGH E status_rele_bomba_dagua FOR IGUAL A 0, FAZ if((leitura_nivel_min == HIGH) && (leitura_nivel_max == HIGH) && (status_rele_bomba_dagua == 0)){ lcd.setCursor(0,1); //SETA A POSIÇÃO EM QUE O CURSOR RECEBE O TEXTO A SER MOSTRADO(LINHA 2 COLUNA 1) lcd.print(" CHEIO "); //ESCREVE "CHEIO " NA SEGUNDA LINHA DO DISPLAY LCD } } } } delay(500); //INTERVALO DE 500 MILISSEGUNDOS } //FUNÇÃO PARA LIGAR O MÓDULO RELÉ 5V, QUE CONSEQUENTEMENTE LIGA A BOMBA D'ÁGUA void ligar_rele_bomba_dagua(){ lcd.setCursor(0,1); //SETA A POSIÇÃO EM QUE O CURSOR RECEBE O TEXTO A SER MOSTRADO(LINHA 2 COLUNA 1) lcd.print(" BOMBA LIGADA "); //ESCREVE "BOMBA LIGADA" NA SEGUNDA LINHA DO DISPLAY LCD digitalWrite(rele_bomba_dagua, LOW); status_rele_bomba_dagua = 1; delay(1000); //INTERVALO DE 1 SEGUNDO lcd.setCursor(0,1); //SETA A POSIÇÃO EM QUE O CURSOR RECEBE O TEXTO A SER MOSTRADO(LINHA 2 COLUNA 1) lcd.print(" ENCHENDO... "); //ESCREVE "ENCHENDO..." NA SEGUNDA LINHA DO DISPLAY LCD } //FUNÇÃO PARA DESLIGAR O MÓDULO RELÉ 5V, QUE CONSEQUENTEMENTE DESLIGA A BOMBA D'ÁGUA void desligar_rele_bomba_dagua(){ lcd.setCursor(0,1); //SETA A POSIÇÃO EM QUE O CURSOR RECEBE O TEXTO A SER MOSTRADO(LINHA 2 COLUNA 1) lcd.print("BOMBA DESLIGADA "); //ESCREVE "BOMBA DESLIGADA" NA SEGUNDA LINHA DO DISPLAY LCD digitalWrite(rele_bomba_dagua, HIGH); status_rele_bomba_dagua = 0; delay(1000); //INTERVALO DE 1 SEGUNDO lcd.setCursor(0,1); //SETA A POSIÇÃO EM QUE O CURSOR RECEBE O TEXTO A SER MOSTRADO(LINHA 2 COLUNA 1) lcd.print(" CHEIO "); //ESCREVE "CHEIO " NA SEGUNDA LINHA DO DISPLAY LCD } |
Em seguida, conecte a fonte de alimentação no plug jack da fonte ajustável para protoboard e pressione o interruptor para liga-la. Considerando que o recipiente monitorado esteja vazio, inicialmente o display LCD vai apresentar a mensagem “>>>RECIPIENTE<<<” na primeira linha e na segunda linha vai aparecer “VERIFICANDO…”. Após o intervalo de 2 segundos, no display LCD será apresentado a mensagem “ABAIXO DO MIN.”, o relé será ligado e consequentemente a bomba será acionada para começar a levar água até o recipiente. Após acionamento da mini bomba d’água, no display LCD será mostrado rapidamente a mensagem “BOMBA LIGADA”. Enquanto a mini bomba d’água estiver ligada e levando água ao recipiente monitorado, no display LCD será mostrado a mensagem “ENCHENDO…”. Quando o sensor superior detectar a água, o relé será desligado (consequentemente a mini bomba d’água será desligada) e no display LCD será exibido rapidamente a mensagem “BOMBA DESLIGADA” e em seguida a mensagem “CHEIO” ficará estática no display.
O código foi definido para manter o recipiente sempre cheio, portanto, sempre que o nível de água do recipiente abaixar, o sensor superior irá detectar e a mini bomba d’água será acionada para completar o recipiente até o nível máximo.
Assista ao vídeo abaixo e veja o resultado desta prática:
Este foi um projeto bem interessante, pois mostrou como o sensor XKC-Y25-PNP é extremamente útil para detecção de nível em recipientes. Pelo fato de ser um sensor extremamente preciso, você pode utilizá-lo em uma aplicação real, como por exemplo, o monitoramento do nível mínimo e nível máximo de uma caixa d’água que abastece a residência e mostrar em uma página web as informações dos níveis. Este exemplo de monitoramento da caixa d’água é bem simples, contudo, são várias as possibilidades de aplicação do XKC-Y25-PNP.
Invertendo o nível lógico da saída:
Conforme mencionado anteriormente, para inverter o nível lógico da saída do XKC-Y25-PNP basta conectar o terminal preto (M) ao GND:
Desta forma, quando o sensor detectar o líquido a saída terá nível lógico baixo (LOW ou 0) e sem a detecção de líquido a saída terá nível lógico alto (HIGH ou 1). Obviamente é necessário alterar o código para inverter as condições. No link abaixo você pode fazer o download do código modificado para ser utilizado quando o sinal de saída do mesmo for invertido.
Download do código para o XKC-Y25-PNP com saída invertida
Em breve farei outra postagem relacionada ao XKC-Y25-PNP. Fique ligado!
Espero que tenham gostado desta postagem! Até a próxima!
Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!
Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop
Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Conhecendo o Interruptor Módulo Relé com RF 433MHz para Automação
Próxima postagem: Conhecendo o Sonoff Relé WiFi para Automação Residencial
Olá Euler,
Fiz um projeto para regar automaticamente utilizando sensor de umidade de solo.
A montagem dos demais componentes (bomba, relé e LCD) ficou exatamente igual às apresentadas neste post.
Acontece que quando a bomba é acionada, parece que acontece alguma sobrecarga no sistema e trava tudo. O LCD começa a dar problema e o programa para de funcionar corretamente.
Consegue me ajudar com este problema?
Meu telefone: (12) 99193-8832 (Whatsapp)
Olá é possível com esta montagem, em vez de accionar um relé, enviarmos um alarme via wifi?
Obrigado!
Olá Luis.
Agradeço pelo comentário!
Sim, é possível.
Boa noite.. qual é o fio? Pois nas hidromassagens possui um sensor parecido, mas ao invés de 4 fios, somente três. Teria como substituir por um sensor desse?
Olá Driko.
Agradeço pelo comentário!
Leia o datasheet do sensor que está na hidromassagem e veja se os pinos são compatíveis com os pinos do sensor desta postagem. Além disso, veja se as especificações são compatíveis.
Quero utilizá-lo em substituição a um sensor de nível convencional, com bóia e reed switch, em um automóvel. O circuito original faz acender uma luz no painel quando o reed switch está aberto e a mantém apagada quando está fechado. Considerando que a alimentação do sensor seja com a mesma tensão do circuito no qual o reed switch está conectado, posso usar esse sensor diretamente ou preciso de algum circuito que faça manipulação dos sinais, arduino etc?
Olá André Luis.
Agradeço pelo comentário!
Recomendo que busque mais informações sobre o XKC-Y25-PNP e veja se ele vai servir para substituir este circuito do veículo e se vai ser necessário muitas alterações no circuito do veículo para instalação do sensor.
Boa Tarde você poderia me falar qual programa usou para a criação do esquema em desenho de como o projeto iria funcionar?
Olá Bianca.
Segue o link do programa utilizado para desenho de diagramas:
http://fritzing.org/home/
Hola Euler, tengo este dispositivo “XKC Y25 T12V”, pero no logro hacerlos funcionar. Prende el led, detectando que hay liquido y se apaga donde no hay, pero la lectura de arduino siempre es CERO, es decir no cambia aunque este detectando al liquido. Alguna idea o un poco de ayuda?
Estoy trabajando con un arduino UNO. Probé incluso con un convertidor de voltaje para que el pin de datos sea de 5v en un arduino MEGA.
What is the difference between XKC-Y25-PNP andXKC-Y25-NPN?
Hello Elmo.
The difference is that the PNP assumes a high logic level when it detects the liquid and the NPN assumes a low logic level when it detects the liquid.
Alguma sugestão de como consigo saber (medir) quantos mililitros um gato está bebendo da água de um pote cada vez que bebe água?
Olá Euler, tudo bem? A um tempo pesquiso por uma solução para substituir um sistema de boia de nível para adaptar em um reservatório de radiador de carro. Consiste que, tenho uma linha de sinal (5v) – chicote, que ligado na boia com contato Reed Switch, se mantém fechado (ligado) quando tem água no recipiente. Quando a água desce, o contato abre pq a bóia com imã toca o sensor Reed switch e a energia do chicote é interrompida, alertando o painel do carro. Como que eu faria com esse sensor, a nível que quando faltasse água ele cortasse a energia da linha do chicote? Existe a possibilidade dele funcionar assim, sem na necessidade de ter que adaptar uma placa Arduino nele? Grato!
Não daria para usá-lo sem arduino, enviando o sinal de saída para uma válvula solenóide, por exemplo?
Olá Evandro.
Sim, é possível.
Basta conectar a saída do sensor ao pino de sinal da carga que deseja controlar.
Essa plataforma poderia ser um contator? Para converter o sinal do sensor e comandar uma válvula solenoide?
Olá Henrique.
O Sensor pode atuar junto de um módulo relé 24V, por exemplo, enviando o sinal para o relé energizar uma carga (solenoide, por exemplo).
A saída do sensor envia HIGH ou LOW, com base neste sinal o usuário pode definir qual dispositivo será ligado ou desligado.
Hi friend!
Very nice post! And useful!
I bought a liquid level sensor… but XKC-Y25-V which has logic levels at output.
But when I connect black wire (M)ode to GND to invert output I only get 0’96V when output should be Vcc (5V in my case)
Do you know what can happen. I haven’t found any good documentation?
Thanks a lot!
Sorry not writing in Portuguese… I’m Spanish.
Hi David.
Have you checked that for this model XKC-Y25-V the “M” pin actually does an inversion of the output (yellow wire)?
I’ve found some comments in Aliexpress about the sensor I bought.
In that comments talk about pin (M)ode and yes.. it’s for inversion. In fact it does inversion but doesn’t arrive at Vcc when high… only 0’96V. If I connect M to Vcc the output works well.
I think it’s a problem of its internal design… perhaps an internal pullup too high.
I have two sensors V version and both behaves equal.
I hope my info would be useful to somebody if I’m not misunderstood pin M of my sensors.
Euler Oliveira existe formas do sensor detectar o nível baixo e alto e enviar o sinal para o Arduino e o Arduino acionar saídas relé para enviar o sinal a uma sirene ou uma chave magnética de potencia e acionar uma motobomba?
se isso for possível eu poderia usar em minha casa..
Obrigado.
Neste artigo é feito basicamente isto que mencionou. O sensor detecta o nível mínimo ou máximo e faz acionamento de um módulo relé que está conectado ao Arduino.
Obrigado pelo ardigo!!
eu fiz uma busca aonde encontra esse sensor XKC-Y25-PNP e não encontrei, você sabe aonde que vende? obrigado.
Olá Jairo.
No artigo (mais precisamente na lista de itens necessários para execução da prática) há o link do XKC-Y25-PNP em nossa loja virtual:
https://www.masterwalkershop.com.br/sensor-de-nivel-de-liquido-sem-contato-xkc-y25-pnp
Poderia-me enviar por mail ou indicar-me onde poderei encontrar a biblioteca LiquidCrystal_I2C.h ,
Obrigado,
Carlos Esteves
Olá Carlos.
Amanhã vou editar o artigo e adicionar o link da biblioteca que eu esqueci de colocar.
De qualquer forma, segue o link para que possa fazer o download:
https://blogmasterwalkershop.com.br/arquivos/libs/NewliquidCrystal.zip
Obrigado