openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp36
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp36 [2026/06/12 17:22] – alexandrospr | openhw:arduino:εξαρτήματα:αισθητήρες:θερμοκρασίας:tmp36 [2026/06/12 18:03] (current) – [Πρόσβαση από το Sketch] alexandrospr | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| - | * Ο ακροδέκτης **Vs** είναι η τάση τροφοδοσίας του TMP36 και δεν πρέπει να ξεπερνά τα 5V. | + | * Ο ακροδέκτης **Vs** |
| * Ο μεσαίος ακροδέκτης **Vout** (κίτρινο καλώδιο στο σχεδιάγραμμα) | * Ο μεσαίος ακροδέκτης **Vout** (κίτρινο καλώδιο στο σχεδιάγραμμα) | ||
| - | * Ο ακροδέκτης **GND** είναι η γείωση ή η επιστροφή που κλείνει το κύκλωμα | + | * Ο ακροδέκτης **GND** |
| Line 28: | Line 28: | ||
| * Εύρος εξόδου: | * Εύρος εξόδου: | ||
| + | Το παρακάτω διάγραμμα προέρχεται από έγγραφο προδιαγραφων (dataspec) αισθητήρων tmp35-tmp36-tmp37. Εμάς μας ενδιαφέρει ο **TMP36**. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Βλέπουμε ότι ο TMP36 έχει εύρος τιμών εξόδου: | ||
| + | |||
| + | Ο αναλογικός ακροδέκτης **Α0** στον οποίο συνδέσαμε τον κεντρικό ακροδέκτη μπορεί να δημιουργήσει ένα εύρος τιμών ανάμεσα από το 0 εώς το 1024 . Αλλά αφού θα δεχτεί τιμες 0.1v - 1.75v θα παράγει τιμές περίπου από το 10 εώς το 400. | ||
| + | |||
| + | Ο κώδικας μας πρέπει αυτές τις τιμές να τις μετατρέψει σε μια τιμή θερμοκρασίας κελσίου. | ||
| ===== Πρόσβαση από το Sketch | ===== Πρόσβαση από το Sketch | ||
| + | Σκοπός : Να εμφανίσουμε στην σειριακή κονσόλο του ArduinoIDE την θερμοκρασία κάθε στιγμή του αισθητήρα μας. | ||
| + | |||
| Το αναλογικό pin (στο οποίο καταλήγει το pin εξόδου του TMP36) αντιστοιχεί την τάση που δέχεται σε μια τιμή από το 1-1024. Το πρόγραμμα μας πρέπει να αντιστοιχήσει αυτή την τιμή σε μια τιμή θερμοκρασίας. | Το αναλογικό pin (στο οποίο καταλήγει το pin εξόδου του TMP36) αντιστοιχεί την τάση που δέχεται σε μια τιμή από το 1-1024. Το πρόγραμμα μας πρέπει να αντιστοιχήσει αυτή την τιμή σε μια τιμή θερμοκρασίας. | ||
| Line 34: | Line 45: | ||
| < | < | ||
| - | const int sensorPin | + | // Ορίζουμε τον αναλογικό ακροδέκτη της πλακέτας arduino στην οποία συνδέσαμε τον ακροδέκτη εξόδου του TMP36' |
| - | const float baselineTemp = 20.0; | + | # |
| void setup() { | void setup() { | ||
| - | Serial.begin(9600); // open a serial port | + | // Ξεκινάμε επικοινωνία με την κονσόλα του IDE. |
| - | for (int pinNumber = 2; pinNumber< | + | |
| - | pinMode(pinNumber, | + | } |
| - | digitalWrite(pinNumber, | + | |
| - | } | + | |
| + | 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(" | ||
| + | Serial.print(" | ||
| + | | ||
| + | |||
| + | delay(1000); | ||
| + | } | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ===== Εκτέλεση του προγράμματος και έλεγχος | ||
| + | |||
| + | * Πιέστε ελαφρά με τα δάχτυλα σας ώστε να παρατηρήστε άνοδο της θερμοκρασίας. | ||
| + | * Αγγίξτε για λίγο ένα παγάκι. Προσοχή μην πέσει νερό στις πλακέτες σας!! . | ||
| + | |||
| + | {{: | ||
| + | |||
| + | {{: | ||
| + | |||
openhw/arduino/εξαρτήματα/αισθητήρες/θερμοκρασίας/tmp36.1781284921.txt.gz · Last modified: by alexandrospr
