Πίνακας περιεχομένων:
- Βήμα 1: Υποχρεωτικός εξοπλισμός που χρειαζόμαστε
- Βήμα 2: Συνδέσεις υλικού για να συνδυάσετε το κύκλωμα
- Βήμα 3: Προγραμματισμός Raspberry Pi σε Python
- Βήμα 4: Η πρακτικότητα του κώδικα (δοκιμή)
- Βήμα 5: Εφαρμογές και δυνατότητες
- Βήμα 6: Συμπέρασμα
Βίντεο: Υψόμετρο, Πίεση και Θερμοκρασία Χρήση Raspberry Pi Με MPL3115A2: 6 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Ακούγεται ενδιαφέρον. Είναι πολύ πιθανό αυτή τη στιγμή που όλοι μπαίνουμε σε γενιά IoT. Ως ηλεκτρονικό φρικιό, παίζαμε με το Raspberry Pi και αποφασίσαμε να κάνουμε ενδιαφέροντα έργα χρησιμοποιώντας αυτή τη γνώση. Σε αυτό το έργο, θα μετρήσουμε υψόμετρο, πίεση αέρα, θερμοκρασία χρησιμοποιώντας το Raspberry Pi. Ακολουθεί λοιπόν η τεκμηρίωση (πάντα τροποποιείται και επεκτείνεται). Συνιστούμε να ξεκινήσετε ακολουθώντας τις οδηγίες και αντιγράψτε τον κώδικα. Μπορείτε να πειραματιστείτε αργότερα. Ας ξεκινήσουμε λοιπόν.
Βήμα 1: Υποχρεωτικός εξοπλισμός που χρειαζόμαστε
1. Raspberry Pi
Το πρώτο βήμα ήταν η απόκτηση ενός πίνακα Raspberry Pi. Αγοράσαμε το δικό μας και εσείς μπορείτε. Ξεκινήσαμε να μαθαίνουμε από τα σεμινάρια, κατανοήσαμε τις έννοιες σεναρίου και σύνδεσης και μάθαμε στη συνέχεια. Αυτή η μικρή ιδιοφυΐα είναι κοινή για τους χομπίστες, τους δασκάλους και τη δημιουργία καινοτόμων περιβαλλόντων.
2. I²C Shield για το Raspberry Pi
Ο INPI2 (προσαρμογέας I2C) παρέχει στο Raspberry Pi 2/3 μια θύρα I²C για χρήση με πολλές συσκευές I2C. Είναι διαθέσιμο στο Dcube Store
3. Υψόμετρο, Αισθητήρας πίεσης και θερμοκρασίας, MPL3115A2
Το MPL3115A2 είναι ένας αισθητήρας πίεσης MEMS με διεπαφή I²C για να παρέχει δεδομένα πίεσης/υψομέτρου και θερμοκρασίας. Αυτός ο αισθητήρας χρησιμοποιεί το πρωτόκολλο I²C για επικοινωνία. Αγοράσαμε αυτόν τον αισθητήρα από το Dcube Store
4. Καλώδιο σύνδεσης
Είχαμε το καλώδιο σύνδεσης I2C διαθέσιμο στο Dcube Store
5. Καλώδιο Micro USB
Το καλώδιο micro USB Το τροφοδοτικό είναι μια ιδανική επιλογή για την τροφοδοσία του Raspberry Pi.
6 Βελτίωση πρόσβασης στο Διαδίκτυο - Καλώδιο Ethernet/Προσαρμογέας WiFi
Σε αυτήν την εποχή, η απόκτηση πρόσβασης σε οτιδήποτε χρειάζεται σύνδεση στο Διαδίκτυο (σχεδόν όπως και η ζωή εκτός σύνδεσης). Ακολουθούμε λοιπόν τη συμβουλή ενός καλωδίου LAN ή ενός ασύρματου προσαρμογέα USB Nano (WiFi) για να δημιουργήσουμε τη σύνδεση στο διαδίκτυο, ώστε να μπορούμε να χρησιμοποιούμε το Rasp Pi μας με ευκολία και χωρίς κανένα απολύτως πρόβλημα.
7. Καλώδιο HDMI (προαιρετικό, η επιλογή σας)
Είναι λίγο δύσκολο. Μπορείτε να έχετε τη δύναμη να συνδέσετε μια άλλη οθόνη σε περίπτωση που θέλετε ή είναι πολύ οικονομικά αποδοτική για τον εαυτό σας κάνοντας μια ακέφαλη σύνδεση Pi με τον υπολογιστή/φορητό υπολογιστή σας.
Βήμα 2: Συνδέσεις υλικού για να συνδυάσετε το κύκλωμα
Κάντε το κύκλωμα σύμφωνα με το σχηματικό σχήμα. Γενικά, οι συνδέσεις είναι πολύ απλές. Ακολουθήστε τις οδηγίες και τις εικόνες και δεν θα έχετε κανένα πρόβλημα.
Ενώ σχεδιάζαμε, εξετάσαμε το υλικό και την κωδικοποίηση καθώς και τα βασικά των ηλεκτρονικών. Θέλαμε να σχεδιάσουμε ένα απλό ηλεκτρονικό σχήμα για αυτό το έργο. Στο διάγραμμα, μπορείτε να παρατηρήσετε τα διαφορετικά μέρη, τα εξαρτήματα ισχύος και τον αισθητήρα I²C που ακολουθούν τα πρωτόκολλα επικοινωνίας I²C. Ας ελπίσουμε ότι αυτό δείχνει πόσο απλά είναι τα ηλεκτρονικά για αυτό το έργο.
Σύνδεση Raspberry Pi και I2C Shield
Πρώτα απ 'όλα πάρτε το Raspberry Pi και τοποθετήστε το I²C Shield σε αυτό. Πιέστε απαλά την ασπίδα (δείτε την εικόνα).
Σύνδεση αισθητήρα και Raspberry Pi
Πάρτε τον αισθητήρα και συνδέστε το καλώδιο I²C με αυτόν. Βεβαιωθείτε ότι η έξοδος I²C συνδέεται ΠΑΝΤΑ με την είσοδο I²C. Το ίδιο θα ακολουθήσει το Raspberry Pi με την ασπίδα I²C τοποθετημένη πάνω του. Έχουμε την I²C Shield και τα καλώδια σύνδεσης I²C από την πλευρά μας ως ένα πολύ μεγάλο πλεονέκτημα, καθώς μας μένει μόνο η επιλογή plug and play. Δεν υπάρχουν πείροι και πρόβλημα καλωδίωσης και ως εκ τούτου, η σύγχυση έχει φύγει. Τι ανακούφιση απλώς να φανταστείτε τον εαυτό σας στον ιστό των καλωδίων και να μπείτε σε αυτό. Απλά η απλή διαδικασία που αναφέραμε.
Σημείωση: Το καφέ σύρμα πρέπει πάντα να ακολουθεί τη σύνδεση Ground (GND) μεταξύ της εξόδου μιας συσκευής και της εισόδου μιας άλλης συσκευής
Η συνδεσιμότητα στο Διαδίκτυο είναι ζωτικής σημασίας
Στην πραγματικότητα έχετε μια επιλογή εδώ. Μπορείτε να συνδέσετε το Raspberry Pi με το καλώδιο LAN ή τον ασύρματο προσαρμογέα Nano USB για συνδεσιμότητα WiFi. Ούτως ή άλλως, έκανε τον κύριο στόχο που ήταν να συνδεθεί στο διαδίκτυο.
Τροφοδοσία του κυκλώματος
Συνδέστε το καλώδιο Micro USB στην υποδοχή τροφοδοσίας του Raspberry Pi. Άναψε το και είμαστε έτοιμοι.
Σύνδεση στην οθόνη
Μπορούμε είτε να συνδέσουμε το καλώδιο HDMI σε μια νέα οθόνη είτε να κάνουμε το ακέφαλο Pi μας, το οποίο είναι δημιουργικό και οικονομικά αποδοτικό χρησιμοποιώντας απομακρυσμένη πρόσβαση όπως-SSH/PuTTY. (Ξέρω ότι δεν χρηματοδοτούμε σαν μυστικός οργανισμός)
Βήμα 3: Προγραμματισμός Raspberry Pi σε Python
Ο κώδικας Python για τον αισθητήρα Raspberry Pi και MPL3115A2. Είναι διαθέσιμο στο αποθετήριο Github.
Πριν προχωρήσετε στον κώδικα, βεβαιωθείτε ότι έχετε διαβάσει τις οδηγίες που δίνονται στο αρχείο Readme και ρυθμίστε το Raspberry Pi σύμφωνα με αυτό. Θα χρειαστεί μόνο μια στιγμή για να γίνει αυτό.
Το υψόμετρο υπολογίζεται από την πίεση χρησιμοποιώντας την παρακάτω εξίσωση:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Τιμή καταχώρισης)
Όπου p0 = πίεση στάθμης θάλασσας (101326 Pa) και h είναι σε μέτρα. Το MPL3115A2 χρησιμοποιεί αυτήν την τιμή, επειδή ο καταχωρητής μετατόπισης ορίζεται ως 2 Pascals ανά LSB.
Ο κώδικας είναι σαφώς μπροστά σας και είναι στην πιο απλή μορφή που μπορείτε να φανταστείτε και δεν πρέπει να έχετε κανένα πρόβλημα.
Μπορείτε επίσης να αντιγράψετε τον κωδικό Python που λειτουργεί για αυτόν τον αισθητήρα από εδώ.
# Διανέμεται με άδεια ελεύθερης βούλησης.# Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοσκοπικό ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του. # MPL3115A2 # Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module MPL3115A2_I2CS I2C που διατίθεται από το ControlEverything.com. #
εισαγωγή smbus
χρόνο εισαγωγής
# Πάρτε το λεωφορείο I2C
bus = smbus. SMBus (1)
# Διεύθυνση MPL3115A2, 0x60 (96)
# Επιλογή καταχωρητή ελέγχου, 0x26 (38) # 0xB9 (185) Ενεργή λειτουργία, OSR = 128, Λεωφορείο λειτουργίας Altimeter.write_byte_data (0x60, 0x26, 0xB9) # διεύθυνση MPL3115A2, 0x60 (96) # Επιλογή καταχωρητή διαμόρφωσης δεδομένων, 0x13 (19) # 0x07 (07) Ενεργό συμβάν δεδομένων έτοιμο για υψόμετρο, πίεση, θερμοκρασία bus.write_byte_data (0x60, 0x13, 0x07) # διεύθυνση MPL3115A2, 0x60 (96) # Επιλογή καταχωρητή ελέγχου, 0x26 (38) # 0xB9 (185) Ενεργή λειτουργία, OSR = 128, bus bus mode.write_byte_data (0x60, 0x26, 0xB9)
ώρα. ύπνος (1)
# Διεύθυνση MPL3115A2, 0x60 (96)
# Ανάγνωση δεδομένων από 0x00 (00), 6 byte # κατάσταση, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Μετατρέψτε τα δεδομένα σε 20-bit
tHeight = ((δεδομένα [1] * 65536) + (δεδομένα [2] * 256) + (δεδομένα [3] & 0xF0)) / 16 temp = ((δεδομένα [4] * 256) + (δεδομένα [5] & 0xF0)) / 16 υψόμετρο = tΥψος / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32
# Διεύθυνση MPL3115A2, 0x60 (96)
# Επιλέξτε μητρώο ελέγχου, 0x26 (38) # 0x39 (57) Ενεργή λειτουργία, OSR = 128, bus bus mode.write_byte_data (0x60, 0x26, 0x39)
ώρα. ύπνος (1)
# Διεύθυνση MPL3115A2, 0x60 (96)
# Ανάγνωση δεδομένων από 0x00 (00), 4 bytes # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Μετατρέψτε τα δεδομένα σε 20-bit
pres = ((δεδομένα [1] * 65536) + (δεδομένα [2] * 256) + (δεδομένα [3] & 0xF0)) / 16 πίεση = (pres / 4.0) / 1000.0
# Έξοδος δεδομένων στην οθόνη
εκτύπωση "Πίεση: %.2f kPa" %εκτύπωση υπό πίεση "Υψόμετρο: %.2f m" %υψόμετρο εκτύπωσης "Θερμοκρασία σε Κελσίου: %.2f C" %cTemp εκτύπωση "Θερμοκρασία σε Φαρενάιτ: %.2f F" %fTemp
Βήμα 4: Η πρακτικότητα του κώδικα (δοκιμή)
Τώρα, κάντε λήψη (ή git pull) τον κώδικα και ανοίξτε τον στο Raspberry Pi.
Εκτελέστε τις εντολές για να μεταγλωττίσετε και να ανεβάσετε τον κώδικα στο τερματικό και να δείτε την έξοδο στην οθόνη. Μετά από λίγα δευτερόλεπτα, θα εμφανίσει όλες τις παραμέτρους. Αφού βεβαιωθείτε ότι όλα λειτουργούν ομαλά, μπορείτε να μεταφέρετε αυτό το έργο σε ένα μεγαλύτερο έργο.
Βήμα 5: Εφαρμογές και δυνατότητες
Η κοινή χρήση του αισθητήρα MPL3115A2 Precision Altimeter I²C είναι σε εφαρμογές όπως Map (Map Assist, Navigation), Magnetic Compass, Or GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), High Accuracy Altimetry, Smartphones/Tablets, Personal Electronics Altimetry και Δορυφόροι (Εξοπλισμός Μετεωρολογικού Σταθμού/Πρόβλεψη).
Για π.χ. ένα έργο για την κατασκευή Personal Electronics Altimeter που μετρά υψόμετρο, πίεση αέρα, θερμοκρασία χρησιμοποιώντας το Raspberry Pi. Το Personal Electronics Altimeter είναι συνολικά ένα αρκετά γρήγορο έργο για κατασκευή. Θα χρειαστούν μόνο μερικές στιγμές αν έχετε όλα τα μέρη και δεν αυτοσχεδιάζετε (φυσικά μπορείτε!). Το υψόμετρο πίεσης είναι ένα υψόμετρο που βρίσκεται στα περισσότερα αεροσκάφη και οι αλεξιπτωτιστές χρησιμοποιούν εκδόσεις με βάση τον καρπό για παρόμοιους σκοπούς. Οι πεζοπόροι και οι ορειβάτες χρησιμοποιούν υψόμετρα προσαρμοσμένα στον καρπό ή χειρός.
Βήμα 6: Συμπέρασμα
Ελπίζω αυτό το έργο να εμπνεύσει περαιτέρω πειραματισμούς. Αυτός ο αισθητήρας I²C είναι απίστευτα ευέλικτος, φθηνός και προσβάσιμος. Δεδομένου ότι είναι ένα εξαιρετικά μεταβλητό πρόγραμμα, υπάρχουν ενδιαφέροντες τρόποι με τους οποίους μπορείτε να επεκτείνετε αυτό το έργο και να το κάνετε ακόμα καλύτερο. Για παράδειγμα, το υψόμετρο είναι ένα προαιρετικό όργανο σε οχήματα εκτός δρόμου για βοήθεια στην πλοήγηση. Ορισμένα πολυτελή αυτοκίνητα υψηλής απόδοσης που δεν προορίζονταν ποτέ να αφήσουν πλακόστρωτους δρόμους, χρησιμοποιούν αυτήν την τεχνολογία. Για την καλύτερη εξυπηρέτησή σας, έχουμε ένα ενδιαφέρον σεμινάριο βίντεο στο YouTube, το οποίο μπορεί να σας βοηθήσει στην εξερεύνησή σας. Ελπίζω αυτό το έργο να εμπνεύσει περαιτέρω πειραματισμούς.
Συνιστάται:
M5STACK Πώς να εμφανίσετε τη θερμοκρασία, την υγρασία και την πίεση στο M5StickC ESP32 χρησιμοποιώντας το Visuino - Εύκολο να το κάνετε: 6 βήματα
M5STACK Πώς να εμφανίζεται η θερμοκρασία, η υγρασία και η πίεση στο M5StickC ESP32 χρησιμοποιώντας Visuino - Εύκολο να το κάνετε: Σε αυτό το σεμινάριο θα μάθουμε πώς να προγραμματίζουμε το ESP32 M5Stack StickC με Arduino IDE και Visuino για την εμφάνιση θερμοκρασίας, υγρασίας και πίεσης χρησιμοποιώντας αισθητήρα ENV (DHT12, BMP280, BMM150)
Υψόμετρο (υψόμετρο) Με βάση την ατμοσφαιρική πίεση: 7 βήματα (με εικόνες)
Υψόμετρο (υψόμετρο) Με βάση την ατμοσφαιρική πίεση: [Επεξεργασία]; Δείτε την έκδοση 2 στο βήμα 6 με χειροκίνητη βασική εισαγωγή υψομέτρου. Αυτή είναι η περιγραφή του κτιρίου ενός υψομέτρου (υψόμετρο) που βασίζεται σε Arduino Nano και αισθητήρα ατμοσφαιρικής πίεσης Bosch BMP180. Ο σχεδιασμός είναι απλός αλλά οι μετρήσεις
Μετεωρολογικός σταθμός Arduino χρησιμοποιώντας BMP280 -DHT11 - Θερμοκρασία, υγρασία και πίεση: 8 βήματα
Μετεωρολογικός Σταθμός Arduino χρησιμοποιώντας BMP280 -DHT11 - Θερμοκρασία, Υγρασία και Πίεση: Σε αυτό το σεμινάριο θα μάθουμε πώς να φτιάχνουμε έναν μετεωρολογικό σταθμό που θα εμφανίζει ΘΕΡΜΟΚΡΑΣΙΑ, ΥΓΡΑΣΙΑ ΚΑΙ ΠΙΕΣΗ στην Οθόνη LCD TFT 7735Δείτε ένα βίντεο επίδειξης
Χρήση Raspberry Pi, μετρήστε υψόμετρο, πίεση και θερμοκρασία με MPL3115A2: 6 βήματα
Χρησιμοποιώντας το Raspberry Pi, μετρήστε το υψόμετρο, την πίεση και τη θερμοκρασία με το MPL3115A2: Μάθετε τι σας ανήκει και μάθετε γιατί το έχετε! Είναι ενδιαφέρον. Ζούμε στην εποχή του αυτοματισμού στο Διαδίκτυο καθώς βυθίζεται σε μια πληθώρα νέων εφαρμογών. Ως λάτρεις των υπολογιστών και των ηλεκτρονικών, μάθαμε πολλά με το Raspberry Pi a
IoT Made Easy: Λήψη απομακρυσμένων δεδομένων καιρού: UV και θερμοκρασία Θερμοκρασία & υγρασία: 7 βήματα
IoT Made Easy: Καταγραφή απομακρυσμένων δεδομένων καιρού: UV και θερμοκρασία και υγρασία αέρα: Σε αυτό το σεμινάριο, θα καταγράψουμε απομακρυσμένα δεδομένα ως UV (υπεριώδη ακτινοβολία), θερμοκρασία αέρα και υγρασία. Αυτά τα δεδομένα θα είναι πολύ σημαντικά και θα χρησιμοποιηθούν σε έναν μελλοντικό πλήρη Μετεωρολογικό Σταθμό. Το μπλοκ διάγραμμα δείχνει τι θα πάρουμε στο τέλος