Advertisement
Marceloferreeira

2 Sensores no Arduino

Apr 28th, 2015
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. Gostaria que o Arduino lesse essa programação e abrisse em uma porta serial.
  2.  
  3.  
  4. #include <OneWire.h>
  5.  
  6. #include <DallasTemperature.h>
  7.  
  8. // Conectar o pino central dos sensores ao pino 10 do Arduino
  9. #define ONE_WIRE_BUS 10
  10.  
  11. // Setup a oneWire instance to communicate with any OneWire devices
  12. OneWire oneWire(ONE_WIRE_BUS);
  13.  
  14. // Pass our oneWire reference to Dallas Temperature.
  15. DallasTemperature sensors(&oneWire);
  16. DeviceAddress insideThermometer = { 0x28, 0x60, 0x8B, 0xCD, 0x05, 0x00, 0x00, 0xF7 };
  17.  
  18. void setup(void)
  19. {
  20. // start serial port
  21. Serial.begin(9600);
  22. // Start up the library
  23. sensors.begin();
  24. // set the resolution to 10 bit (good enough?)
  25. sensors.setResolution(insideThermometer, 10);
  26.  
  27. }
  28.  
  29. void printTemperature(DeviceAddress deviceAddress)
  30. {
  31. float tempC = sensors.getTempC(deviceAddress);
  32. if (tempC == -127.00)
  33. {
  34. Serial.print("Erro ao ler temperatura !");
  35. }
  36. else
  37. {
  38. Serial.print("C: ");
  39. Serial.print(tempC);
  40. Serial.print(" F: ");
  41. Serial.print(DallasTemperature::toFahrenheit(tempC));
  42. }
  43. }
  44.  
  45. void loop(void)
  46. {
  47. delay(10000);
  48. sensors.requestTemperatures();
  49. Serial.print("Temperatura Sensor 1: ");
  50. printTemperature(insideThermometer);
  51. Serial.print("\n\r");
  52.  
  53. }
  54.  
  55.  
  56.  
  57.  
  58.  
  59. Após estar fornecendo os dados, queria que o Arduino lesse o programa abaixo e me desse os valores em outra porta serial.
  60.  
  61. float vazao; //Variável para armazenar o valor em L/min
  62. int contaPulso; //Variável para a quantidade de pulsos
  63. int i=0; //Variável para contagem
  64.  
  65.  
  66. void setup()
  67. {
  68. Serial.begin(9600); //Inicia a serial com um baud rate de 9600
  69.  
  70. pinMode(2, INPUT);
  71. attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção
  72. Serial.println("\n\nInicio\n\n"); //Imprime Inicio na serial
  73. }
  74.  
  75.  
  76. void loop ()
  77. {
  78. contaPulso = 0; //Zera a variável para contar os giros por segundos
  79. sei(); //Habilita interrupção
  80. delay (1000); //Aguarda 1 segundo
  81. cli(); //Desabilita interrupção
  82.  
  83. vazao = contaPulso / 5.5; //Converte para L/min
  84. i++;
  85.  
  86. Serial.print(vazao); //Imprime na serial o valor da vazão
  87. Serial.print(" L/min - "); //Imprime L/min
  88. Serial.print(i); //Imprime a contagem i (segundos)
  89. Serial.println("s"); //Imprime s indicando que está em segundos
  90.  
  91. }
  92.  
  93.  
  94. void incpulso ()
  95. {
  96. contaPulso++; //Incrementa a variável de contagem dos pulsos
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement