Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(12, 11, 7, 6, 5, 4); // Pinos LCD 12-RS 11-EN 7-D4 6-D5 5-D6 4-D7
- float volume; //Variável para armazenar o valor em ml
- int contaPulso; //Variável para a quantidade de pulsos
- int i = 0; //Variável para contagem
- float mediatotal = 0; //Média Acumulada
- float media = 0; //Média
- //------------------------------------
- void setup()
- {
- Serial.begin(9600); //Inicia a serial com um baud rate de 9600
- lcd.begin(16, 2);
- pinMode(2, INPUT);
- attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção
- Serial.println("\n\nInicio\n\n"); //Imprime Inicio na serial
- lcd.setCursor(3, 0);
- lcd.print("iniciando...");
- delay(500);
- }
- //------------------------------------
- void loop ()
- {
- contaPulso = 0; //Zera a variável para contar os giros por segundos
- sei(); //Habilita interrupção
- delay (1000); //Aguarda 1 segundo
- cli(); //Desabilita interrupção
- volume = contaPulso * 2.25; //Converte para ml
- media = media + volume; //Soma a volume para o calculo da media
- mediatotal = media + volume;
- i++;
- Serial.print(volume); //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
- lcd.setCursor(0, 1);
- lcd.print(volume); //Imprime na serial o valor da vazão
- lcd.print(" ml "); //Imprime ml
- lcd.print(i); //Imprime a contagem i (segundos)
- lcd.print("s"); //Imprime s indicando que está em segundos
- if (i == 10)
- {
- Serial.print("\nPulsos = ");
- Serial.print(contaPulso);
- Serial.print("\nVolume Total = "); // Imprime a frase Volume Total =
- Serial.print(mediatotal); //Imprime o valor da media acumulada
- Serial.println(" ml - "); //Imprime ml
- lcd.setCursor(8, 1);
- lcd.print("\nPulsos = ");
- lcd.print(contaPulso);
- lcd.print("\nVolume Total = "); // Imprime a frase Volume Total =
- lcd.print(mediatotal); //Imprime o valor da media acumulada
- lcd.print(" ml - "); //Imprime ml
- i = 0;
- mediatotal = mediatotal;
- }
- }
- //-----------------------------
- void incpulso ()
- {
- contaPulso++; //Incrementa a variável de contagem dos pulsos
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement