Πίνακας περιεχομένων:

Αυτόματος ανεμιστήρας ψύξης για Pi: 4 βήματα (με εικόνες)
Αυτόματος ανεμιστήρας ψύξης για Pi: 4 βήματα (με εικόνες)

Βίντεο: Αυτόματος ανεμιστήρας ψύξης για Pi: 4 βήματα (με εικόνες)

Βίντεο: Αυτόματος ανεμιστήρας ψύξης για Pi: 4 βήματα (με εικόνες)
Βίντεο: Δεν το περιμενα ετσι 2024, Νοέμβριος
Anonim
Αυτόματος ανεμιστήρας ψύξης για Pi
Αυτόματος ανεμιστήρας ψύξης για Pi

ΠεριγραφήΈνας απλός σχεδιασμός για τον έλεγχο ενός μίνι ανεμιστήρα 5v με python, χωρίς την ανάγκη ενός breadboard, τρανζίστορ κ.λπ. Το μόνο που χρειάζεστε είναι μερικά καλώδια και ένα ρελέ 1 καναλιού. Είχα ένα ρελέ 2 καναλιών το οποίο προτείνω, δεδομένου ότι είναι σχεδόν η ίδια τιμή και παίρνετε έναν επιπλέον ελεγκτή. Ένα σενάριο που εκτελείται κάθε ώρα θα ελέγχει τη θερμοκρασία του pi και θα ενεργοποιεί/απενεργοποιεί έναν ανεμιστήρα μέχρι να επιτευχθεί η επιθυμητή θερμοκρασία.

Επειδή το καλοκαίρι είναι κοντά μας, το δευτερεύον pi μου τρέχει πολύ ζεστό για το γούστο μου, έτσι ήθελα να το δροσίζω λίγο κάθε τόσο. Φυσικά θα μπορούσα να έχω έναν ανεμιστήρα που φυσάει 24/7, αλλά α) που θα απαιτούσε ένα breadboard, και μερικές αντιστάσεις κλπ, επειδή δεν μπορώ να το συνδέσω απλώς στις καρφίτσες GPIO β) γράφοντας κάποιο κώδικα που αλληλεπιδρά με το "έξω" ο κόσμος είναι πιο διασκεδαστικός:) και γ) είναι πραγματικά φτηνό … το μόνο που χρειάζεστε είναι μερικά καλώδια και ρελέ.

Απολαύστε και μη διστάσετε να σχολιάσετε!

Βήμα 1: Απαιτούνται υλικά

Χρειαζονται ΥΛΙΚΑ
Χρειαζονται ΥΛΙΚΑ
Χρειαζονται ΥΛΙΚΑ
Χρειαζονται ΥΛΙΚΑ
Χρειαζονται ΥΛΙΚΑ
Χρειαζονται ΥΛΙΚΑ
Χρειαζονται ΥΛΙΚΑ
Χρειαζονται ΥΛΙΚΑ

- crontab / python εγκατεστημένο στο pi σας - A raspberry pi με θήκη - μίνι ανεμιστήρας 5v (σύνδεσμος) - ρελέ 2 καναλιών (σύνδεσμος) - Ζεύγος θηλυκών προς θηλυκών καλωδίων (σύνδεσμος). Είχα μόνο 1, οπότε χρησιμοποίησα ένα παλιό καλώδιο ήχου DVD για τον υπολογιστή και αυτό το επιπλέον καλώδιο f2f για τον πείρο του ελεγκτή ρελέ.

Σημείωση: Η τρύπα πάνω από τη θήκη μου με βατόμουρο ήταν λίγο μικρότερη από το συνηθισμένο, οπότε έπρεπε να χρησιμοποιήσω ένα τρυπάνι για να το κάνω λίγο πιο φαρδύ. Maybeσως θα πρέπει να πάρετε μια θήκη με έναν ανεμιστήρα 5v που είναι ήδη προσαρτημένος σε αυτό, εάν δεν είστε σίγουροι για το μέγεθος του στη θήκη σας.

Βήμα 2: Το κύκλωμα - συνέλευση

Το Κύκλωμα - Συνέλευση
Το Κύκλωμα - Συνέλευση
Το Κύκλωμα - Συνέλευση
Το Κύκλωμα - Συνέλευση
Το Κύκλωμα - Συνέλευση
Το Κύκλωμα - Συνέλευση
Το Κύκλωμα - Συνέλευση
Το Κύκλωμα - Συνέλευση

Όπως μπορείτε να δείτε από την παραπάνω εικόνα, χρησιμοποιώ τις καρφίτσες 2, 6, 12, οι οποίες είναι όλες ίδιες για κάθε τύπο raspberry pi που μπορεί να έχετε, οπότε δεν χρειάζεται να ανησυχείτε για το γεγονός ότι χρησιμοποιώ Pi Μοντέλο Β rev2.

Συνδέστε τα καλώδια με τον ίδιο τρόπο που το κάνω.- Το 5v (pin2) πηγαίνει στο VCC- Το GND (pin6) στο GND- Το GPIO18 (pin2) πηγαίνει στο IN1 Βεβαιωθείτε ότι ο βραχυκυκλωτήρας στο ρελέ σας έχει οριστεί ως: JCC-VCC VCC.

Τώρα στο ρελέ … Το setup μου είναι λίγο περίεργο, το ξέρω. Δεν ήθελα να χρησιμοποιήσω εξωτερική πηγή τροφοδοσίας για να ξεκινήσω τον ανεμιστήρα, οπότε το έβαλα κάπως και στο pi. Θα πρέπει να κάνετε μια μικρή τομή τόσο στο καλώδιο 5v όσο και στο GND που προέρχεται από το pi για να συνδέσετε τα καλώδια του ανεμιστήρα με τον ίδιο τρόπο που το κάνω. Μπορείτε να χρησιμοποιήσετε ένα συγκολλητικό σίδερο και κάποια ταινία όπως εγώ. Δεν νομίζω ότι υπάρχει λόγος ανησυχίας για το τούβλο του pi σας, επειδή μόνο το καλώδιο γείωσης συνδέεται άμεσα με το pi. Αν δείτε προσεκτικά την εικόνα, ο διακόπτης ρελέ είναι συνδεδεμένος στο καλώδιο τροφοδοσίας, δηλαδή όταν ο ανεμιστήρας είναι απενεργοποιημένος, η άμεση σύνδεση με το pi είναι επίσης «ανοιχτή». Έτσι, κάθε ηλεκτρικό ρεύμα που μπορεί να παράγει ο ανεμιστήρας όταν σβήνει, δεν θα έχει τρόπο να επιστρέψει πίσω στο pi. Ο λόγος για τον οποίο χρησιμοποιώ αυτές τις πύλες στο ρελέ, είναι επειδή το ρελέ έχει ένα μικρό led πάνω του. Wantedθελα να δω το κόκκινο φως όταν ο ανεμιστήρας είναι ενεργοποιημένος, οπότε ξέρω πότε ψύχεται το pi. Αν θέλετε, μπορείτε να χρησιμοποιήσετε τις άλλες πύλες για να συμβεί το αντίστροφο. Αλλά πιθανότατα θα χρειαστεί να αντιστρέψετε τις εντολές GPIO στο σενάριο python (σε συναρτήσεις fanON fan OFF εμφανίζεται στο επόμενο βήμα) για να λειτουργήσει… Θα καταλάβετε τι εννοώ όταν φτάσουμε σε αυτό.

Βήμα 3: Το σενάριο

Το σενάριο
Το σενάριο
Το σενάριο
Το σενάριο

Τώρα μην τρομάζετε για το σενάριο … Την περασμένη εβδομάδα δεν ήξερα την python και όμως κατάφερα να γράψω αυτό το σενάριο διαβάζοντας και δοκιμάζοντας διάφορα παραδείγματα εκεί έξω. Γνωρίζω άλλες γλώσσες προγραμματισμού αν και μην ανησυχείτε, δεν θα ανατινάξω το pi σας. Εάν χρησιμοποίησα (που πιθανότατα έκανα) κάποιες λειτουργίες που έγραψε κάποιος άλλος, ζητώ συγγνώμη για τις πιστώσεις που δεν δόθηκαν, αλλά έχω τροποποιήσει αυτό το σενάριο έτσι πολύ, είναι βασικά καινούργιο.

Οδηγίες

1) Κατεβάστε το συνημμένο αρχείο ή απλώς αντιγράψτε το/επικολλήστε το από το pastebin εδώ και ονομάστε το fan.py

2) Τοποθετήστε το σενάριο fan.py στο/home/pi/φάκελο

3) Εκτέλεση: sudo chmod +x /home/pi/fan.py και sudo chown pi: pi /home/pi/fan.py

4) Υποθέτοντας ότι έχετε εγκαταστήσει το crontab στο pi σας εκτελέστε: crontab -e

5) Στο κάτω μέρος αντιγράψτε /επικολλήστε: 5 * * * * sudo python /home/pi/fan.py και αποθηκεύστε το αρχείο. (Ctrl+X και Y)

Αυτό το crontab θα εκτελεί το σενάριο κάθε 1h5m. Το σενάριο θα λειτουργεί και ως αυτόνομο σενάριο… σημαίνει ότι εκτός από την αυτόματη δράση crontab, μπορείτε να ενεργοποιήσετε/απενεργοποιήσετε μόνοι σας τον ανεμιστήρα. Το κάνετε αυτό χρησιμοποιώντας παραμέτρους όπως:

  • sudo python /home/pi/fan.py σε ή
  • sudo python /home/pi/fan.py off

Έγραψα επίσης μια λειτουργία failsafe σε περίπτωση που πατήσετε Ctrl+C ενώ εκτελείται το σενάριο. Εάν το κάνετε, ο ανεμιστήρας θα κλείσει πριν την έξοδο του σεναρίου.

Λοιπόν, πώς λειτουργεί αυτό;

Κάθε ώρα το σενάριο εκτελεί και ελέγχει τη θερμοκρασία του pi. Εάν η θερμοκρασία είναι πάνω από μια τιμή Χ, ο ανεμιστήρας θα ανάψει και θα παραμείνει αναμμένος μέχρι να κρυώσει σε μια τιμή Υ. Όταν συμβεί, το σενάριο θα βγει. Εάν για κάποιο λόγο δεν φτάσει ποτέ σε αυτή τη χαμηλή θερμοκρασία και περάσει μια ώρα, την επόμενη φορά που θα εκτελεστεί το σενάριο θα "δει" ότι ο ανεμιστήρας είναι ακόμα ενεργοποιημένος και το δεύτερο σενάριο θα τερματιστεί … οπότε χρησιμοποιήστε ρεαλιστικές τιμές θερμοκρασίας αν θέλετε ο ανεμιστήρας να πραγματικά ενεργοποιήστε/απενεργοποιήστε. Εάν όχι, απλώς ορίστε μερικές γελοίες τιμές (όπως Y = 0 βαθμοί Κελσίου), έτσι ώστε ο ανεμιστήρας να παραμένει πάντα αναμμένος.) Εάν το pi σας λειτουργεί μεταξύ αυτών των 2 τιμών (X, Y), σημαίνει ότι λειτουργεί σε «αποδεκτές» θερμοκρασίες, οπότε το σενάριο θα βγει μόλις ελέγξει τη θερμοκρασία κάθε ώρα.

Εξηγώντας κάποιες τιμές

Στην κορυφή του σεναρίου υπάρχουν κάποιες καθολικές μεταβλητές. Υπάρχουν οι μεταβλητές που πρέπει να αλλάξετε.

# Προσδιορίστε ποια ακίδα ελέγχει το ρελέFAN_PIN = 18 # το κίτρινο πλαίσιο πχ: GPIO18 # Έλεγχος θερμοκρασίας. Εκκινήστε τον ανεμιστήρα εάν θερμοκρασία> 49C FAN_START = 49 # Έλεγχος θερμοκρασίας. Κλείστε κάτω από 28C FAN_END = 28

Είναι προφανές τι να κάνουμε εδώ. Εάν χρησιμοποιήσατε το GPIO18 όπως εγώ, τότε αφήστε το 18 εδώ, διαφορετικά αλλάξτε αυτήν την τιμή στο gpio που χρησιμοποιήσατε. Οι FAN_START και FAN_END είναι οι υψηλές/χαμηλές θερμοκρασίες που θέλετε να χρησιμοποιήσετε. Μπορείτε ακόμη να βάλετε αριθμούς float εκεί αν θέλετε, όπως 49.2

Σημείωση:

Θυμάστε τον τρόπο ρύθμισης του ρελέ μου; Αν δείτε λειτουργίες fanON και fanOFF θα παρατηρήσετε ότι ρυθμίζω την έξοδο gpio σε False για να ενεργοποιήσετε τον ανεμιστήρα και True για να τον απενεργοποιήσετε. Εάν επιλέξετε άλλη διαμόρφωση πύλης στο ρελέ, πιθανότατα θα χρειαστεί να αντιστρέψετε αυτές τις τιμές.

Βήμα 4: Τελικές σημειώσεις

Τελικές σημειώσεις
Τελικές σημειώσεις

Ζητώ συγγνώμη για τις αναλυτικές οδηγίες. Iθελα να καλύψω όλους τους τύπους χρηστών. Πιθανώς υπάρχει καλύτερος τρόπος για να γίνουν όλα αυτά, αλλά έκανα ό, τι καλύτερο μπορούσα με τα υλικά στο χέρι και με τη θλίψη μου στο κύκλωμα και τον πύθωνα.

Ένας μικρός κωδικός μπόνους

Εάν θέλετε έναν γρήγορο τρόπο για να ελέγξετε τη θερμοκρασία του pi σας, δημιουργήστε ένα αρχείο που ονομάζεται temp στο φάκελο/usr/local/bin και, στη συνέχεια, αντιγράψτε το επικολλήστε αυτό το σενάριο μέσα:

pastebin.com/rUYqGjV5

Εκτέλεση: chmod +x/usr/local/bin/temp για να είναι εκτελέσιμο.

Στη συνέχεια, απλώς πληκτρολογήστε temp από οποιονδήποτε φάκελο θέλετε για να δείτε τη θερμοκρασία του pi σας.

Συνιστάται: