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

Υψόμετρο, Πίεση και Θερμοκρασία Χρήση Raspberry Pi Με MPL3115A2: 6 Βήματα
Υψόμετρο, Πίεση και Θερμοκρασία Χρήση Raspberry Pi Με MPL3115A2: 6 Βήματα

Βίντεο: Υψόμετρο, Πίεση και Θερμοκρασία Χρήση Raspberry Pi Με MPL3115A2: 6 Βήματα

Βίντεο: Υψόμετρο, Πίεση και Θερμοκρασία Χρήση Raspberry Pi Με MPL3115A2: 6 Βήματα
Βίντεο: Ατμοσφαιρική πίεση με arduino (toricelli) 2024, Ιούλιος
Anonim
Υψόμετρο, Πίεση και Θερμοκρασία χρησιμοποιώντας Raspberry Pi Με MPL3115A2
Υψόμετρο, Πίεση και Θερμοκρασία χρησιμοποιώντας Raspberry Pi Με MPL3115A2
Υψόμετρο, πίεση και θερμοκρασία χρησιμοποιώντας το Raspberry Pi με MPL3115A2
Υψόμετρο, πίεση και θερμοκρασία χρησιμοποιώντας το Raspberry Pi με MPL3115A2

Ακούγεται ενδιαφέρον. Είναι πολύ πιθανό αυτή τη στιγμή που όλοι μπαίνουμε σε γενιά 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

Προγραμματισμός Raspberry Pi σε Python
Προγραμματισμός 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, το οποίο μπορεί να σας βοηθήσει στην εξερεύνησή σας. Ελπίζω αυτό το έργο να εμπνεύσει περαιτέρω πειραματισμούς.

Συνιστάται: