#include <LiquidCrystal_I2C.h>
#define I2C_ADDR1 0x27
#define LCD1_COLUMNS 20
#define LCD1_LINES 2
#define I2C_ADDR2 0x28
#define LCD2_COLUMNS 20
#define LCD2_LINES 2
#define NTCOut A0
const float BETA = 3950;
LiquidCrystal_I2C lcd1(I2C_ADDR1, LCD1_COLUMNS, LCD1_LINES);
LiquidCrystal_I2C lcd2(I2C_ADDR2, LCD2_COLUMNS, LCD2_LINES);
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(A4, OUTPUT);
pinMode(A5, OUTPUT);
}
void loop() {
int analogValue = analogRead(NTCOut);
float celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
lcd1.init();
lcd1.setCursor(0,0);
lcd1.print(celsius);
lcd2.init();
if (celsius < 0) {
lcd2.setCursor(0,0);
lcd2.print("Negative");
lcd2.setCursor(0,1);
lcd2.print("Temperature");
}
else if (celsius > 0 && celsius < 50) {
lcd2.setCursor(0,0);
lcd2.print("Normal");
lcd2.setCursor(0,1);
lcd2.print("Temperature");
}
else {
lcd2.setCursor(0,0);
lcd2.print("High");
lcd2.setCursor(0,1);
lcd2.print("Temperature");
}
}