#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal_I2C.h>
#define ONE_WIRE_BUS 6
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int buttonPin = 2;
int buttonState = 0;
int lastButtonState = 0;
void setup(void)
{
sensors.begin();
Serial.begin(9600);
lcd.init();
lcd.backlight();
pinMode(buttonPin, INPUT);
}
void loop(void)
{
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState && buttonState == HIGH) {
displayTemperature();
}
lastButtonState = buttonState;
}
void displayTemperature() {
lcd.clear();
sensors.requestTemperatures();
lcd.setCursor(0, 0);
lcd.print("Temperature: ");
lcd.print(sensors.getTempCByIndex(0));
lcd.print((char)223);
lcd.print("C");
Serial.print("Temperature: ");
Serial.print(sensors.getTempCByIndex(0));
Serial.print((char)176);
Serial.println("C");
}