#include <LiquidCrystal_I2C.h>
int ThermistorPin = A7; //attach sensor to pin A7
float R1 = 10000; //initialize ntc maximum resistance
float logR2, R2, T, Tc, Tf;//initialize variable for calculation
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;//initialize coefficient
LiquidCrystal_I2C lcd1(0x27, 16, 2); //set address and size
void setup() {
Serial.begin(9600); //set baud rate
lcd1.init();//initialize LCD
lcd1.backlight();//to turn on backlight
}
void loop() {
int NTC = analogRead(ThermistorPin);//read analog data from NTC
R2 = R1 * (1023.0 / (float)NTC - 1.0);//calculation
logR2 = log(R2);
T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
Tc = T - 273.15;
Tf = (Tc * 9.0)/ 5.0 + 32.0;
lcd1.setCursor(0, 0);//set text position
lcd1.print("Temperature:");//print "Temperature:" in LCD
lcd1.print(Tc);//print value from calculation
lcd1.print(" C");
Serial.print("Temperature: "); //print "Temperature" in serial monitor
Serial.print(Tc);//print value from calculation in serial monitor
Serial.println(" C");//print "C" in serial monitor
delay(1000);//delay 1s between every readings
}