Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2018
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. //Libraries
  2. #include <Wire.h>
  3. #include <LiquidCrystal_I2C.h>
  4.  
  5. //INICIO VARIAVEIS SENSOR FLUXO
  6. float vazao; //Variável para armazenar o valor em L/min
  7. float media = 0; //Variável para tirar a média a cada 1 minuto
  8. int contaPulso; //Variável para a quantidade de pulsos
  9. int i = 0; //Variável para contagem
  10. //FIM VARIAVEIS SENSOR FLUXO
  11.  
  12. //INICIO VARIAVEIS DISPLAY
  13. LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address, if it's not working try 0x27.
  14. //FIM VARIAVEIS DISPLAY
  15.  
  16. void setup() {
  17. //INICIO DEFINIÇÕES DISPLAY
  18. lcd.begin(16, 2); // iInit the LCD for 16 chars 2 lines
  19. lcd.backlight(); // Turn on the backligt (try lcd.noBaklight() to turn it off)
  20. lcd.setCursor(0, 0); //First line
  21. lcd.print("Ola Mundo!!!!");
  22. //FIM DENIFIÇÕES DISPLAY
  23.  
  24. //INICIO DEFINIÇÕES SENSOR FLUXO
  25. Serial.begin(9600); //Inicia a serial com um baud rate de 9600
  26. pinMode(2, INPUT);
  27. attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção
  28. Serial.println("\n\nInicio\n\n"); //Imprime Inicio na serial
  29. //FIM DEFINIÇÕES SENSOR FLUXO
  30.  
  31. }
  32.  
  33. void loop() {
  34. contaPulso = 0; //Zera a variável para contar os giros por segundos
  35. sei(); //Habilita interrupção
  36. delay (1000); //Aguarda 1 segundo
  37. cli(); //Desabilita interrupção
  38. vazao = contaPulso / 5.5; //Converte para L/min
  39. media = media + vazao; //Soma a vazão para o calculo da media
  40. i++;
  41. if (vazao == 0) {
  42. lcd.clear(); //LIMPA O DISPLAY
  43. lcd.setCursor(0, 0); //PRIMEIRA LINHA
  44. lcd.print("NIVEL DO GALÃO"); //ESCREVE NO DISPLAY
  45. lcd.setCursor(0, 1); //SEGUNDA LINHA
  46. lcd.print("80%"); //ESCREVE NO DISPLAY
  47. } else {
  48. lcd.clear(); //LIMPA O DISPLAY
  49. lcd.setCursor(0, 0); //PRIMEIRA LINHA
  50. lcd.print(vazao); //IMPRIME A VARIAVEL NO DISPLAY
  51. lcd.setCursor(0, 1); //SEGUNDA LINHA
  52. lcd.print("L/min"); //ESCREVE NO DISPLAY
  53. }
  54. }
  55.  
  56. void incpulso ()
  57. {
  58. contaPulso++; //Incrementa a variável de contagem dos pulsos
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement