Σηκώστε το τέλειο ψωμί, ψήστε όμορφη μπύρα και κερδίστε ευτυχισμένους νεοσσούς με έναν ρυθμιστή θερμοκρασίας Arduino. Εάν ζείτε σε ένα κλίμα λιγότερο από αξιόπιστο όπως η Αγγλία, οι οδηγίες που σας λένε να κρατήσετε κάτι σε μια καθορισμένη θερμοκρασία δεν είναι ιδιαίτερα χρήσιμες - δεν έχουμε κλιματιστικά και η ανύψωση του θερμοστάτη για ολόκληρο το σπίτι δεν είναι πρακτική για απλά κάνοντας ένα ψωμί ψωμιού. Ακόμη και διατηρούνται μέσα, οι νεοσσοί μπορούν να πεθάνουν εάν η θερμοκρασία πέσει τη νύχτα. και να τους πάρει να εκκολαφθούν στην πρώτη θέση έχει ένα ακόμα πιο αυστηρό εύρος θερμοκρασίας. Αλλά χρειάζομαι το ψωμί μου και οι νεοσσοί χρειάζονται επώαση - έτσι αντί να αγοράζουμε ακριβό εξοπλισμό, μπορούμε να περάσουμε μαζί έναν αρμόδιο ελεγκτή θερμοκρασίας με ένα κομμάτι Arduino και οικιακής χρήσης.
Το ίδιο ισχύει και για τη διατήρηση των προϊόντων δροσερά - μπορεί να είναι σπατάλη για να τρέξετε ένα ολόκληρο ψυγείο μόνο για να φτιάξετε γιαούρτι - αλλά με έναν ελεγκτή θερμοκρασίας, η αρχή είναι η ίδια. Αντί να ενεργοποιήσετε ένα στοιχείο θέρμανσης, θα ενεργοποιήσετε το βύσμα σε ένα μικρό ψυγείο ή άλλο στοιχείο ψύξης, όπως ένα Peltier (θερμοηλεκτρικό ψύκτη) - και βεβαίως, η λογική θα αντιστραφεί.
Τι θα χρειαστείτε
Αυτό είναι ένα έργο Arduino - αν δεν έχετε δουλέψει ποτέ με τον Arduino πριν, ο δωρεάν οδηγός για αρχάριους είναι ένα φανταστικό μέρος για να ξεκινήσετε.
- Arduino
- Αισθητήρας θερμοκρασίας - Χρησιμοποιώ ένα TMP36, μια φτηνή συσκευή ενιαίου πακέτου που συνοδεύει το κιτ αρχαρίων του Oomlout (UK) / Sparkfun (ΗΠΑ).
- Ρελέ ή διακόπτες βύσματος RC
- Βιδωτά τερματικά
- Κουτί για την παγίδευση της θερμότητας
- Στοιχείο θέρμανσης ή λαμπτήρα πυρακτώσεως και διάταξη (ή και τα δύο)
Το τελευταίο στοιχείο έχει παραμείνει σκόπιμα αόριστο. Εάν έχετε λαμπτήρα πυρακτώσεως (το είδος που ζεσταίνεται, δεν είναι εξοικονόμηση ενέργειας) ή ένας θερμός λαμπτήρας για αθλητικά τραύματα και τέτοια, είναι ίσως η πιο εύκολη εγκατάσταση. Χρησιμοποιώ μια ζώνη θέρμανσης - βασικά μια ταινία από καουτσούκ που ζεσταίνεται όταν περάσει η ηλεκτρική ενέργεια, που χρησιμοποιείται σε φασόλια και βαρέλια για τα αρχικά στάδια ζύμωσης στο κρασί ή στη μπύρα - τεχνικά, αυτό μπορεί να είναι κίνδυνος πυρκαγιάς όταν δεν τυλίγεται γύρω από κάτι, οπότε παρακαλώ μην το κάνετε αυτό, το χρησιμοποιώ μόνο για να το δοκιμάσω . Μπορείτε επίσης να αγοράσετε τα μαξιλάρια θέρμανσης για τον ίδιο σκοπό.
Για λόγους ασφαλείας, χρησιμοποιώ αυτά τα βύσματα RC για να αλλάξω τις συσκευές AC, με έναν ελεγκτή να έχει καταστραφεί λεπτομερώς σε αυτό το άρθρο σχετικά με τον αυτοματισμό του σπιτιού. Συσκευές ελέγχου από ένα Arduino: Η αρχή των οικιακών συσκευών ελέγχου αυτοματισμού από ένα Arduino: Σας έδειξα μερικούς τρόπους με τους οποίους τα έργα σας Arduino ελέγχονται από το SiriProxy, τα ενσωματωμένα ομιλητά αντικείμενα του OS X και κάποια scripting από το Automator ή ακόμα και από ένα ειδικό τσιπ hardware recognition. Εγώ ... Διαβάστε περισσότερα. Είναι ασύρματο, οπότε σε καμία περίπτωση δεν χρειάζεται να αγγίζω πραγματικά ζωντανά καλώδια.
Ανίχνευση θερμοκρασίας
Ας ξεκινήσουμε καλωδίωση και δοκιμή του αισθητήρα. [Διάγραμμα από Adafruit]
Με την επίπεδη πλευρά προς εσάς και τα πόδια προς τα κάτω, ο αισθητήρας θερμοκρασίας TMP36 είναι καλωδιωμένος προς τα πάνω +, σήμα, GND με αυτή τη σειρά. Το + πηγαίνει στην έξοδο 3, 3 V από το Arduino. χρειάζεστε επίσης μια άλλη γραμμή από το +3, 3 V στην AREF pin - αυτό λέει στο Arduino να χρησιμοποιεί 3, 3 V για αναφορά αναλογικής εισόδου αντί για 5 V. Συνδέστε τον ακροδέκτη σήματος του αισθητήρα στο A1. Σε προηγούμενες προσπάθειες, είχα χρησιμοποιήσει το TMP36 απευθείας στη γραμμή 5 V. Λειτουργεί, δυστυχώς, όταν συνδυάστηκε με ένα ρελέ, υπήρξε μια πτώση ισχύος όποτε ενεργοποιήθηκε ο ηλεκτρονόμος, με αποτέλεσμα πολύ έντονες αναγνώσεις.
Χρησιμοποίησα ένα παλιό καλώδιο δικτύου ως καλώδιο σήματος - πολύ χρήσιμο να έχω γύρω, αφού υπάρχουν 8 καλώδια μέσα. Το καλώδιο είναι τελείως λεπτό, οπότε φροντίστε να ενισχύσετε το άλλο άκρο με συγκόλληση όπου θα βιδωθεί σε μπλοκ ακροδεκτών.
Ο τύπος στον κώδικα υποθέτει ότι χρησιμοποιείτε τον αισθητήρα tMP36. θα πρέπει να μπορείτε να βρείτε ένα δείγμα κώδικα για άλλους αισθητήρες. Αυτός ο κώδικας δείγματος προέρχεται από την Adafruit - φορτώστε την και ανοίξτε την κονσόλα Serial για να εξετάσετε την έξοδο.
Συγκρίνετε με ένα θερμόμετρο αν είναι δυνατόν. Οι αναγνώσεις δεν είναι σωστές;
- Ελέγξτε ότι η τάση που παρέχεται είναι στην πραγματικότητα 3, 3 V
- Είναι το AREF συνδεδεμένο και στα 3.3 V;
Προσθήκη λογικής μεταγωγής
Για να ελέγξω το στοιχείο θέρμανσης, χρησιμοποιώ αυτές τις πρίζες RC από το Maplin και έχω αποκλείσει τον ελεγκτή. Μόνο η γείωση και ο ακροδέκτης ελέγχου πρέπει να συνδεθούν. Έχω τροποποιήσει τον κώδικα για να συμπεριλάβει τις σχετικές βιβλιοθήκες τις οποίες μπορείτε να κατεβάσετε από εδώ.
Σε αυτό το σημείο, θα καταργήσω όλες τις αναφορές στο Farenheit και θα συνεχίσω να δουλεύω μόνο με το Κελσίου. Έχω στη συνέχεια καθορίσει μια επιθυμητή θερμοκρασία για να διατηρήσει, και να προστεθεί σε μια απλή δομή ελέγχου, όπως έτσι:
if(temperatureC< desiredTempC){ mySwitch.switchOn(1, 1); Serial.println("Heater ON"); } else{ Serial.println("Heater OFF"); mySwitch.switchOff(1, 1); }
Δεν υπάρχει τίποτα περίπλοκο εδώ που δεν θα καταλάβετε - απλά συγκρίνοντας την τρέχουσα ανάγνωση θερμοκρασίας με την επιθυμητή και ενεργοποιώντας το διακόπτη εάν είναι χαμηλότερο. Διαφορετικά, απενεργοποιήστε το.
Ο πλήρης κώδικας μπορεί να βρεθεί εδώ, αν και θα πρέπει να το προσαρμόσετε αν χρησιμοποιείτε ένα ρελέ (δεν είναι δύσκολο). Εδώ είναι το πλήρες διάγραμμα καλωδίωσης που χρησιμοποίησα:
Όλα μαζί
Βγάλτε τον αισθητήρα μέσα στο κιβώτιο που χρησιμοποιείτε και τοποθετήστε το στοιχείο θέρμανσης όπου αρμόζει. Ρυθμίστε την επιθυμητή θερμοκρασία και ενεργοποιήστε την. Αν διατηρήσετε τον υπολογιστή σας συνδεδεμένο για τώρα, μπορείτε να χρησιμοποιήσετε την κονσόλα σειριακής κονσόλας για να παρακολουθείτε τις αλλαγές καθώς θερμαίνεται το κουτί σας.
Περισσότερη δουλεια
- Για να μειώσετε τις επιπτώσεις τυχόν διακυμάνσεων της θερμοκρασίας, μπορείτε να δοκιμάσετε την εξομάλυνση των αποτελεσμάτων. Δημιουργήστε έναν πίνακα για να αποθηκεύσετε 10 μετρήσεις και υπολογίστε έναν μέσο όρο σε κάθε βρόχο.
- Για να αποφύγετε την ταχεία ενεργοποίηση και απενεργοποίηση του θερμαντικού στοιχείου, δημιουργήστε μια μεταβλητή για να αποθηκεύσετε μια αντίστροφη μέτρηση. Κάθε φορά που ενεργοποιείτε ή απενεργοποιείτε, καταγράψτε την τρέχουσα ώρα στην αντίστροφη μέτρηση και, στη συνέχεια, πριν ενεργοποιήσετε ξανά την κατάσταση, ελέγξτε αν έχει περάσει το Χ από την τελευταία αλλαγή της κατάστασης.
- Για ένα έργο χωρίς υπολογιστή, συνδέστε μια μικρή οθόνη LCD για να εμφανίσετε την τρέχουσα θερμοκρασία και θα σας επιτρέψει να δείτε την τρέχουσα και επιθυμητή θερμοκρασία.
Βάζοντας το σε δοκιμή
Τέλος, τι θα ήταν αυτό το έργο χωρίς λίγη δοκιμασία; Έστειλα μια παρτίδα έτοιμης ζύμης στη μηχανή ψωμιού και τη χωρίσω σε δύο χορτάρια. Αυτό που είχε διογκωθεί μέσα στο κιβώτιο ήταν ελαφρώς μεγαλύτερο, αλλά τότε η θερμοκρασία του περιβάλλοντος είναι σήμερα περίπου 26 βαθμοί Κελσίου - αυτό θα ήταν πολύ πιο χρήσιμο το χειμώνα. Ανεξαρτήτως, προτιμώ να φτιάξω σούπα για να συνοδεύσω αυτό το υπέροχο ψωμί.
Έτσι τι θα κάνατε αυτό απαιτεί μια σταθερή θερμοκρασία;
Πιστωτική εικόνα: Ian Watkins / flickr