Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <OneWire.h>
- #include <DallasTemperature.h>
- #include <LiquidCrystal.h>
- // Inicializa o LCD
- LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
- // Porta do pino de sinal do DS18B20
- #define ONE_WIRE_BUS 8
- // Define uma instancia do oneWire para comunicacao com o sensor
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature sensors(&oneWire);
- DeviceAddress sensor1;
- void setup() {
- lcd.begin(20, 4); // Diz para o Arduino que o display é 16x2.
- Serial.begin(9600);
- sensors.begin();
- // Localiza e mostra enderecos dos sensores
- Serial.println("Localizando sensores DS18B20...");
- Serial.print("Foram encontrados ");
- Serial.print(sensors.getDeviceCount(), DEC);
- Serial.println(" sensores.");
- if (!sensors.getAddress(sensor1, 0))
- Serial.println("Sensores nao encontrados !");
- // Mostra o endereco do sensor encontrado no barramento
- Serial.print("Endereco sensor: ");
- mostra_endereco_sensor(sensor1);
- Serial.println();
- Serial.println();
- }
- void mostra_endereco_sensor(DeviceAddress deviceAddress)
- {
- for (uint8_t i = 0; i < 8; i++)
- {
- // Adiciona zeros se necessário
- if (deviceAddress[i] < 16) Serial.print("0");
- Serial.print(deviceAddress[i], HEX);
- }
- }
- void loop()
- {
- sensors.requestTemperatures(); // Le a informacao do sensor
- float tempC = sensors.getTempC(sensor1); // Variavel tempC recebe valor do sensor
- /////////////////// Mostra dados no serial monitor/////////////////////////////////////
- Serial.print("Temp C: ");
- Serial.println(tempC);
- ///////////////////Mostra dados no LCD////////////////////////////////////////////////
- lcd.setCursor(0,0);
- lcd.print(" ");
- lcd.setCursor(1,0);
- lcd.print(tempC);
- delay(1000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement