Advertisement
RuiViana

Calculo_Volume

Nov 10th, 2015
522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. float volume; //Variável para armazenar o valor em ml
  2. float volume_out; //Variável para armazenar o valor em ml
  3. int contaPulso_in; //Variável para a quantidade de pulsos de entrada
  4. int contaPulso_out; //Variável para a quantidade de pulsos de saída
  5. int i=0; //Variável para contagem
  6. float mediatotal= 0; //Média Acumulada
  7. float media= 0; //Média
  8. //-----------------------------------------------------
  9. void setup()
  10. {
  11. Serial.begin(9600); //Inicia a serial com um baud rate de 9600
  12. pinMode(2, INPUT);
  13. attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção
  14. attachInterrupt(1, decpulso, RISING); //Configura o pino 3(Interrupção 1) para trabalhar como interrupção
  15. Serial.println("\n\nInicio\n\n"); //Imprime Inicio na serial
  16. }
  17. //-----------------------------------------------------
  18. void loop ()
  19. {
  20. contaPulso_in = 0; //Zera a variável para contar os giros por segundos
  21. sei(); //Habilita interrupção
  22. delay (1000); //Aguarda 1 segundo
  23. cli(); //Desabilita interrupção
  24. volume = contaPulso_in * 2.25; //Converte para ml
  25. media=media+volume; //Soma a volume para o calculo da media
  26. mediatotal=media+volume;
  27. i++;
  28. // Volume out
  29. volume_out = contaPulso_out * 2.25; //Converte para ml
  30. // Aqui voce coloca o resto dos calculos
  31.  
  32.  
  33.  
  34. Serial.print(volume); //Imprime na serial o valor da vazão
  35. Serial.print(" ml "); //Imprime ml
  36. Serial.print(i); //Imprime a contagem i (segundos)
  37. Serial.println("s"); //Imprime s indicando que está em segundos
  38. if(i==10)
  39. {
  40. Serial.print("\nPulsos = ");
  41. Serial.print(contaPulso_in);
  42. Serial.print("\nVolume Total = "); // Imprime a frase Volume Total =
  43. Serial.print(mediatotal); //Imprime o valor da media acumulada
  44. Serial.println(" ml - "); //Imprime ml
  45. i=0;
  46. mediatotal = mediatotal;
  47. }
  48. }
  49. //-------------------------------------------------------------
  50. void incpulso ()
  51. {
  52. contaPulso_in++; //Incrementa a variável de contagem dos pulsos
  53. }
  54. //----------------------------------------------------------------
  55. void decpulso ()
  56. {
  57. contaPulso_out++; //Incrementa a variável de contagem dos pulsos
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement