### Κώδικας Arduino: // Ορισμός των ακίδων const int lm35Pin = A0; // Αναλογική είσοδος για τον αισθητήρα LM35 const int ledPin = 13; // Ψηφιακή έξοδος για το LED void setup() { // Αρχικοποίηση του LED ως έξοδο pinMode(ledPin, OUTPUT); // Αρχικοποίηση της σειριακής σύνδεσης (για debugging) Serial.begin(9600); } void loop() { // Διαβάζουμε την αναλογική τιμή από τον αισθητήρα LM35 int sensorValue = analogRead(lm35Pin); // Μετατροπή της αναλογικής τιμής σε θερμοκρασία (σε βαθμούς Κελσίου) float voltage = sensorValue * (5.0 / 1023.0); // Ανάγνωση τάσης από τον αισθητήρα float temperature = voltage * 100.0; // Το LM35 δίνει 10mV/°C, οπότε το πολλαπλασιάζουμε με 100 // Εμφάνιση της θερμοκρασίας στην σειριακή οθόνη (προαιρετικά) Serial.print("Temperature: "); Serial.print(temperature); Serial.println(" C"); // Αν η θερμοκρασία είναι κάτω από 20°C, ανάβουμε το LED if (temperature < 20.0) { digitalWrite(ledPin, HIGH); // Ανάβουμε το LED } else { digitalWrite(ledPin, LOW); // Σβήνουμε το LED } // Καθυστέρηση πριν την επόμενη ανάγνωση delay(1000); // 1 δευτερόλεπτο } ``` ### Επεξήγηση: 1. **Ορισμός Πινάκων:** - `lm35Pin`: Εδώ δηλώνουμε την αναλογική είσοδο του LM35 (A0). - `ledPin`: Ορίζουμε την ψηφιακή έξοδο για το LED (Pin 13). 2. **Ανάγνωση Θερμοκρασίας:** - Διαβάζουμε την αναλογική τιμή από τον αισθητήρα LM35 με τη συνάρτηση `analogRead()`. - Υπολογίζουμε την τάση (σε βολτ) από την αναλογική τιμή, και την μετατρέπουμε σε θερμοκρασία σε βαθμούς Κελσίου. 3. **Έλεγχος Θερμοκρασίας:** - Αν η θερμοκρασία είναι κάτω από 20°C, το LED ανάβει (πιν 13 γίνεται HIGH). - Αν η θερμοκρασία είναι μεγαλύτερη ή ίση με 20°C, το LED σβήνει (πιν 13 γίνεται LOW). 4. **Καθυστέρηση:** - Το `delay(1000)` προκαλεί μια καθυστέρηση 1 δευτερολέπτου πριν γίνει η επόμενη μέτρηση της θερμοκρασίας. Αυτός ο κώδικας θα ανάψει το LED όταν η θερμοκρασία πέσει κάτω από 20°C και θα το σβήσει όταν η θερμοκρασία είναι πάνω από 20°C.