Ir ao conteúdo

Bruno Heringer

Membro Pleno
  • Posts

    20
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de Bruno Heringer em Medição de volume de água utilizando sensor de vazão P/ Arduino (Dúvida) foi marcado como solução   
    Código finalizado e funcionando perfeitamente para um futuro necessitado como eu fui.
    //Código para utilização de 2 sensores de fluxo de efeito Hall para medição de volume em reservatório float volume_in; //Variável para armazenar o valor em ml instantâneo float volume_out; //Variável para armazenar o valor em ml instantâneo int contapulso_in; //Variável para a quantidade de pulsos de entrada int contapulso_out; //Variável para a quantidade de pulsos de saída int contapulsototal_in; //Variável que registra o total de pulsos de entrada int contapulsototal_out; //Variável que registra o total de pulsos de saída int i=0; //Variável para contagem float volumetotal_in= 0; //Variável para armazenar o valor em ml total de entrada float volumetotal_out= 0; //Variável para armazenar o valor em ml total de entrada float resultante; //Variável para armazenar o volume em ml armazenado no reservatório//----------------------------------------------------- void setup() { Serial.begin(9600); //Inicia a serial com um baud rate de 9600 pinMode(2, INPUT); attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção attachInterrupt(1, decpulso, RISING); //Configura o pino 3(Interrupção 1) para trabalhar como interrupção Serial.println("\n\nInicio\n\n"); //Imprime Inicio na serial }//----------------------------------------------------- void loop () { contapulso_in = 0; //Zera a variável para contar os giros por segundo contapulso_out = 0; //Zera a variável para contar os giros por segundo sei(); //Habilita interrupção delay (1000); //Aguarda 1 segundo cli(); //Desabilita interrupção // Volume in volume_in = contapulso_in * 2.25; //Converte para ml contapulsototal_in = contapulsototal_in+contapulso_in; volumetotal_in=volumetotal_in+volume_in; //Soma a volume para o calculo da media // Volume out volume_out = contapulso_out * 2.25; //Converte para ml contapulsototal_out = contapulsototal_out+contapulso_out; volumetotal_out=volumetotal_out+volume_out; //Soma a volume para o calculo da media i++; resultante = volumetotal_in-volumetotal_out; Serial.print("\nVolume de Entrada = "); //Imprime Volume de Entrada = Serial.print(volume_in); //Imprime na serial o valor da vazão Serial.print(" ml "); //Imprime ml Serial.print(i); //Imprime a contagem i (segundos) Serial.println("s"); //Imprime s indicando que está em segundos Serial.print("Volume de Saida = "); //Imprime Volume de Saida = Serial.print(volume_out); //Imprime na serial o valor da vazão Serial.print(" ml "); //Imprime ml Serial.print(i); //Imprime a contagem i (segundos) Serial.println("s"); //Imprime s indicando que está em segundos if(i==10) { Serial.print("\n\n\nPulsos de Entrada = "); // Imprime a frase Pulsos de Entrada = Serial.print(contapulsototal_in); //Imprime a quantidade de pulsos Serial.print("\nVolume Total de Entrada = "); // Imprime a frase Volume Total de entrada = Serial.print(volumetotal_in); //Imprime o valor do volume total Serial.println(" ml "); //Imprime ml Serial.print("\nPulsos de Saida = "); // Imprime a frase Pulsos de Saida = Serial.print(contapulsototal_out); //Imprime a quantidade de pulsos Serial.print("\nVolume Total de Saida = "); // Imprime a frase Volume Total de saida = Serial.print(volumetotal_out); //Imprime o valor do volume total Serial.println(" ml "); //Imprime ml Serial.print("\n\nVolume no Tanque = "); // Imprime a frase Volume no Tanque = Serial.print(resultante); //Imprime o volume contido no tanque Serial.println(" ml \n\n"); //Imprime ml i=0; volumetotal_in = volumetotal_in; volumetotal_out = volumetotal_out; } } //------------------------------------------------------------- void incpulso () { contapulso_in++; //Incrementa a variável de contagem dos pulsos }//---------------------------------------------------------------- void decpulso () { contapulso_out++; //Incrementa a variável de contagem dos pulsos } Agradeço a todos que me ajudaram e ou tentaram, rs

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!