Πίνακας περιεχομένων:
- Βήμα 1: Απαραίτητος εξοπλισμός που χρειαζόμαστε
- Βήμα 2: Συνδέσεις υλικού για να συνδυάσετε το κύκλωμα
- Βήμα 3: Προγραμματισμός Raspberry Pi σε Java
- Βήμα 4: Η πρακτικότητα του κώδικα (εργασίας)
- Βήμα 5: Εφαρμογές και δυνατότητες
- Βήμα 6: Συμπέρασμα
Βίντεο: Χρήση Raspberry Pi, μετρήστε υψόμετρο, πίεση και θερμοκρασία με MPL3115A2: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Μάθετε τι σας ανήκει και ξέρετε γιατί το έχετε
Είναι ενδιαφέρουσα. Ζούμε στην εποχή του αυτοματισμού στο Διαδίκτυο καθώς βυθίζεται σε μια πληθώρα νέων εφαρμογών. Ως λάτρεις των υπολογιστών και των ηλεκτρονικών, μάθαμε πολλά με το Raspberry Pi και αποφασίσαμε να συνδυάσουμε τα ενδιαφέροντά μας. Αυτό το έργο διαρκεί περίπου μία ώρα εάν είστε νέοι σε συνδέσεις I²C και εγκατάσταση λογισμικού και είναι ένας πολύ καλός τρόπος για να επεκτείνετε τις δυνατότητες του MPL3115A2 με το Raspberry Pi στην Java.
Βήμα 1: Απαραίτητος εξοπλισμός που χρειαζόμαστε
1. Raspberry Pi
Το πρώτο βήμα ήταν η απόκτηση ενός πίνακα Raspberry Pi. Αυτή η μικρή ιδιοφυΐα χρησιμοποιείται από χομπίστες, δασκάλους και για τη δημιουργία καινοτόμων περιβαλλόντων.
2. I2C Shield για το Raspberry Pi
Ο INPI2 (προσαρμογέας I2C) παρέχει στο Raspberry Pi 2/3 μια θύρα I²C για χρήση με πολλές συσκευές I2C. Είναι διαθέσιμο στο Dcube Store.
3. Υψόμετρο, Αισθητήρας πίεσης και θερμοκρασίας, MPL3115A2
Το MPL3115A2 είναι ένας αισθητήρας πίεσης MEMS με διεπαφή I²C για να παρέχει δεδομένα πίεσης, υψομέτρου και θερμοκρασίας. Αυτός ο αισθητήρας χρησιμοποιεί το πρωτόκολλο I²2 για επικοινωνία. Αγοράσαμε αυτόν τον αισθητήρα από το Dcube Store.
4. Καλώδιο σύνδεσης
Χρησιμοποιήσαμε το καλώδιο σύνδεσης I²C που διατίθεται στο Dcube Store.
5. Καλώδιο Micro USB
Το Raspberry Pi τροφοδοτείται από τροφοδοσία micro USB.
6. Βελτίωση πρόσβασης στο Διαδίκτυο - Ethernet Cable/WiFi Module
Ένα από τα πρώτα πράγματα που θα θέλετε να κάνετε είναι να συνδέσετε το Raspberry Pi στο Διαδίκτυο. Μπορείτε να συνδεθείτε χρησιμοποιώντας καλώδιο Ethernet ή με προσαρμογέα ασύρματου USB Nano WiFi.
7. Καλώδιο HDMI (προαιρετικό, η επιλογή σας)
Μπορείτε να συνδέσετε το Raspberry Pi σε μια οθόνη χρησιμοποιώντας καλώδιο HDMI. Επίσης, μπορείτε να έχετε απομακρυσμένη πρόσβαση στο Raspberry Pi σας χρησιμοποιώντας SSH/PuTTY.
Βήμα 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. Σε αυτό, έχετε επιλογές όπως τη σύνδεση καλωδίου Ethernet (LAN). Επίσης, ως εναλλακτικός αλλά εντυπωσιακός τρόπος χρήσης προσαρμογέα WiFi.
Τροφοδοσία του κυκλώματος
Συνδέστε το καλώδιο Micro USB στην υποδοχή τροφοδοσίας του Raspberry Pi. Ενεργοποιήστε το και voila, είμαστε έτοιμοι!
Σύνδεση στην οθόνη
Μπορούμε είτε να έχουμε το καλώδιο HDMI συνδεδεμένο με μια οθόνη είτε να είμαστε λίγο πρωτοποριακοί για να φτιάξουμε το ακέφαλο Pi μας (χρησιμοποιώντας -SSH/PuTTY), κάτι που βοηθά στη μείωση του επιπλέον κόστους επειδή είμαστε κατά κάποιο τρόπο χομπίστες.
Όταν μια συνήθεια αρχίζει να κοστίζει, λέγεται χόμπι
Βήμα 3: Προγραμματισμός Raspberry Pi σε Java
Ο κώδικας Java για τον αισθητήρα 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. Ο κώδικας είναι σαφώς μπροστά σας και είναι στην πιο απλή μορφή που μπορείτε να φανταστείτε και δεν πρέπει να έχετε κανένα πρόβλημα.
Μπορείτε επίσης να αντιγράψετε τον λειτουργικό κώδικα Java για αυτόν τον αισθητήρα από εδώ.
// Διανέμεται με άδεια ελεύθερης βούλησης.// Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κέρδος ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του. // MPL3115A2 // Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module MPL3115A2_I2CS I2C που διατίθεται από το ControlEverything.com. //
εισαγωγή com.pi4j.io.i2c. I2CBus;
εισαγωγή com.pi4j.io.i2c. I2CDevice; εισαγωγή com.pi4j.io.i2c. I2CFactory? εισαγωγή java.io. IOException;
δημόσια τάξη MPL3115A2
{public static void main (String args ) ρίχνει Εξαίρεση {// Δημιουργία διαύλου I2C I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Λήψη συσκευής I2C, η διεύθυνση MPL3115A2 I2C είναι 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Επιλογή καταχωρητή ελέγχου // Ενεργή λειτουργία, OSR = 128, συσκευή υψομέτρου συσκευή. Εγγραφή (0x26, (byte) 0xB9); // Επιλογή καταχωρητή διαμόρφωσης δεδομένων // Γεγονός ετοιμότητας δεδομένων ενεργοποιημένο για υψόμετρο, πίεση, θερμοκρασία συσκευής. Εγγραφή (0x13, (byte) 0x07); // Επιλογή καταχωρητή ελέγχου // Ενεργή λειτουργία, OSR = 128, συσκευή υψομέτρου συσκευή. Εγγραφή (0x26, (byte) 0xB9); Thread.sleep (1000);
// Διαβάστε 6 byte δεδομένων από τη διεύθυνση 0x00 (00)
// κατάσταση, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = new byte [6]; device.read (0x00, δεδομένα, 0, 6);
// Μετατρέψτε τα δεδομένα σε 20-bit
int tHeight = ((((δεδομένα [1] & 0xFF) * 65536) + ((δεδομένα [2] & 0xFF) * 256) + (δεδομένα [3] & 0xF0)) / 16); int temp = ((δεδομένα [4] * 256) + (δεδομένα [5] & 0xF0)) / 16; διπλό υψόμετρο = tHightight / 16.0; διπλό cTemp = (temp / 16.0); διπλό fTemp = cTemp * 1,8 + 32;
// Επιλέξτε μητρώο ελέγχου
// Ενεργή λειτουργία, OSR = 128, συσκευή λειτουργίας βαρόμετρου. Εγγραφή (0x26, (byte) 0x39); Thread.sleep (1000); // Διαβάστε 4 byte δεδομένων από τη διεύθυνση 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4).
// Μετατρέψτε τα δεδομένα σε 20-bit
int pres = (((δεδομένα [1] & 0xFF) * 65536) + ((δεδομένα [2] & 0xFF) * 256) + (δεδομένα [3] & 0xF0)) / 16; διπλή πίεση = (pres / 4.0) / 1000.0; // Έξοδος δεδομένων στην οθόνη System.out.printf ("Πίεση: %.2f kPa %n", πίεση); System.out.printf ("Υψόμετρο: %.2f m %n", υψόμετρο); System.out.printf ("Θερμοκρασία σε Κελσίου: %.2f C %n", cTemp); System.out.printf ("Θερμοκρασία σε Φαρενάιτ: %.2f F %n", fTemp); }}
Βήμα 4: Η πρακτικότητα του κώδικα (εργασίας)
Τώρα, κάντε λήψη (ή git pull) τον κώδικα και ανοίξτε τον στο Raspberry Pi. Εκτελέστε τις εντολές για να μεταγλωττίσετε και να ανεβάσετε τον κώδικα στο τερματικό και να δείτε την έξοδο στην οθόνη. Μετά από λίγα δευτερόλεπτα, θα εμφανίσει όλες τις παραμέτρους. Αφού βεβαιωθείτε ότι όλα λειτουργούν ομαλά, μπορείτε να μεταφέρετε αυτό το έργο σε ένα μεγαλύτερο έργο.
Βήμα 5: Εφαρμογές και δυνατότητες
Η κοινή χρήση του αισθητήρα MPL3115A2 Precision Altimeter είναι σε εφαρμογές όπως Map (Map Assist, Navigation), Magnetic Compass, Or GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), High Accuracy Altimetry, Smartphones/Tablets, Personal Electronics Altimetry και Δορυφόροι (Εξοπλισμός Μετεωρολογικού Σταθμού/Πρόβλεψη).
Για π.χ. Χρησιμοποιώντας αυτόν τον αισθητήρα και το Rasp Pi, μπορείτε να δημιουργήσετε ένα Visηφιακό Οπτικό Υψόμετρο, το πιο σημαντικό κομμάτι εξοπλισμού αλεξιπτωτιστών, που μπορεί να μετρήσει υψόμετρο, πίεση αέρα και θερμοκρασία. Μπορείτε να προσθέσετε γάζα ανέμου και άλλους αισθητήρες, ώστε να κάνετε πιο ενδιαφέρουσα.
Βήμα 6: Συμπέρασμα
Δεδομένου ότι το πρόγραμμα είναι εκπληκτικά προσαρμόσιμο, υπάρχουν πολλοί ενδιαφέροντες τρόποι με τους οποίους μπορείτε να επεκτείνετε αυτό το έργο και να το κάνετε ακόμα καλύτερο. Για παράδειγμα, ένα υψόμετρο/παρεμβολόμετρο θα περιλάμβανε πολλά υψόμετρα τοποθετημένα σε ιστούς, τα οποία θα αποκτούσαν μετρήσεις ταυτόχρονα, παρέχοντας συνεχή κάλυψη ευρείας περιοχής ενός ή πολλών υψομέτρων. Έχουμε ένα ενδιαφέρον σεμινάριο βίντεο στο 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. Ο σχεδιασμός είναι απλός αλλά οι μετρήσεις
Υψόμετρο, Πίεση και Θερμοκρασία Χρήση Raspberry Pi Με MPL3115A2: 6 Βήματα
Υψόμετρο, Πίεση και Θερμοκρασία Χρήση Raspberry Pi Με MPL3115A2: Ακούγεται ενδιαφέρον. Είναι πολύ πιθανό αυτή τη στιγμή που όλοι μπαίνουμε σε γενιά IoT. Ως ηλεκτρονικό φρικιό, παίζαμε με το Raspberry Pi και αποφασίσαμε να κάνουμε ενδιαφέροντα έργα χρησιμοποιώντας αυτή τη γνώση. Σε αυτό το έργο, θα
Μετρήστε τη θερμοκρασία και την υγρασία χρησιμοποιώντας DHT11 / DHT22 και Arduino: 4 βήματα
Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας DHT11 / DHT22 και Arduino: Σε αυτό το σεμινάριο Arduino θα μάθουμε πώς να χρησιμοποιούμε τον αισθητήρα DHT11 ή τον αισθητήρα DHT22 για τη μέτρηση θερμοκρασίας και υγρασίας με την πλακέτα Arduino
Raspberry Pi / DHT11 - Μετρήστε την υγρασία και τη θερμοκρασία: 4 βήματα
Raspberry Pi / DHT11 - Μετρήστε την υγρασία και τη θερμοκρασία: wantedθελα να μετρήσω τη θερμοκρασία και την υγρασία χρησιμοποιώντας το Raspberry Pi. Επέλεξα έναν αισθητήρα DHT11 επειδή είναι στιβαρός και φθηνός. Η διαμόρφωσή του είναι επίσης καλά τεκμηριωμένη, αλλά υπάρχουν πολλές παγίδες στο δρόμο στις οποίες θα ήθελα να επικεντρωθώ. Το DHT11