Advertisement
Guest User

Untitled

a guest
Nov 11th, 2015
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. float volume_in; //Variável para armazenar o valor em ml instantâneo
  2. float volume_out; //Variável para armazenar o valor em ml instantâneo
  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 contapulsototal_in; //Variável que registra o total de pulsos de entrada
  6. int contapulsototal_out; //Variável que registra o total de pulsos de saída
  7. int i=0; //Variável para contagem
  8. float volumetotal_in= 0; //Variável para armazenar o valor em ml total de entrada
  9. float volumetotal_out= 0; //Variável para armazenar o valor em ml total de entrada
  10.  
  11. //-----------------------------------------------------
  12. void setup()
  13. {
  14. Serial.begin(9600); //Inicia a serial com um baud rate de 9600
  15. pinMode(2, INPUT);
  16. attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção
  17. attachInterrupt(1, decpulso, RISING); //Configura o pino 3(Interrupção 1) para trabalhar como interrupção
  18. Serial.println("\n\nInicio\n\n"); //Imprime Inicio na serial
  19. }
  20. //-----------------------------------------------------
  21. void loop ()
  22. {
  23. contapulso_in = 0; //Zera a variável para contar os giros por segundos
  24. contapulso_out = 0;
  25. sei(); //Habilita interrupção
  26. delay (1000); //Aguarda 1 segundo
  27. cli(); //Desabilita interrupção
  28.  
  29. // Volume in
  30.  
  31. volume_in = contapulso_in * 2.25; //Converte para ml
  32. contapulsototal_in = contapulsototal_in+contapulso_in;
  33. volumetotal_in=volumetotal_in+volume_in; //Soma a volume para o calculo da media
  34.  
  35. // Volume out
  36.  
  37. volume_out = contapulso_out * 2.25; //Converte para ml
  38. contapulsototal_out = contapulsototal_out+contapulso_out;
  39. volumetotal_out=volumetotal_out+volume_out; //Soma a volume para o calculo da media
  40. i++;
  41.  
  42. Serial.print("\nVolume de Entrada = "); //Imprime Volume de Entrada =
  43. Serial.print(volume_in); //Imprime na serial o valor da vazão
  44. Serial.print(" ml "); //Imprime ml
  45. Serial.print(i); //Imprime a contagem i (segundos)
  46. Serial.println("s"); //Imprime s indicando que está em segundos
  47. Serial.print("Volume de Saida = "); //Imprime Volume de Saida =
  48. Serial.print(volume_out); //Imprime na serial o valor da vazão
  49. Serial.print(" ml "); //Imprime ml
  50. Serial.print(i); //Imprime a contagem i (segundos)
  51. Serial.println("s"); //Imprime s indicando que está em segundos
  52. if(i==10)
  53. {
  54. Serial.print("\nPulsos de Entrada = "); // Imprime a frase Pulsos de Entrada =
  55. Serial.print(contapulsototal_in); //Imprime a quantidade de pulsos
  56. Serial.print("\nVolume Total de Entrada = "); // Imprime a frase Volume Total de entrada =
  57. Serial.print(volumetotal_in); //Imprime o valor do volume total
  58. Serial.println(" ml - "); //Imprime ml
  59. Serial.print("\nPulsos de Saida = "); // Imprime a frase Pulsos de Saida =
  60. Serial.print(contapulsototal_out); //Imprime a quantidade de pulsos
  61. Serial.print("\nVolume Total de Saida = "); // Imprime a frase Volume Total de saida =
  62. Serial.print(volumetotal_out); //Imprime o valor do volume total
  63. Serial.println(" ml - "); //Imprime ml
  64. i=0;
  65. volumetotal_in = volumetotal_in;
  66. volumetotal_out = volumetotal_out;
  67. }
  68. }
  69. //-------------------------------------------------------------
  70. void incpulso ()
  71. {
  72. contapulso_in++; //Incrementa a variável de contagem dos pulsos
  73. }
  74. //----------------------------------------------------------------
  75. void decpulso ()
  76. {
  77. contapulso_out++; //Incrementa a variável de contagem dos pulsos
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement