Advertisement
RuiViana

Identifica 1Wire

Oct 25th, 2015
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3. #include <LiquidCrystal.h>
  4.  
  5. // Inicializa o LCD
  6. LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
  7.  
  8. // Porta do pino de sinal do DS18B20
  9. #define ONE_WIRE_BUS 8
  10.  
  11. // Define uma instancia do oneWire para comunicacao com o sensor
  12. OneWire oneWire(ONE_WIRE_BUS);
  13.  
  14. DallasTemperature sensors(&oneWire);
  15. DeviceAddress sensor1;
  16.  
  17.  
  18. void setup() {
  19.  
  20. lcd.begin(20, 4); // Diz para o Arduino que o display é 16x2.
  21.  
  22. Serial.begin(9600);
  23. sensors.begin();
  24. // Localiza e mostra enderecos dos sensores
  25. Serial.println("Localizando sensores DS18B20...");
  26. Serial.print("Foram encontrados ");
  27. Serial.print(sensors.getDeviceCount(), DEC);
  28. Serial.println(" sensores.");
  29. if (!sensors.getAddress(sensor1, 0))
  30. Serial.println("Sensores nao encontrados !");
  31. // Mostra o endereco do sensor encontrado no barramento
  32. Serial.print("Endereco sensor: ");
  33. mostra_endereco_sensor(sensor1);
  34. Serial.println();
  35. Serial.println();
  36.  
  37. }
  38.  
  39. void mostra_endereco_sensor(DeviceAddress deviceAddress)
  40. {
  41. for (uint8_t i = 0; i < 8; i++)
  42. {
  43. // Adiciona zeros se necessário
  44. if (deviceAddress[i] < 16) Serial.print("0");
  45. Serial.print(deviceAddress[i], HEX);
  46. }
  47. }
  48.  
  49.  
  50. void loop()
  51. {
  52. sensors.requestTemperatures(); // Le a informacao do sensor
  53. float tempC = sensors.getTempC(sensor1); // Variavel tempC recebe valor do sensor
  54.  
  55.  
  56. /////////////////// Mostra dados no serial monitor/////////////////////////////////////
  57. Serial.print("Temp C: ");
  58. Serial.println(tempC);
  59.  
  60. ///////////////////Mostra dados no LCD////////////////////////////////////////////////
  61.  
  62. lcd.setCursor(0,0);
  63. lcd.print(" ");
  64. lcd.setCursor(1,0);
  65. lcd.print(tempC);
  66.  
  67. delay(1000);
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement