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:24] alexandrospropenhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp36 [2026/06/12 18:03] (current) – [Πρόσβαση από το Sketch] alexandrospr
Line 28: 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 την θερμοκρασία κάθε στιγμή του αισθητήρα μας. Σκοπός : Να εμφανίσουμε στην σειριακή κονσόλο του ArduinoIDE την θερμοκρασία κάθε στιγμή του αισθητήρα μας.
Line 36: 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 2pinNumber<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.1781285094.txt.gz · Last modified: by alexandrospr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki