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

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 βήματα
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 βήματα

Βίντεο: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 βήματα

Βίντεο: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 βήματα
Βίντεο: Raspberry Pi HP203B Precision Barometer & Altimeter Sensor Python Tutorial 2024, Ιούλιος
Anonim
Image
Image

Το MPL3115A2 χρησιμοποιεί έναν αισθητήρα πίεσης MEMS με διεπαφή I2C για να παρέχει ακριβή δεδομένα πίεσης/υψομέτρου και θερμοκρασίας. Οι έξοδοι του αισθητήρα ψηφιοποιούνται με ADC υψηλής ανάλυσης 24-bit. Η εσωτερική επεξεργασία αφαιρεί εργασίες αντιστάθμισης από το κεντρικό σύστημα MCU. Είναι ικανό να ανιχνεύσει μια μεταβολή μόνο σε 0,05 kPa που ισοδυναμεί με μια αλλαγή ύψους 0,3 m. Εδώ είναι η επίδειξή του με raspberry pi χρησιμοποιώντας κώδικα python.

Βήμα 1: Αυτό που χρειάζεστε..

Ο, τι χρειάζεσαι..!!
Ο, τι χρειάζεσαι..!!

1. Raspberry Pi

2. MPL3115A2

3. Καλώδιο I²C

4. I²C Shield για το Raspberry Pi

5. Καλώδιο Ethernet

Βήμα 2: Συνδέσεις:

Συνδέσεις
Συνδέσεις
Συνδέσεις
Συνδέσεις
Συνδέσεις
Συνδέσεις
Συνδέσεις
Συνδέσεις

Πάρτε μια ασπίδα I2C για raspberry pi και σπρώξτε την απαλά πάνω από τις καρφίτσες gpio του raspberry pi.

Στη συνέχεια, συνδέστε το ένα άκρο του καλωδίου I2C στον αισθητήρα MPL3115A2 και το άλλο άκρο στην ασπίδα I2C.

Συνδέστε επίσης το καλώδιο Ethernet στο pi ή μπορείτε να χρησιμοποιήσετε μια μονάδα WiFi.

Οι συνδέσεις φαίνονται στην παραπάνω εικόνα.

Βήμα 3: Κωδικός:

Κώδικας
Κώδικας

Ο κωδικός python για MPL3115A2 μπορεί να μεταφορτωθεί από το αποθετήριο Github μας- DCUBE Store Community.

Ορίστε ο σύνδεσμος

Έχουμε χρησιμοποιήσει τη βιβλιοθήκη SMBus για κώδικα python, τα βήματα για την εγκατάσταση του SMBus στο raspberry pi περιγράφονται εδώ:

pypi.python.org/pypi/smbus-cffi/0.5.1

Μπορείτε επίσης να αντιγράψετε τον κώδικα από εδώ, δίνεται ως εξής:

# Διανέμεται με άδεια ελεύθερης βούλησης.

# Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρα ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.

# MPL3115A2

# Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module MPL3115A2_I2CS I2C

εισαγωγή smbus

χρόνο εισαγωγής

# Πάρτε το λεωφορείο I2C

bus = smbus. SMBus (1)

# Διεύθυνση MPL3115A2, 0x60 (96)

# Επιλογή καταχωρητή ελέγχου, 0x26 (38)

# 0xB9 (185) Ενεργή λειτουργία, OSR = 128, Λειτουργία υψομέτρου

bus.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.write_byte_data (0x60, 0x26, 0xB9)

ώρα. ύπνος (1)

# Διεύθυνση MPL3115A2, 0x60 (96)

# Ανάγνωση δεδομένων από 0x00 (00), 6 byte

# κατάσταση, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

δεδομένα = bus.read_i2c_block_data (0x60, 0x00, 6)

# Μετατρέψτε τα δεδομένα σε 20-bit

tHeight = ((δεδομένα [1] * 65536) + (δεδομένα [2] * 256) + (δεδομένα [3] & 0xF0)) / 16

temp = ((δεδομένα [4] * 256) + (δεδομένα [5] & 0xF0)) / 16

υψόμετρο = tHightight / 16.0

cTemp = temp / 16.0

fTemp = cTemp * 1,8 + 32

# Διεύθυνση MPL3115A2, 0x60 (96)

# Επιλογή καταχωρητή ελέγχου, 0x26 (38)

# 0x39 (57) Ενεργή λειτουργία, OSR = 128, Λειτουργία βαρόμετρου

bus.write_byte_data (0x60, 0x26, 0x39)

ώρα. ύπνος (1)

# Διεύθυνση MPL3115A2, 0x60 (96)

# Ανάγνωση δεδομένων από 0x00 (00), 4 byte

# κατάσταση, pres MSB1, pres MSB, pres LSB

δεδομένα = 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: Εφαρμογές:

Διάφορες εφαρμογές του MPL3115A2 περιλαμβάνουν υψομετρία υψηλής ακρίβειας, Smartphones/Tablets, Personal Electronics Altimetry κ.λπ. Μπορεί επίσης να ενσωματωθεί σε GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigation καθώς και Εξοπλισμός Μετεωρολογικού Σταθμού.

Συνιστάται: