User Tools

Site Tools


openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp36

This is an old revision of the document!


Αισθητήρας Θερμοκρασίας TMP36

Σκοπός της ενότητας:

  • Κατανόηση:
    • Λειτουργία αισθητήρα θερμοκρασίας TMP36
  • Εξάσκηση :
    • Βασική ανάγνωση δεδομένων του TMP36 με τη βοήθεια της πλακέτας Arduino.

Προαπαιτούμενες γνώσεις:

  • Βασική δομή πλακέτας δοκιμών
  • Δημιουργία Sketch στο Arduino IDE
  • Φόρτωση Sketch από το IDE στην πλακέτα Arduino.

Σύνδεση στην πλακέτα δοκιμών και στο arduino

  • Ο ακροδέκτης Vs (κόκκινο καλώδιο) είναι η τάση τροφοδοσίας του TMP36 και δεν πρέπει να ξεπερνά τα 5V.
  • Ο μεσαίος ακροδέκτης Vout (κίτρινο καλώδιο στο σχεδιάγραμμα) στέλνει σήμα με τάση ανάλογη της θερμοκρασίας στο άμμεσο περιβάλλον του αισθητήρα.
  • Ο ακροδέκτης GND (μαύρο καλώδιο) είναι η γείωση ή η επιστροφή που κλείνει το κύκλωμα

Πηγές

Οδηγός λειτουργίας του TMP36@

Προδιογραφές TMP36

  • Εύρος θερμοκρασιων: -40°C to 125°C
  • Ακρίβεια: ±2°C
  • Παράγοντας κλίμακας εξόδου: 10mV/°C (δηλαδή αλλαγή 10mV αντιστοιχεί σε αλλαγή 1C.
  • Εύρος εξόδου:0.1V (-40°C) to 1.75V (125°C)

Το παρακάτω διάγραμμα προέρχεται από έγγραφο προδιαγραφων (dataspec) αισθητήρων tmp35-tmp36-tmp37. Εμάς μας ενδιαφέρει ο TMP36.

Βλέπουμε ότι ο TMP36 έχει εύρος τιμών εξόδου:0.1V (-40°C) to 1.75V (125°C).

Ο αναλογικός ακροδέκτης Α0 στον οποίο συνδέσαμε τον κεντρικό ακροδέκτη μπορεί να δημιουργήσει ένα εύρος τιμών ανάμεσα από το 0 εώς το 1024 . Αλλά αφού θα δεχτεί τιμες 0.1v - 1.75v θα παράγει τιμές περίπου από το 10 εώς το 400.

Ο κώδικας μας πρέπει αυτές τις τιμές να τις μετατρέψει σε μια τιμή θερμοκρασίας κελσίου.

Πρόσβαση από το Sketch

Σκοπός : Να εμφανίσουμε στην σειριακή κονσόλο του ArduinoIDE την θερμοκρασία κάθε στιγμή του αισθητήρα μας.

Τα αναλογικά pins του Arduino UNO R4 WiFi (A0–A5) παράγουν τιμές από το 0 εως 1023 που αντιστοιχούν σε τάσεις από το 0 εως το 5v . Το αναλογικό pin (στο οποίο καταλήγει το pin εξόδου του TMP36) αντιστοιχεί την τάση που δέχεται σε μια τιμή από το 1-1024. Το πρόγραμμα μας πρέπει να αντιστοιχήσει αυτή την τιμή σε μια τιμή θερμοκρασίας.

// Ορίζουμε τον αναλογικό ακροδέκτη της πλακέτας arduino στην οποία συνδέσαμε τον ακροδέκτη εξόδου του TMP36's
#define sensorPin A0
 
void setup() {
  // Ξεκινάμε επικοινωνία με την κονσόλα του IDE.
  Serial.begin(9600);
}
 
void loop() {
  // Λήψη της τιμής του ακροδέκτη εξόδου του TMP36
  int reading = analogRead(sensorPin);
 
  // Μετατροπή της τιμής σε τάση.
  float voltage = reading * (5.0 / 1024.0);
 
  // Μετατροπή της τάσης σε θερμοκρασία Κελσίου
  float temperatureC = (voltage - 0.5) * 100;
 
  // Εμφάνιση της θερμοκρασίας σε Κελσίου
  Serial.print("θερμοκρασία: ");
  Serial.print(temperatureC);
  Serial.print("\xC2\xB0"); // σύμβολο θερμοκρασίας
  Serial.print("C  |  ");
 
 
  delay(1000); // αναμονή ενός δευτερολέπτου πριν νέα ανάγνωση τιμής
}
}

Εκτέλεση του προγράμματος και έλεγχος

  • Πιέστε ελαφρά με τα δάχτυλα σας ώστε να παρατηρήστε άνοδο της θερμοκρασίας.
  • Αγγίξτε για λίγο ένα παγάκι. Προσοχή μην πέσει νερό στις πλακέτες σας!! .

openhw/arduino/εξαρτήματα/αισθητήρες/θερμοκρασίας/tmp36.1781358409.txt.gz · Last modified: by alexandrospr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki