Οι οπαδοί που χρησιμοποιούσαν για να ψύξουν τα ηλεκτρονικά έρχονται σε δύο μορφές. Ορισμένα είναι μινιατούρα, αποστέλλονται απευθείας στα ψυχρά εξαρτήματα, άλλα είναι μεγαλύτερα, οδηγούν αέρα σε όλο το χώρο του σπιτιού. Είναι καλύτερο όταν χρησιμοποιούνται και οι δύο τύποι ανεμιστήρων. Συχνά, οι οπαδοί του δεύτερου τύπου συνεχώς "αλώνουν" με πλήρη ισχύ, ακόμα κι αν αυτό δεν είναι απαραίτητο. Από αυτό, το ρουλεμάν φεύγει ταχύτερα και ο υπερβολικός θόρυβος παρεμβαίνει στον χρήστη. Ο απλούστερος θερμοστάτης επαφής μπορεί να ενεργοποιήσει και να απενεργοποιήσει τον ανεμιστήρα, ενώ ο πόρος της ρουλεμάν καταναλώνεται μόνο όταν ο κινητήρας λειτουργεί, αλλά η έντονη εμφάνιση και ο εξαφανισμένος θόρυβος μπορεί να είναι ακόμη πιο ενοχλητικό. Ένας πιο εξελιγμένος θερμοστάτης - για παράδειγμα, που προτείνεται από τον συγγραφέα Instructables με το ψευδώνυμο AntoBesline - ελέγχει τη συχνότητα περιστροφής του κινητήρα του ανεμιστήρα με PWM και διατηρεί την απαραίτητη και επαρκή για την επίτευξη της καθορισμένης θερμοκρασίας. Συνιστάται να οδηγείτε αέρα μέσω του χώρου περιβλήματος από κάτω προς τα πάνω και τοποθετήστε τον αισθητήρα θερμοκρασίας από πάνω. Μπορείτε επίσης να εγκαταστήσετε φίλτρα για να αποτρέψετε την είσοδο σκόνης στο περίβλημα, αλλά θα μειώσουν την απόδοση.
Ένας αισθητήρας θερμοκρασίας και υγρασίας τύπου DHT11 είναι κατάλληλος μόνο για τον θερμοστάτη που ελέγχει έναν δεύτερο ανεμιστήρα τύπου, καθώς μετρά τη θερμοκρασία του αέρα και όχι οποιαδήποτε επιφάνεια. Η υποστήριξή του παρέχεται από δύο βιβλιοθήκες εδώ και εδώ. Εάν χρειάζεται να εξοπλίσετε έναν ανεμιστήρα του πρώτου τύπου με θερμοστάτη, θα χρειαστεί να χρησιμοποιήσετε έναν άλλο αισθητήρα που μετρά τη θερμοκρασία επιφάνειας του προς ψύξη εξαρτήματος. Τότε το πρόγραμμα θα πρέπει να αναδιοργανωθεί και οι βιβλιοθήκες θα χρειαστούν και άλλους, επειδή ο αισθητήρας μπορεί να διαφέρει τόσο στη διεπαφή όσο και στη δομή των δεδομένων που μεταδίδονται σε αυτό.
Χρησιμοποιώντας την παρακάτω εικόνα, ο οδηγός δείχνει τι είναι PWM, οι περισσότεροι αναγνώστες το γνωρίζουν ήδη. Λόγω του γεγονότος ότι το τρανζίστορ εξόδου είναι πάντα είτε εντελώς κλειστό είτε πλήρως ανοιχτό, πολύ χαμηλή ισχύς κατανέμεται πάντοτε επ 'αυτού. Όπως γνωρίζετε, η ισχύς είναι ίση με το προϊόν του ρεύματος και της τάσης, και εδώ, με το τρανζίστορ κλειστό, το ρεύμα είναι πολύ μικρό, και με το ανοιχτό τρανζίστορ, η πτώση τάσης απέναντι του είναι μικρή. Ένας από τους δύο παράγοντες είναι πάντα μικρός, πράγμα που σημαίνει ότι το προϊόν τους είναι επίσης μικρό. Σχεδόν όλη η ισχύς στον ελεγκτή PWM πηγαίνει στο φορτίο, όχι στο τρανζίστορ.
Ο πλοίαρχος καταρτίζει ένα διάγραμμα θερμοστάτη:
Arduino τροφοδοτείται από μια πηγή 5 βολτ, ο ανεμιστήρας - από ένα 12 βολτ.Εάν χρησιμοποιείτε ανεμιστήρα 5 V, μπορείτε να κάνετε μία πηγή με αρκετή χωρητικότητα φόρτωσης, τροφοδοτώντας τον Arduino μέσω ενός απλού φίλτρου LC. Μια δίοδος που είναι συνδεδεμένη παράλληλα με τον ανεμιστήρα προς την αντίθετη κατεύθυνση είναι απαραίτητη εάν ο κινητήρας είναι κινητήρας συλλέκτη (όπως σε μερικούς σύγχρονους ανεμιστήρες USB). Όταν χρησιμοποιείτε ανεμιστήρα υπολογιστή με αισθητήρα Hall και ηλεκτρονικό έλεγχο τυλίγματος, αυτή η δίοδος είναι προαιρετική.
Το κείμενο που συντάχθηκε από το πρόγραμμα οδηγών είναι αρκετά σύντομο, δίνονται παρακάτω:
#include "DHT.h"
#define dht_apin A1
#include
Υγρό κρύσταλλο lcd (7,6,5,4,3,2);
DHT dht (dht_apin, ϋΗΤ11);
int ανεμιστήρας = 11;
int led = 8;
int temp;
int tempMin = 30;
int tempMax = 60;
int fanSpeed;
int fanLCD;
void setup ()
{
pinMode (ανεμιστήρας, OUTPUT);
pinMode (οδήγησε, OUTPUT);
lcd.begin (16,2).
dht.begin ();
lcd.print ("Θερμοκρασία δωματίου").
lcd.setCursor (0, 1).
lcd.print ("ταχύτητα ανεμιστήρα Ctrl");
καθυστέρηση (3000).
lcd.clear ();
}}
κενός βρόχος ()
{
float temperate;
θερμοκρασία = dht.readTemperature ();
temp = θερμοκρασία; // αποθηκεύστε την τιμή θερμοκρασίας στη μεταβλητή temp
Serial.print (temp);
εάν (temp = tempMin) && (temp <= tempMax)) // αν η θερμοκρασία είναι υψηλότερη από την ελάχιστη θερμοκρασία
{
fanSpeed = temp · // χάρτη (temp, tempMin, tempMax, 0, 100); // η πραγματική ταχύτητα του ανεμιστήρα // χάρτη (temp, tempMin, tempMax, 32, 255).
fanSpeed = 1.5 * fanSpeed;
fanLCD = χάρτης (temp, tempMin, tempMax, 0, 100); // ταχύτητα ανεμιστήρα για προβολή στην LCD100
analogWrite (ανεμιστήρας, fanSpeed); // περιστρέψτε τον ανεμιστήρα στην ταχύτητα του ανεμιστήρα
}}
εάν (temp> tempMax) // εάν το temp είναι υψηλότερο από το tempMax
{
ψηφιακήWrite (led, υψηλή); // ενεργοποιήστε το led
}}
else // // // // // // // // εκτός από την οδήγηση
{
ψηφιακή γραφή (led, LOW);
}}
lcd.print ("TEMP:").
lcd.print (temp); // εμφάνιση της θερμοκρασίας
lcd.print ("C");
lcd.setCursor (0,1); // μετακινήστε τον δρομέα στην επόμενη γραμμή
lcd.print ("FANS:");
lcd.print (fanLCD); // εμφανίζει την ταχύτητα του ανεμιστήρα
lcd.print ("%");
καθυστέρηση (200).
lcd.clear ();
}}
Επίσης, ένα σκίτσο μπορεί να μεταφορτωθεί ως αρχείο εδώ. Η άγνωστη επέκταση θα πρέπει να αλλάξει σε ino.
Οι παρακάτω φωτογραφίες δείχνουν τη συναρμολόγηση της συσκευής πρωτότυπου σε μια σανίδα τύπου breadboard:
Έχοντας συναρμολογήσει ένα πρωτότυπο, ο πλοίαρχος το δοκιμάζει. Η θερμοκρασία εμφανίζεται σε βαθμούς Κελσίου, η πραγματική τιμή τάσης στον ανεμιστήρα - ως ποσοστό του μέγιστου.
Απομένει να συναρμολογήσετε το κύκλωμα με συγκόλληση και να κάνετε το θερμοστάτη μέρος αυτού σπιτικόπου θα κρυώσει.