Advertisement
MarceloFerreira

Prog um

Oct 22nd, 2015
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.51 KB | None | 0 0
  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3.  
  4. // Conectar o pino central dos sensores ao pino 10 do Arduino
  5. #define ONE_WIRE_BUS 10
  6.  
  7. // Setup a oneWire instance to communicate with any OneWire devices
  8. OneWire oneWire(ONE_WIRE_BUS);
  9.  
  10. // Pass our oneWire reference to Dallas Temperature.
  11. DallasTemperature sensors(&oneWire);
  12. DeviceAddress insideThermometer = { 0x28, 0x60, 0x8B, 0xCD, 0x05, 0x00, 0x00, 0xF7 };
  13. DeviceAddress outsideThermometer = { 0x28, 0xFF, 0x18, 0xA3, 0x68, 0x14, 0x04, 0x1D };
  14. DeviceAddress dogHouseThermometer = { 0x28, 0xFF, 0xFA, 0x3A, 0x63, 0x14, 0x03, 0x74 };
  15. DeviceAddress catHouseThermometer = { 0x28, 0xFF, 0x02, 0x2E, 0x62, 0x14, 0x03, 0x71 };
  16. DeviceAddress onHouseThermometer = { 0x28, 0xFF, 0xED, 0x88, 0x63, 0x14, 0x03, 0xCF };
  17. DeviceAddress outHouseThermometer = { 0x28, 0xFF, 0xAD, 0x29, 0x63, 0x14, 0x03, 0x00 };
  18.  
  19.  
  20. float vazao; //Variável para armazenar o valor em L/min
  21. int contaPulso; //Variável para a quantidade de pulsos
  22. int i=0; //Variável para contagem
  23.  
  24.  
  25. void setup(void)
  26. {
  27. // start serial port
  28. // ---> sera utilizada para enviar as duas medicoes
  29. Serial.begin(9600);
  30.  
  31.  
  32. // Start up the library
  33. sensors.begin();
  34. // set the resolution to 10 bit (good enough?)
  35. sensors.setResolution(insideThermometer, 10);
  36. sensors.setResolution(outsideThermometer, 10);
  37. sensors.setResolution(dogHouseThermometer, 10);
  38. sensors.setResolution(catHouseThermometer, 10);
  39. sensors.setResolution(onHouseThermometer, 10);
  40.  
  41.  
  42. pinMode(2, INPUT);
  43. attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção
  44. Serial.println("\n\nInicio\n\n"); //Imprime Inicio na serial
  45.  
  46. }
  47.  
  48. void printTemperature(DeviceAddress deviceAddress)
  49. {
  50. float tempC = sensors.getTempC(deviceAddress);
  51. if (tempC == -127.00)
  52. {
  53. Serial.print("Erro ao ler temperatura !");
  54. }
  55. else
  56. {
  57. Serial.print("C: ");
  58. Serial.print(tempC);
  59. Serial.print(" F: ");
  60. Serial.print(DallasTemperature::toFahrenheit(tempC));
  61. }
  62. }
  63.  
  64. void incpulso ()
  65. {
  66. contaPulso++; //Incrementa a variável de contagem dos pulsos
  67. }
  68.  
  69. void loop(void)
  70. {
  71.  
  72. contaPulso = 0; //Zera a variável para contar os giros por segundos
  73. sei(); //Habilita interrupção
  74. delay (1000); //Aguarda 1 segundo
  75. cli(); //Desabilita interrupção
  76.  
  77. vazao = contaPulso / 5.5; //Converte para L/min
  78. i++;
  79.  
  80. Serial.print(vazao); //Imprime na serial o valor da vazão
  81. Serial.print(" L/min - "); //Imprime L/min
  82. Serial.print(i); //Imprime a contagem i (segundos)
  83. Serial.println("s"); //Imprime s indicando que está em segundos
  84.  
  85. // delay(10000); ---> retirar para que não interfira na rotina que conta pulsos
  86. // irá imprimir a temperatura cada vez que for impressa a vazao acima
  87. sensors.requestTemperatures();
  88. Serial.print("Lendo temperaturas...\n\r");
  89. Serial.print("Temperatura Sensor 1: ");
  90. printTemperature(insideThermometer);
  91. Serial.print("\n\r");
  92. Serial.print("Temperatura Sensor 4: ");
  93. printTemperature(outsideThermometer);
  94. Serial.print("\n\r");
  95. Serial.print("Temperatura Sensor 5: ");
  96. printTemperature(dogHouseThermometer);
  97. Serial.print("\n\r");
  98. Serial.print("Temperatura Sensor 6: ");
  99. printTemperature(catHouseThermometer);
  100. Serial.print("\n\r");
  101. Serial.print("Temperatura Sensor 7: ");
  102. printTemperature(onHouseThermometer);
  103. Serial.print("\n\r");
  104. Serial.print("Temperatura Sensor 8: ");
  105. printTemperature(outHouseThermometer);
  106. Serial.print("\n\r\n\r\n\r\n\r\n\r");
  107.  
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement