User Tools

Site Tools


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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp36 [2026/06/12 17:15] – [Πρόσβαση από το Sketch] alexandrospropenhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp36 [2026/06/12 18:03] (current) – [Πρόσβαση από το Sketch] alexandrospr
Line 5: Line 5:
 ===== Σύνδεση στην πλακέτα δοκιμών και στο arduino ===== ===== Σύνδεση στην πλακέτα δοκιμών και στο arduino =====
  
-{{:openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp36.png?200 |}}+{{ :openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp36.png?200 |}}
  
-{{:openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:connect-tmp-sensor-tmp36_bb.png?400 |}}+ 
 +  * Ο ακροδέκτης **Vs** (κόκκινο καλώδιο) είναι η τάση τροφοδοσίας του TMP36 και δεν πρέπει να ξεπερνά τα 5V. 
 +  * Ο μεσαίος ακροδέκτης **Vout** (κίτρινο καλώδιο στο σχεδιάγραμμα)  στέλνει σήμα με τάση ανάλογη της θερμοκρασίας στο άμμεσο περιβάλλον του αισθητήρα.  
 +  * Ο ακροδέκτης **GND** (μαύρο καλώδιο)  είναι η γείωση ή η επιστροφή που κλείνει το κύκλωμα 
 + 
 + 
 + 
 +{{ :openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:connect-tmp-sensor-tmp36_bb.png?400 |}}
  
 ===== Πηγές  ===== ===== Πηγές  =====
Line 21: Line 28:
   * Εύρος εξόδου:0.1V (-40°C) to 1.75V (125°C)   * Εύρος εξόδου:0.1V (-40°C) to 1.75V (125°C)
  
 +Το παρακάτω διάγραμμα προέρχεται από έγγραφο προδιαγραφων (dataspec) αισθητήρων tmp35-tmp36-tmp37. Εμάς μας ενδιαφέρει ο **TMP36**.
 +
 +{{:openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp35-tmp36-tmp37-output-voltage-versus-temperature.png?400 |}}
 +
 +Βλέπουμε ότι ο TMP36 έχει εύρος τιμών εξόδου:0.1V (-40°C) to 1.75V (125°C).
 +
 +Ο αναλογικός ακροδέκτης **Α0** στον οποίο συνδέσαμε τον κεντρικό ακροδέκτη μπορεί να δημιουργήσει ένα εύρος τιμών ανάμεσα από το 0 εώς το 1024 . Αλλά αφού θα δεχτεί τιμες 0.1v - 1.75v θα παράγει τιμές περίπου από το 10 εώς το 400. 
 +
 +Ο κώδικας μας πρέπει αυτές τις τιμές να τις μετατρέψει σε μια τιμή θερμοκρασίας κελσίου.
 ===== Πρόσβαση από το Sketch  ===== ===== Πρόσβαση από το Sketch  =====
 +Σκοπός : Να εμφανίσουμε στην σειριακή κονσόλο του ArduinoIDE την θερμοκρασία κάθε στιγμή του αισθητήρα μας.
 + 
  
 Το αναλογικό pin (στο οποίο καταλήγει το pin εξόδου του TMP36) αντιστοιχεί την τάση που δέχεται σε μια τιμή από το 1-1024. Το πρόγραμμα μας πρέπει να αντιστοιχήσει αυτή την τιμή σε μια τιμή θερμοκρασίας. Το αναλογικό pin (στο οποίο καταλήγει το pin εξόδου του TMP36) αντιστοιχεί την τάση που δέχεται σε μια τιμή από το 1-1024. Το πρόγραμμα μας πρέπει να αντιστοιχήσει αυτή την τιμή σε μια τιμή θερμοκρασίας.
Line 27: Line 45:
  
  <code cpp>  <code cpp>
-const int sensorPin A0+// Ορίζουμε τον αναλογικό ακροδέκτη της πλακέτας arduino στην οποία συνδέσαμε τον ακροδέκτη εξόδου του TMP36'
-const float baselineTemp = 20.0;+#define sensorPin A0
  
 void setup() { void setup() {
-Serial.begin(9600); // open a serial port +  // Ξεκινάμε επικοινωνία με την κονσόλα του IDE. 
-for (int pinNumber = 2; pinNumber<5; pinNumber++) { +  Serial.begin(9600); 
-  pinMode(pinNumber, OUTPUT); +}
-  digitalWrite(pinNumber, LOW); +
- }+
  
 +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(" |  ");
 +  
 +
 +  delay(1000); // αναμονή ενός δευτερολέπτου πριν νέα ανάγνωση τιμής
 +}
 } }
 </code> </code>
 +
 +===== Εκτέλεση του προγράμματος και έλεγχος  =====
 +
 +  * Πιέστε ελαφρά με τα δάχτυλα σας ώστε να παρατηρήστε άνοδο της θερμοκρασίας.
 +  * Αγγίξτε για λίγο ένα παγάκι. Προσοχή μην πέσει νερό στις πλακέτες σας!! . 
 +
 +{{:openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:try-squeezing-tmp36-to-see-rise-in-temperature.png?200 |}}
 +
 +{{:openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:try-touching-tmp36-with-ice-to-watch-temperature-drop.png?200 |}}
 +
openhw/arduino/εξαρτήματα/αισθητήρες/θερμοκρασίας/tmp36.1781284501.txt.gz · Last modified: by alexandrospr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki