Δημιουργήστε μια οθόνη παρακολούθησης θερμοκρασίας Raspberry Pi χρησιμοποιώντας ένα Sense HAT και εμφανίστε τακτικές μετρήσεις στη μήτρα LED του.
Υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να παρακολουθείτε τη θερμοκρασία περιβάλλοντος χρησιμοποιώντας έναν υπολογιστή μονής πλακέτας Raspberry Pi, ίσως ως μέρος μιας εγκατάστασης μετεωρολογικού σταθμού. Ενώ θα μπορούσατε να χρησιμοποιήσετε έναν εξωτερικό αισθητήρα συνδεδεμένο με τις ακίδες GPIO του Raspberry Pi, εδώ θα εξηγήσουμε πώς να παρακολουθείτε τη θερμοκρασία με ένα Raspberry Pi εξοπλισμένο με Sense HAT.
Τι είναι το Sense HAT;
Ένας αξιωματούχος ΚΑΠΕΛΟ Raspberry Pi Η πρόσθετη κάρτα (Hardware Attached on Top) που σχεδιάστηκε και παρήχθη από την εταιρεία Raspberry Pi, το Sense HAT δημιουργήθηκε αρχικά για να χρησιμοποιηθεί από αστροναύτες στον Διεθνή Διαστημικό Σταθμό. Από το 2015, δύο υπολογιστές Raspberry Pi εξοπλισμένοι με Sense HAT έχουν χρησιμοποιηθεί σε επιστημονικά πειράματα που σχεδιάστηκαν από μαθητές που μπήκαν στο συνεχιζόμενο
Astro Pi πρόκληση Αυτές οι δύο μονάδες έχουν αντικατασταθεί από αναβαθμισμένες εκδόσεις που βασίζονται σε Raspberry Pi 4 και είναι εξοπλισμένες με κάμερα υψηλής ποιότητας.Αν και δεν διαθέτει την ειδική ασημένια θήκη που έχει σχεδιαστεί για χρήση στο χώρο, η τυπική πλακέτα Sense HAT έχει ακριβώς την ίδια λειτουργικότητα. Συμβατό με οποιοδήποτε Μοντέλο Raspberry Pi με κεφαλίδα GPIO 40 ακίδων, διαθέτει μια σειρά από ενσωματωμένους αισθητήρες που του επιτρέπουν να παρακολουθεί το περιβάλλον και να ανιχνεύει τον δικό του προσανατολισμό και κίνηση. Επιπλέον, διαθέτει μήτρα LED 8x8 RGB για εμφάνιση κειμένου, δεδομένων και εικόνων. Υπάρχει επίσης ένα μίνι joystick πέντε κατευθύνσεων.
Η πλήρης σειρά των αισθητηριακών λειτουργιών Sense HAT έχει ως εξής:
- Υγρασία: Αισθητήρας STMicro HTS221 με εύρος σχετικής υγρασίας 0 έως 100%, συν αισθητήρα θερμοκρασίας από 32°F έως 149°F (0°C έως 65°C ± 2°C).
- Βαρομετρική πίεση: Αισθητήρας STMicro LPS25HB με εύρος από 260 έως 1260 hPa, συν αισθητήρα θερμοκρασίας από 59°F έως 104°F (15°C έως 40°C ±0,5°C).
- Θερμοκρασία: Αυτό μπορεί να διαβαστεί από τον αισθητήρα υγρασίας ή πίεσης ή να μετρηθεί λαμβάνοντας έναν μέσο όρο και των δύο μετρήσεων.
- Γυροσκόπιο: Το STMicro LSM9DS1 IMU μπορεί να μετρήσει την περιστροφή του Sense HAT σε σχέση με την επιφάνεια της Γης (και πόσο γρήγορα περιστρέφεται).
- Επιταχυνσιόμετρο: Μια άλλη λειτουργία του IMU, αυτή μπορεί να μετρήσει τη δύναμη επιτάχυνσης σε πολλαπλές κατευθύνσεις.
- Μαγνητόμετρο: Ανιχνεύοντας το μαγνητικό πεδίο της Γης, το IMU μπορεί να καθορίσει την κατεύθυνση του μαγνητικού Βορρά και έτσι να δώσει μια ένδειξη πυξίδας.
Τώρα που έχετε καταλάβει τι μπορεί να κάνει αυτό το Raspberry Pi HAT πολλαπλών χρήσεων, ήρθε η ώρα να ξεκινήσετε με το έργο.
Βήμα 1: Τοποθετήστε το Sense HAT
Για να συνδέσετε το Sense HAT, βεβαιωθείτε πρώτα ότι το Raspberry Pi σας είναι απενεργοποιημένο και αποσυνδεδεμένο από το ρεύμα. Στη συνέχεια, σπρώξτε προσεκτικά το Sense HAT (με την παρεχόμενη μαύρη επέκταση κεφαλίδας) στην κεφαλίδα GPIO 40 ακίδων του Raspberry Pi, έτσι ώστε η πλακέτα Sense HAT να τοποθετηθεί πάνω από την πλακέτα Raspberry Pi. Βεβαιωθείτε ότι όλες οι ακίδες ευθυγραμμίζονται σωστά και ότι και οι δύο σειρές είναι συνδεδεμένες. Μπορείτε επίσης να χρησιμοποιήσετε βιδωτές βάσεις για να το ασφαλίσετε.
Μπορείτε να χρησιμοποιήσετε οποιοδήποτε τυπικό μοντέλο Raspberry Pi που έχει κεφαλίδα GPIO 40 ακίδων. Ενα από βασικοί περιορισμοί ενός Raspberry Pi 400, ωστόσο, είναι ότι η κεφαλίδα του GPIO βρίσκεται στο πίσω μέρος του ενσωματωμένου πληκτρολογίου. Αυτό σημαίνει ότι το Sense HAT θα είναι στραμμένο προς τα πίσω, επομένως μπορεί να θέλετε να χρησιμοποιήσετε ένα καλώδιο επέκτασης GPIO για να το συνδέσετε.
Βήμα 2: Ρυθμίστε το Raspberry Pi
Όπως με κάθε άλλο έργο, θα πρέπει να συνδέσετε ένα πληκτρολόγιο και ποντίκι USB και μετά συνδέστε το Raspberry Pi σε οθόνη ή τηλεόραση. Θα πρέπει επίσης να έχετε τοποθετήσει μια κάρτα microSD με το τυπικό λειτουργικό σύστημα Raspberry Pi - εάν δεν το έχετε κάνει ήδη, ρίξτε μια ματιά πώς να εγκαταστήσετε ένα λειτουργικό σύστημα σε ένα Raspberry Pi. Τότε είστε έτοιμοι να ενεργοποιήσετε το ρεύμα.
Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το Raspberry Pi με Sense HAT σε λειτουργία χωρίς κεφαλή, χωρίς συνδεδεμένη οθόνη και συνδεθείτε στο Raspberry Pi εξ αποστάσεως χρησιμοποιώντας SSH από άλλον υπολογιστή ή συσκευή. Εάν το κάνετε αυτό, δεν θα μπορείτε να χρησιμοποιήσετε το Thonny Python IDE, μπορείτε ακόμα να επεξεργάζεστε προγράμματα μέσω του νανο-επεξεργαστή κειμένου και να τα εκτελέσετε από τη γραμμή εντολών.
Το υλικολογισμικό Sense HAT θα πρέπει να εγκατασταθεί από προεπιλογή. Για διπλό έλεγχο, ανοίξτε ένα παράθυρο τερματικού και πληκτρολογήστε:
sudo apt install sense-hat
Στη συνέχεια, εάν το πακέτο έχει μόλις εγκατασταθεί, επανεκκινήστε το Raspberry Pi:
sudo reboot
Βήμα 3: Ξεκινήστε τον προγραμματισμό σε Python
Ενώ μπορείτε να χρησιμοποιήσετε το Raspberry Pi Sense HAT με τη γλώσσα προγραμματισμού που βασίζεται σε μπλοκ Scratch, θα χρησιμοποιήσουμε την Python για να διαβάσουμε και να εμφανίσουμε τις ενδείξεις του αισθητήρα.
Το Thonny IDE (ενσωματωμένο περιβάλλον ανάπτυξης) είναι ένας καλός τρόπος για να κάνετε προγραμματισμό Python σε ένα Raspberry Pi, καθώς έχει πολλές λειτουργίες, συμπεριλαμβανομένων χρήσιμων χαρακτηριστικών εντοπισμού σφαλμάτων. Στο γραφικό περιβάλλον εργασίας επιφάνειας εργασίας του Raspberry Pi OS, μεταβείτε στο Μενού (επάνω αριστερά εικονίδιο βατόμουρου) > Προγραμματισμός > Thonny IDE να το εκτοξεύσει.
Βήμα 4: Κάντε μέτρηση θερμοκρασίας
Στο κύριο παράθυρο του Thonny IDE, εισαγάγετε τις ακόλουθες γραμμές κώδικα:
from sense_hat import SenseHatsense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
Η πρώτη γραμμή εισάγει το SenseHat τάξη από το αίσθηση_καπέλο Βιβλιοθήκη Python (η οποία είναι προεγκατεστημένη στο Raspberry Pi OS). Αυτό στη συνέχεια ανατίθεται στο έννοια μεταβλητός. Η τρίτη γραμμή διαγράφει τη μήτρα LED του Sense HAT.
Στη συνέχεια λαμβάνουμε την ένδειξη θερμοκρασίας και την εκτυπώνουμε στην περιοχή Shell του Thonny IDE. Αυτό είναι σε βαθμούς Κελσίου, επομένως ίσως θελήσετε να το μετατρέψετε πρώτα σε Φαρενάιτ:
temp = (sense.get_temperature() * 1.8 + 32)
Η ένδειξη του αισθητήρα θερμοκρασίας θα έχει πολλά ψηφία μετά την υποδιαστολή. Οπότε θα χρησιμοποιήσουμε το γύρος συνάρτηση στρογγυλοποίησης σε ένα μόνο δεκαδικό ψηφίο:
temp = round(temp, 1)
ο sense.get_temperature() η λειτουργία διαβάζει τον ενσωματωμένο αισθητήρα θερμοκρασίας στον αισθητήρα υγρασίας. Εναλλακτικά, μπορείτε να μετρήσετε τη θερμοκρασία από τον αισθητήρα πίεσης με sense.get_temperature_from_pressure() ή ακόμα να λάβετε και τις δύο μετρήσεις και να υπολογίσετε έναν μέσο όρο (προσθέτοντάς τις και διαιρώντας με δύο).
Βήμα 5: Εμφάνιση της θερμοκρασίας στο Sense HAT
Η εκτύπωση μιας μεμονωμένης ένδειξης θερμοκρασίας στο κέλυφος της Python είναι λίγο βαρετή, οπότε ας κάνουμε μια νέα ένδειξη τακτικά και ας την εμφανίζουμε στη μήτρα RGB LED του Sense HAT. Για να εμφανίσουμε ένα κυλιόμενο μήνυμα κειμένου, χρησιμοποιούμε το show_message λειτουργία. Θα χρησιμοποιήσουμε επίσης α ενώ: Αλήθεια βρόχο για να συνεχίσετε να κάνετε μια νέα ανάγνωση κάθε 10 δευτερόλεπτα—για την οποία χρησιμοποιούμε το ύπνος λειτουργία από το χρόνος βιβλιοθήκη.
Ακολουθεί το πλήρες πρόγραμμα:
from sense_hat import SenseHat
from time import sleepsense = SenseHat()
sense.clear()
whileTrue:
temp = (sense.get_temperature() * 1.8 + 32)
temp = round(temp, 1)
message = "Temp: " + str(temp)
sense.show_message(message)
sleep (10)
Εκτελέστε αυτόν τον κωδικό και θα δείτε κάθε νέα ένδειξη θερμοκρασίας να κυλάει στη μήτρα LED. Δοκιμάστε να φυσήξετε το Sense HAT για να δείτε αν αλλάζει η θερμοκρασία.
Οι ενδείξεις θερμοκρασίας μπορεί να επηρεαστούν από τη θερμότητα που μεταφέρεται από την CPU του Raspberry Pi ακριβώς από κάτω, επομένως μπορεί να χρειαστεί μια προσαρμογή για να αποκτήσετε μια πιο ακριβή τιμή. Μια άλλη λύση είναι να χρησιμοποιήσετε μια κεφαλίδα στοίβαξης για να ανεβάσετε το Sense HAT ψηλότερα πάνω από το Raspberry Pi.
Χρησιμοποιήστε ένα Raspberry Pi για να παρακολουθείτε τη θερμοκρασία
Αν και θα μπορούσατε να χρησιμοποιήσετε έναν αυτόνομο αισθητήρα θερμοκρασίας για αυτό το έργο, το Sense HAT διευκολύνει την παρακολούθηση της θερμοκρασίας με το Raspberry Pi. Μπορείτε επίσης να το χρησιμοποιήσετε για να λάβετε μια σειρά από άλλες μετρήσεις αισθητήρων, όπως η βαρομετρική πίεση και η σχετική υγρασία, και να τις εμφανίσετε στο LED του μήτρα.