Advertisement
Guest User

tcc pronto só testar

a guest
Oct 26th, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. #include <LiquidCrystal.h>
  2. #define RED 8
  3. #define GREEN 9
  4. #define BLUE 10
  5. LiquidCrystal lcd(12, 11, 7, 6, 5, 4); // Pinos LCD 12-RS 11-EN 7-D4 6-D5 5-D6 4-D7
  6. float volume; //Variável para armazenar o valor em ml
  7. int contaPulso; //Variável para a quantidade de pulsos
  8. int contapulso2; //variável para trocar a cor do LED
  9. int i = 0; //Variável para contagem
  10. float mediatotal = 0; //Média Acumulada
  11. float media = 0; //Média
  12. float R = 255 //variável para mudar a cor RED
  13. float G = 255 //variável para mudar a cor GREEN
  14. float B = 255 //variável para mudar a cor BLUE
  15. //------------------------------------
  16. void setup()
  17. {
  18. Serial.begin(9600); //Inicia a serial com um baud rate de 9600
  19. lcd.begin(16, 2);
  20. pinMode(2, INPUT);
  21. pinMode(3, INPUT);
  22. pinMode(RED, OUTPUT);
  23. pinMode(GREEN, OUTPUT);
  24. pinMode(BLUE, OUTPUT);
  25. attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção
  26. attachInterrupt(1, incpulso, RISING); //Configura o pino 3(Interrupção 1) para trabalhar como interrupção
  27. Serial.println("\n\nInicio\n\n"); //Imprime Inicio na serial
  28. lcd.setCursor(3, 0);
  29. lcd.print("iniciando...");
  30. analogWrite (RED, 255);
  31. delay (500);
  32. analogWrite (RED, 0);
  33. delay (500);
  34. analogWrite (GREEN, 255);
  35. delay (500);
  36. analogWrite (GREEN, 0);
  37. delay (500);
  38. analogWrite (BLUE, 255);
  39. delay (500);
  40. analogWrite (BLUE, 0);
  41. }
  42. //------------------------------------
  43. void loop ()
  44. {
  45. contaPulso = 0; //Zera a variável para contar os giros por segundos
  46. sei(); //Habilita interrupção
  47. delay (1000); //Aguarda 1 segundo
  48. cli(); //Desabilita interrupção
  49.  
  50. volume = contaPulso * 2.25; //Converte para ml
  51. media = media + volume; //Soma a volume para o calculo da media
  52. mediatotal = media + volume;
  53. i++;
  54.  
  55. Serial.print(volume); //Imprime na serial o valor da vazão
  56. Serial.print(" ml "); //Imprime ml
  57. Serial.print(i); //Imprime a contagem i (segundos)
  58. Serial.println("s"); //Imprime s indicando que está em segundos
  59.  
  60. lcd.setCursor(0, 1);
  61. lcd.print(volume); //Imprime na serial o valor da vazão
  62. lcd.print(" ml "); //Imprime ml
  63. lcd.print(i); //Imprime a contagem i (segundos)
  64. lcd.print("s"); //Imprime s indicando que está em segundos
  65. if (i == 10)
  66. {
  67. Serial.print("\nPulsos = ");
  68. Serial.print(contaPulso);
  69. Serial.print("\nVolume Total = "); // Imprime a frase Volume Total =
  70. Serial.print(mediatotal); //Imprime o valor da media acumulada
  71. Serial.println(" ml - "); //Imprime ml
  72.  
  73. lcd.setCursor(8, 1);
  74. lcd.print("\nPulsos = ");
  75. lcd.print(contaPulso);
  76. lcd.print("\nVolume Total = "); // Imprime a frase Volume Total =
  77. lcd.print(mediatotal); //Imprime o valor da media acumulada
  78. lcd.print(" ml - "); //Imprime ml
  79.  
  80. i = 0;
  81. mediatotal = mediatotal;
  82. }
  83. if (mediatotal<=30000)
  84. {
  85. analogWrite (GREEN, 255);
  86. analogWrite (BLUE, 255);
  87. analogWrite (RED, 255);
  88. }
  89. }
  90. if (mediatotal>30000&&<=60000)
  91. {
  92. for (contapulso2=0; contapulso2=117; G=G-1)
  93. {
  94. contapulso2 == 0;
  95. analogWrite (GREEN, G);
  96. }
  97. }
  98. if (mediatotal>60000&&<=90000)
  99. {
  100. for (contapulso2=0; contapulso2=117; B=B-1)
  101. {
  102. contapulso2 == 0;
  103. analogWrite (BLUE, B);
  104.  
  105. }
  106. }
  107. if (mediatotal>90000)
  108. {
  109. analogWrite (RED, 255);
  110. delay (2000);
  111. analogWrite (RED, 0);
  112. analogWrite (RED, 255);
  113. delay (2000);
  114. analogWrite (RED, 0);
  115. analogWrite (RED, 255);
  116. delay (2000);
  117. analogWrite (RED, 0);
  118. analogWrite (RED, 255);
  119. }
  120. }
  121. //-----------------------------
  122. void incpulso ()
  123. {
  124. contaPulso++; //Incrementa a variável de contagem dos pulsos
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement