//θα διαβάσει την αναλογική τάση εξόδου του αισθητήρα,
//θα υπολογίσει τη θερμοκρασία με βάση την προκαθορισμένη αναφορική τάση
//και θα εμφανίσει τις τιμές στο Serial Monitor


const int LM335Pin = A0;      // Ακροδέκτης σύνδεσης του LM335 στο A0
const float Vref   = 2.982;   // Επιθυμητή τάση εξόδου (Vo)
const float To_ref = 298.2;   // Αναφορική θερμοκρασία (25°C) σε βαθμούς Κελσίου

void setup() {
  Serial.begin(9600);       // Αρχικοποίηση της σειριακής επικοινωνίας με το Serial Monitor
}

void loop() {
  int sensorValue = analogRead(LM335Pin);    // Ανάγνωση της τάσης εξόδου του αισθητήρα
  float Vo = (sensorValue * 5.0) / 1023.0;   // Μετατροπή της αναλογικής τάσης σε Volts
                                            
  float temperature = (Vo / Vref) * To_ref;  // Υπολογισμός της θερμοκρασίας βάσει της σχέσης

  Serial.print("Τάση Εξόδου (Vo): ");
  Serial.print(Vo, 3);
  Serial.println("V");

  Serial.print("Θερμοκρασία: ");
  Serial.print(temperature, 2);
  Serial.println("°K");

  delay(1000);   // Καθυστέρηση 1 δευτερολέπτου
}