/********************
* Digital Temperature Sensor - DS18B20
*********************/
#include <OneWire.h>
#include <LiquidCrystal_I2C.h>
#include <DallasTemperature.h>
#include <Wire.h>
// set the lcd address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define ONE_WIRE_BUS 7 // DS18B20 module attach to pin 7
// Setup a oneWire instance to communication with
// any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600);
sensors.begin(); // initialize the bus
lcd.init();
lcd.backlight();
}
void loop() {
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
sensors.requestTemperatures();
lcd.setCursor(0, 0);
lcd.print("TempC: ");
Serial.print("TempC: ");
lcd.print(sensors.getTempCByIndex(0));
Serial.print(sensors.getTempCByIndex(0));
lcd.print(char(223)); // symbol for celsius
Serial.print(char(223));
lcd.print("C");
Serial.println("C");
lcd.setCursor(0, 1);
lcd.print("TempF: ");
Serial.print("TempF: ");
lcd.print(1.8 * sensors.getTempCByIndex(0) + 32.0);
Serial.print(1.8 * sensors.getTempCByIndex(0) + 32.0);
lcd.print(char(223));
Serial.print(char(223));
lcd.print("F");
Serial.println("F");
Serial.println("");
delay(1000);
}