#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int ledR = 10;
int ledV = 9;
int ky013 = A0;
int valor;
float R1 = 10000;
float logR2, R2, TK, TC,TF;
float A = 0.001129148, B= 0.000234125, C = 0.0000000876741;
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Temperatura");
lcd.setCursor(0,1);
lcd.print("C:");
Serial.begin(9600);
pinMode (ledR, OUTPUT);
pinMode (ledV, OUTPUT);
}
void loop() {
valor = analogRead(ky013);
Serial.print("Valor Analógico:");
Serial.println(valor);
valor = map (valor, 0, 270, 0, 50);
R2 = R1 * (1023.0 / (float)valor - 1.0);
logR2 = log(R2);
TK = (1.0 / (A + B * logR2 + C * logR2 * logR2 * logR2));
TC = TK - 273.15;
TC=TC*(-1);
TF=(TC * 9/5) + 32;
Serial.println(TC);
delay(500);
lcd.setCursor(4,1);
lcd.print(TC);
digitalWrite(ledR, LOW);
digitalWrite(ledV, LOW);
if (TC >= 25) {
digitalWrite(ledR, HIGH);
}
else {
digitalWrite(ledV, HIGH);
}
}