// Pedro Henrique Vieira de Souza RA: 23153
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
lcd.begin(16,2);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temperatura: ");
}
void loop()
{
delay(500);
const float BETA = 3950; // Deve corresponder ao coeficiente beta do termistor
int analogValue = analogRead(A0);
float celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
lcd.setCursor(0, 1);//Posiciona o cursor na coluna 0, linha 1 (segunda linha)
// o método print não suporta uma formatação igual o printf, então temos que criar uma string primeiro
// esse (char) 0b11011111 é a representação em binário do caracter '°'
lcd.print(String(celsius) + String(" ") + String((char) 0b11011111) + String("C"));
// lcd.print(String(celsius) + String("C"));
}