Spisu treści:

Raspberry Pi - samouczek Pythona dotyczący precyzyjnego czujnika wysokościomierza MPL3115A2: 4 kroki
Raspberry Pi - samouczek Pythona dotyczący precyzyjnego czujnika wysokościomierza MPL3115A2: 4 kroki

Wideo: Raspberry Pi - samouczek Pythona dotyczący precyzyjnego czujnika wysokościomierza MPL3115A2: 4 kroki

Wideo: Raspberry Pi - samouczek Pythona dotyczący precyzyjnego czujnika wysokościomierza MPL3115A2: 4 kroki
Wideo: Która wersja Raspberry Pi OS jest dla Ciebie? [tylko dla początkujących] 2024, Lipiec
Anonim
Image
Image

MPL3115A2 wykorzystuje czujnik ciśnienia MEMS z interfejsem I2C w celu zapewnienia dokładnych danych dotyczących ciśnienia/wysokości i temperatury. Wyjścia czujnika są digitalizowane przez 24-bitowy przetwornik ADC o wysokiej rozdzielczości. Przetwarzanie wewnętrzne usuwa zadania dotyczące wynagrodzeń z systemu hosta MCU. Jest w stanie wykryć zmianę tylko o 0,05 kPa, co odpowiada zmianie wysokości o 0,3 m. Oto jego demonstracja z raspberry pi przy użyciu kodu Pythona.

Krok 1: Czego potrzebujesz.

Czego potrzebujesz..!!
Czego potrzebujesz..!!

1. Raspberry Pi

2. MPL3115A2

3. Kabel I²C

4. Osłona I²C dla Raspberry Pi

5. Kabel Ethernet

Krok 2: Połączenia:

Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości

Weź nakładkę I2C dla raspberry pi i delikatnie nałóż ją na piny gpio raspberry pi.

Następnie podłącz jeden koniec kabla I2C do czujnika MPL3115A2, a drugi koniec do ekranu I2C.

Podłącz również kabel Ethernet do pi lub możesz użyć modułu WiFi.

Połączenia prezentuje powyższy obrazek.

Krok 3: Kod:

Kod
Kod

Kod Pythona dla MPL3115A2 można pobrać z naszego repozytorium Github-DCUBE Store Community.

Tutaj jest link

Użyliśmy biblioteki SMBus do kodu Pythona, kroki instalacji SMBus na raspberry pi są opisane tutaj:

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

Możesz również skopiować kod stąd, jest on podany w następujący sposób:

# Rozprowadzany z wolną licencją.

# Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim utworów.

# MPL3115A2

# Ten kod jest przeznaczony do pracy z minimodułem MPL3115A2_I2CS I2C

importuj smbus

czas importu

# Uzyskaj magistralę I2C

autobus = smbus. SMBus(1)

# Adres MPL3115A2, 0x60(96)

# Wybierz rejestr kontrolny, 0x26(38)

# 0xB9(185) Tryb aktywny, OSR = 128, Tryb wysokościomierza

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

# Adres MPL3115A2, 0x60(96)

# Wybierz rejestr konfiguracji danych, 0x13(19)

# 0x07(07) Zdarzenie gotowości danych włączone dla wysokości, ciśnienia, temperatury

bus.write_byte_data (0x60, 0x13, 0x07)

# Adres MPL3115A2, 0x60(96)

# Wybierz rejestr kontrolny, 0x26(38)

# 0xB9(185) Tryb aktywny, OSR = 128, Tryb wysokościomierza

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

czas.sen(1)

# Adres MPL3115A2, 0x60(96)

# Odczytaj dane z powrotem z 0x00(00), 6 bajtów

# status, wZROST MSB1, wZROST MSB, WZROST MSB, temp MSB, temp MSB

dane = bus.read_i2c_block_data(0x60, 0x00, 6)

# Konwertuj dane na 20-bitów

wysokość = ((dane[1] * 65536) + (dane[2] * 256) + (dane[3] & 0xF0)) / 16

temp = ((dane[4] * 256) + (dane[5] i 0xF0)) / 16

wysokość = wysokość / 16,0

cTemp = temperatura / 16,0

fTemp = cTemp * 1,8 + 32

# Adres MPL3115A2, 0x60(96)

# Wybierz rejestr kontrolny, 0x26(38)

# 0x39(57) Tryb aktywny, OSR = 128, Tryb barometru

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

czas.sen(1)

# Adres MPL3115A2, 0x60(96)

# Odczytaj dane z powrotem z 0x00(00), 4 bajty

# status, wciśnij MSB1, wciśnij MSB, wciśnij LSB

dane = bus.read_i2c_block_data(0x60, 0x00, 4)

# Konwertuj dane na 20-bitów

pres = ((dane[1] * 65536) + (dane[2] * 256) + (dane[3] & 0xF0)) / 16

ciśnienie = (pres / 4.0) / 1000,0

# Dane wyjściowe na ekran

print "Ciśnienie: %.2f kPa" %ciśnienie

print "Wysokość: %.2f m" %altitude

print "Temperatura w stopniach Celsjusza: %.2f C" %cTemp

print "Temperatura w stopniach Fahrenheita: %.2f F" %fTemp

Krok 4: Aplikacje:

Różne zastosowania MPL3115A2 obejmują wysokościomierze o wysokiej dokładności, smartfony/tablety, wysokościomierze elektroniki osobistej itp. Można go również włączyć do systemu GPS Dead Reckoning, ulepszeń GPS dla służb ratunkowych, asystenta mapy, nawigacji, a także wyposażenia stacji pogodowej.

Zalecana: