Medidor de nível de água ultra-sônico sem fio – alimentado por energia solar

Um controlador de nível de água ultrassônico é um dispositivo que pode detectar níveis de água em um tanque sem contato físico e enviar os dados para um indicador LED distante no modo GSM sem fio.

Neste post, construiremos um indicador de nível de água sem fio com energia solar, baseado em ultrassom, usando o Arduino, no qual os Arduinos transmitiriam e receberiam na freqüência sem fio de 2,4 GHz. Detectaremos o nível de água no tanque usando o ultrassom do método tradicional de eletrodo.

Visão geral

O indicador de nível de água é um dispositivo indispensável, se você possui uma casa ou vive em uma casa alugada. Um medidor de nível de água exibe informações importantes para sua casa que são tão importantes quanto a leitura do medidor de energia, ou seja, quanta água resta? Assim, podemos acompanhar o uso da água e não precisamos subir as escadas para acessar o tanque de água para verificar a quantidade de água restante e não mais interrupções repentinas da água da torneira.

Estamos vivendo em 2018 (no momento em que escrevemos este artigo) ou mais tarde, podemos nos comunicar instantaneamente com qualquer parte do mundo, lançar um carro de corrida elétrico no espaço, lançar satélites e rovers em Marte, até pousar seres humanos na lua, Ainda não existe um produto comercial adequado para detectar quanta água resta em nossos tanques de água?

Podemos encontrar indicadores de nível de água feitos por alunos da 5ª série para a feira de ciências da escola. Como esses projetos simples não foram feitos em nossas vidas diárias? A resposta é que os medidores de nível do tanque de água não são projetos simples que um aluno da quinta série pode fazer por nossa casa. Existem muitas considerações práticas antes de projetar uma.

• Ninguém deseja fazer um furo no corpo do tanque de água para eletrodos que possam vazar água posteriormente.
• Ninguém quer passar um cabo de 230/120 VCA perto do tanque de água.
• Ninguém deseja substituir as baterias todos os meses.
• Ninguém quer passar cabos muito longos pendurados em uma sala para indicar o nível da água, pois não é pré-planejado enquanto a casa está sendo construída.
• Ninguém quer usar água que se misture com a corrosão metálica do eletrodo.
• Ninguém deseja remover a configuração do medidor de nível de água enquanto limpa o tanque (dentro).

Alguns dos motivos mencionados acima podem parecer bobos, mas você achará menos satisfatório com produtos comercialmente disponíveis com essas desvantagens. É por isso que a penetração desses produtos é muito menor entre as famílias médias *.
* No mercado indiano.

Depois de considerar esses pontos-chave, projetamos um medidor de nível de água à mão que deve eliminar as desvantagens acima.

Nosso design:

• Utiliza um sensor ultrassônico para medir o nível da água, para que não haja problemas de corrosão.
• Indicação sem fio do nível da água em tempo real a 2,4 GHz.
• Boa intensidade do sinal sem fio, suficiente para edifícios com 2 andares de altura.
• Alimentado por energia solar, sem mais alimentação CA ou bateria sobressalente.
• Alarme de tanque cheio / transbordamento enquanto o tanque está enchendo.

Vamos investigar os detalhes do circuito:

Transmissor:

O circuito do transmissor sem fio colocado no tanque envia dados do nível da água a cada 5 segundos 24/7. O transmissor consiste em Arduino nano, sensor ultrassônico HC-SR04, módulo nRF24L01 que conectará o transmissor e o receptor sem fio a 2,4 GHz.

Um painel solar de 9V a 12V com uma saída de corrente de 300mA alimentará o circuito do transmissor. Uma placa de circuito de gerenciamento de bateria carrega a bateria de íon de lítio, para que possamos monitorar o nível da água mesmo quando não há luz solar.

Vamos explorar como colocar o sensor ultrassônico no tanque de água:

Observe que você deve usar sua criatividade para montar o circuito e protegê-lo da chuva e da luz solar direta.

Faça um pequeno orifício acima da tampa do tanque para colocar o sensor ultrassônico e sele-o com algum tipo de adesivo que você puder encontrar.

colocando o sensor ultrassônico em um tanque de água

Agora meça a altura total do tanque de baixo para cima, escreva-o em metros. Agora meça a altura da capacidade de retenção de água do tanque, como mostra a imagem acima, e entre em metros.
Você deve inserir esses dois valores no código.

Diagrama esquemático do transmissor:

conexões de transmissor ultrassônico para controle de nível de água

NOTA: O nRF24L01 usa 3.3V, pois o Vcc não se conecta à saída do Arduino 5V.

Fonte de alimentação do transmissor:

Design da fonte de alimentação do controlador de nível de água ultrassônico

Certifique-se de que a potência de saída do seu painel solar, ou seja, a saída (volts x corrente) seja superior a 3 watts. O painel solar deve ser de 9V a 12V.

Um painel de 12V e 300mA é recomendado e pode ser facilmente encontrado no mercado. A bateria deve estar em torno de 3.7V 1000 mAh.

Módulo de carregamento de íon de lítio 5V 18650:

A imagem abaixo mostra um circuito padrão de carregador 18650

A entrada pode ser USB (não usada) ou 5V externa do LM7805 IC. Certifique-se de obter o módulo correto, como mostrado acima, ele deve ter proteção TP4056, que possui pouca bateria e proteção contra curto-circuito.

A saída disso deve ser alimentada à entrada do XL6009, que aumentará para uma voltagem mais alta, usando uma pequena chave de fenda da saída XL6009 deve ser configurada em 9V para o Arduino.

Ilustração do conversor de impulso XL6009 DC para DC:

Isso conclui o hardware do transmissor.

Código para o transmissor:

// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //
#include
#include
RF24 radio(9, 10);
const byte address[6] = "00001";
const int trigger = 3;
const int echo = 2;
const char text_0[] = "STOP";
const char text_1[] = "FULL";
const char text_2[] = "3/4";
const char text_3[] = "HALF";
const char text_4[] = "LOW";
float full = 0;
float three_fourth = 0;
float half = 0;
float quarter = 0;
long Time;
float distanceCM = 0;
float distanceM = 0;
float resultCM = 0;
float resultM = 0;
float actual_distance = 0;
float compensation_distance = 0;
// ------- CHANGE THIS -------//
float water_hold_capacity = 1.0; // Enter in Meters.
float full_height = 1.3; // Enter in Meters.
// ---------- -------------- //
void setup()
{
Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
digitalWrite(trigger, LOW);
radio.begin();
radio.openWritingPipe(address);
radio.setChannel(100);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_MAX);
radio.stopListening();
full = water_hold_capacity;
three_fourth = water_hold_capacity * 0.75;
half = water_hold_capacity * 0.50;
quarter = water_hold_capacity * 0.25;
}
void loop()
{
delay(5000);
digitalWrite(trigger, HIGH);
delayMicroseconds(10);
digitalWrite(trigger, LOW);
Time = pulseIn(echo, HIGH);
distanceCM = Time * 0.034;
resultCM = distanceCM / 2;
resultM = resultCM / 100;
Serial.print("Normal Distance: ");
Serial.print(resultM);
Serial.println(" M");
compensation_distance = full_height - water_hold_capacity;
actual_distance = resultM - compensation_distance;
actual_distance = water_hold_capacity - actual_distance;
if (actual_distance < 0) { Serial.print("Water Level:"); Serial.println(" 0.00 M (UP)"); } else { Serial.print("Water Level: "); Serial.print(actual_distance); Serial.println(" M (UP)"); } Serial.println("============================"); if (actual_distance >= full)
{
radio.write(&text_0, sizeof(text_0));
}
if (actual_distance > three_fourth && actual_distance <= full) { radio.write(&text_1, sizeof(text_1)); } if (actual_distance > half && actual_distance <= three_fourth) { radio.write(&text_2, sizeof(text_2)); } if (actual_distance > quarter && actual_distance <= half) { radio.write(&text_3, sizeof(text_3)); } if (actual_distance <= quarter) { radio.write(&text_4, sizeof(text_4)); } } // ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //

Altere os seguintes valores no código que você mediu:

// ------- CHANGE THIS -------//
float water_hold_capacity = 1.0; // Enter in Meters.
float full_height = 1.3; // Enter in Meters.
// ---------- -------------- //

Isso conclui o transmissor.

O receptor:

Esquema de controlador de receptor de nível de água ultrassônico

O receptor pode exibir 5 níveis. Alarme, quando o tanque atingiu a capacidade máxima absoluta de retenção de água ao encher o tanque. 100 a 75%: todos os quatro LEDs acenderão, 75 a 50%, três LEDs acenderão, 50 a 25%, dois LEDs acenderão, 25% e menos um LED acenderá.
O receptor pode ser alimentado por uma bateria de 9V ou um carregador de smartphone ou um cabo USB mini-B.

Código do receptor:

// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //
#include
#include
RF24 radio(9, 10);
int i = 0;
const byte address[6] = "00001";
const int buzzer = 6;
const int LED_full = 5;
const int LED_three_fourth = 4;
const int LED_half = 3;
const int LED_quarter = 2;
char text[32] = "";
void setup()
{
pinMode(buzzer, OUTPUT);
pinMode(LED_full, OUTPUT);
pinMode(LED_three_fourth, OUTPUT);
pinMode(LED_half, OUTPUT);
pinMode(LED_quarter, OUTPUT);
digitalWrite(buzzer, HIGH);
delay(300);
digitalWrite(buzzer, LOW);
digitalWrite(LED_full, HIGH);
delay(300);
digitalWrite(LED_three_fourth, HIGH);
delay(300);
digitalWrite(LED_half, HIGH);
delay(300);
digitalWrite(LED_quarter, HIGH);
delay(300);
digitalWrite(LED_full, LOW);
delay(300);
digitalWrite(LED_three_fourth, LOW);
delay(300);
digitalWrite(LED_half, LOW);
delay(300);
digitalWrite(LED_quarter, LOW);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setChannel(100);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_MAX);
radio.startListening();
}
void loop()
{
if (radio.available())
{
radio.read(&text, sizeof(text));
Serial.println(text);
if (text[0] == 'S' && text[1] == 'T' && text[2] == 'O' && text[3] == 'P')
{
digitalWrite(LED_full, HIGH);
digitalWrite(LED_three_fourth, HIGH);
digitalWrite(LED_half, HIGH);
digitalWrite(LED_quarter, HIGH);
for (i = 0; i < 50; i++) { digitalWrite(buzzer, HIGH); delay(50); digitalWrite(buzzer, LOW); delay(50); } } if (text[0] == 'F' && text[1] == 'U' && text[2] == 'L' && text[3] == 'L') { digitalWrite(LED_full, HIGH); digitalWrite(LED_three_fourth, HIGH); digitalWrite(LED_half, HIGH); digitalWrite(LED_quarter, HIGH); } if (text[0] == '3' && text[1] == '/' && text[2] == '4') { digitalWrite(LED_full, LOW); digitalWrite(LED_three_fourth, HIGH); digitalWrite(LED_half, HIGH); digitalWrite(LED_quarter, HIGH); } if (text[0] == 'H' && text [1] == 'A' && text[2] == 'L' && text[3] == 'F') { digitalWrite(LED_full, LOW); digitalWrite(LED_three_fourth, LOW); digitalWrite(LED_half, HIGH); digitalWrite(LED_quarter, HIGH); } if (text[0] == 'L' && text[1] == 'O' && text[2] == 'W') { digitalWrite(LED_full, LOW); digitalWrite(LED_three_fourth, LOW); digitalWrite(LED_half, LOW); digitalWrite(LED_quarter, HIGH); } } } // ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //

Isso conclui o receptor.

NOTA: Se não houver LEDs acesos, isso significa que o receptor não pode receber o sinal do transmissor. Você deve esperar 5 segundos para receber o sinal do transmissor após ligar o circuito do receptor.

Protótipos do autor:

Transmissor:

transmissor ultrassônico protótipo

Receptor:

protótipo de receptor ultrassônico

Se você tiver alguma dúvida sobre este circuito controlador de nível de água sem fio ultrassônico movido a energia solar, sinta-se à vontade para expressá-lo no comentário, você pode esperar uma resposta rápida.



FONTE

Nota: Este foi traduzido do Inglês para português (auto)

Pode conter erros de tradução

Olá, se tiver algum erro de tradução (AUTO), falta de link para download etc...

Veja na FONTE até ser revisado o post.

Status (Não Revisado)

Se tiver algum erro coloque nos comentários

Mas se gostou compartilhe!!!


Veja mais

Axtudo
Axtudohttps://www.axtudo.com/
“Solidários, seremos união. Separados uns dos outros seremos pontos de vista. Juntos, alcançaremos a realização de nossos propósitos.” (Bezerra de Menezes)

Comentários

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

Compartilhe

Últimos Posts

00:15:32

As 5 coisas que te impedem de ter uma...

#coisas #impedem #ter #uma #vida #extraordinária #Tiago #Fonseca #Caio #Carneiro #EP1 Neste vídeo Tiago...
00:02:22

VOU ENSINAR A PROFISSÃO DO FUTURO PRA ELE –...

#VOU #ENSINAR #PROFISSÃO #FUTURO #PRA #ELE #Tiago #Fonseca FAÇA PARTE DA COMUNIDADE SECRETA- link➤https:dominacaodigital.com.br/video1/ Neste vídeo Tiago Fonseca...
00:10:39

STROGONOFF DE SALSICHA SIMPLES, FÁCIL, RÁPIDO E DELICIOSO

Nesse vídeo te ensino a fazer um Strogonoff de Salsicha super diferente mas que é muito simples, fácil, rápido de fazer e muito Delicioso....
00:02:18

COMPREI UM PRESENTE PARA ELE! com Tiago Fonseca.

#COMPREI #PRESENTE #PARA #ELE #Tiago #Fonseca FAÇA PARTE DA COMUNIDADE SECRETA- link➤https:dominacaodigital.com.br/video1/ Neste vídeo o nosso convidado eucomprei um presente para um entregador, veja o porque...

Moto G9 Plus ENFIM com Câmeras Boas e um...

#Moto #ENFIM #Câmeras #Boas #Design #Lindo #REVIEW #CanalJMS CLICA AQUI PRA SE INSCREVER 💚→ link➤http:goo.gl/vSPsIH Assista...

COMO CONSEGUIR MILHARES DE ACESSOS NOS PRIMEIROS MINUTOS

#COMO #CONSEGUIR #MILHARES #ACESSOS #NOS #PRIMEIROS #MINUTOS Leadlovers: link➤http:amoleads.com/leadlovers-peterj Copymaker: link➤https:amoleads.com/copymaker-peterj Os primeiros minutos de um post, seja ele...