- Descrição: O Sensor Ultrasonico HC-SR04 é aplicado com mais frequência em…
Como usar com Arduino – Módulo Sensor Detector de Nível / Profundidade de Água
– Descrição:
O Módulo Sensor Detector de Nível / Profundidade de Água é comumente utilizado para detectar o nível ou profundidade de um recipiente com água.
Após a instalação do Módulo Sensor Detector de Nível / Profundidade de Água, caso não seja detectado água na superfície da placa a saída analógica do sensor se mantém zerada e quando o sensor detectar a presença de água sobre a superfície, a saída analógica irá variar sua leitura sempre acima de zero. Quanto mais a área útil do sensor for coberta por água, maior será o valor gerado na saída analógica e este valor pode ser interpretado por uma plataforma microcontrolada.
– Especificações e características:
– Tensão de operação: 3 a 5VDC
– Corrente de operação: >20mA
– Saída do sensor: analógica
– Material de construção (parte frontal do sensor): FR4
– Acabamento (parte de trás do sensor): HASL
– Temperatura de operação: 10° a 30° celsius
– Umidade de operação: 10% a 90% sem condensação
– LED indicador para presença de tensão
– Área de detecção (útil): 40mm x 16mm
– Aplicações:
Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário medir nível (profundidade) de água em um recipiente e pode ser utilizado também como detector de chuva.
– Proposta da prática:
Utilizar o Módulo Sensor Detector de Nível / Profundidade de Água em conjunto com o Arduino para acender um LED quando a área útil do sensor estiver toda mergulhada no recipiente com água.
– Lista dos itens necessários:
01 – Arduino com Cabo USB
01 – Módulo Sensor Detector de Nível / Profundidade de Água
01 – LED Difuso 5mm Vermelho
01 – Resistor de 150Ω
01 – Protoboard
02 – Cabos Jumper macho-macho
03 – Cabos Jumper macho-fêmea
01 – Recipiente com água
– Esquema de ligação da prática:
– Tutorial de instalação e configuração do ambiente de programação do Arduino:
Arduino – Instalação e Configuração da IDE no Windows
– Código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
const int pinoSensor = A0; //PINO ANALÓGICO UTILIZADO PELO SENSOR const int pinoLED = 12; //PINO DIGITAL UTILIZADO PELO LED void setup(){ //Serial.begin(9600); //INICIALIZAÇÃO DA SERIAL pinMode(pinoSensor, INPUT); //DEFINE O PINO COMO ENTRADA pinMode(pinoLED, OUTPUT); //DEFINE O PINO COMO SAÍDA } void loop(){ if(analogRead(pinoSensor) > 690){ //SE A LEITURA DO PINO FOR MAIOR QUE 690 BITS (PODE SER AJUSTADO), FAZ digitalWrite(pinoLED, HIGH); //ACENDE O LED }else{ //SENÃO, FAZ digitalWrite(pinoLED, LOW); //APAGA O LED } } |
– Resultado final:
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: Como usar com Arduino – Módulo YX6300 Leitor de Cartão com Saída de Áudio P2
Próxima postagem: Como usar com Arduino – Módulo Teclado Matricial 4X4 com 16 Botões
Bom dia pessoal.
Sou novo aqui no blog e estou gostando bastante do conteúdo.
Queria tirar uma dúvida: achei o exemplo excelente e prático, mas gostaria de fazer a aplicação numa caixa d’água; que dispositivos serão necessários para ter uma estrutura profissional, que suporte as intempéries e que facilite a manutenção.
Obrigado!
Qual é a precisão que podemos ter do reservatório?
Olá. Esse sensor pode ficar exposto ao tempo? (Lado de fora de uma janela ara detecção de chuva, por exemplo.
Fiz um teste, e se proteger a parte de conexão dos pinos ele funcionará, mas indico que use em uma calha ou algo do tipo, assim, você vai ter a precisão de qualquer dado que passar por ela.
Muito bom meu amigo.
Estou aprendendo Arduíno e este exemplo me ajudou muito.
Pergunta:
Coloquei para emitir a resposta dos bits do sensor no monitor serial, porém o mesmo só mostra 54. coloquei a condição para ligar o led acima de 54 (Funciona corretamente), porém se é maior ele tem que mostrar o valor que foi maior, porém o Arduíno só exibe 54…
Sabe me dizer o motivo?
Segue código:
if (analogRead(Sensor_Agua) > 54){
digitalWrite(ledPin, HIGH);
Serial.print(“SENSOR ÁGUA: “);
Serial.println(Sensor_Agua);
}
Boa tarde amigo, tenta usar esse código base para leitura do dado.
O código aqui do site, funciona como uma “chave”. Também não consegui encontrar precisão de leitura com esse sensor, hora varia de 0 a 1023 e hora 0 a 600… nunca tem um padrão.
Então mesmo tendo a leitura final, usei como chave para dizer se tem ou não água.
CÓDIGO:
int analogPin = A3; // Define o pino do sensor
int val = 0; // Cria uma variável para armazenar o valor
void setup() {
Serial.begin(9600); // Inicia o Serial
}
void loop() {
val = analogRead(analogPin); // define a variável como o sensor
Serial.println(val); //Imprime o valor armazenado
}