#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);

float ADCReads[6] = {100, 278, 400, 500, 880, 710} ;
float TheVoltageValue = 0.0, Slope = 0.00625, Displacement = 0.424;
int TheCelsiusValue = 0;
const float MyReferenceVoltage = 1.1;


void setup() {
  // Serial.begin(115200);
  lcd.begin(16, 2);
}

void loop()
{
  for (int i = 0; i < 6; i++)
  {
    lcd.setCursor(0, 0);

    lcd.print("ADC= ");
    lcd.print(ADCReads[i],0);

    lcd.print("  V= ");
    TheVoltageValue = VoltageFormula(ADCReads[i]);
    lcd.print(TheVoltageValue);

    lcd.setCursor(0, 1);
    
    lcd.print((char)223);
    lcd.print("C= ");
    TheCelsiusValue = X_axisFormula(ADCReads[i]);
    lcd.print(TheCelsiusValue);

    delay(500);
    // lcd.clear();
  }

}

int X_axisFormula(float Value)
{
  return (Value - Displacement) / Slope ;
}

float VoltageFormula(float Value)
{
  float temp = Value * (MyReferenceVoltage / (pow(2, 10) - 1));
  return  temp / 1000 ;
  // 0.0048875855
  // return Value * (0.0048);
}

// float CelsiusFormula(float Value)
// {
//   return (Value * 1000) - 10;
// }