Spisu treści:
Wideo: Raspberry Pi - samouczek Pythona dotyczący precyzyjnego czujnika wysokościomierza MPL3115A2: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
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.
1. Raspberry Pi
2. MPL3115A2
3. Kabel I²C
4. Osłona I²C dla Raspberry Pi
5. Kabel Ethernet
Krok 2: Połączenia:
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 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:
System monitorowania pogody za pomocą czujnika Raspberry Pi3 i DHT11: 4 kroki
System monitorowania pogody za pomocą czujnika Raspberry Pi3 i DHT11: W tym samouczku pokażę ci, jak podłączyć DHT11 do Raspberry Pi i wyprowadzić odczyty wilgotności i temperatury na wyświetlacz LCD. Czujnik temperatury i wilgotności DHT11 to ładny mały moduł który zapewnia cyfrową temperaturę i wilgotność
Wykreślanie danych na żywo z czujnika temperatury (TMP006) za pomocą LaunchPad MSP432 i Pythona: 9 kroków
Wykreślanie danych na żywo z czujnika temperatury (TMP006) za pomocą MSP432 LaunchPad i Pythona: TMP006 to czujnik temperatury, który mierzy temperaturę obiektu bez konieczności kontaktu z obiektem. W tym samouczku wykreślimy dane temperatury na żywo z BoosterPack (TI BOOSTXL-EDUMKII) za pomocą Pythona
Sterowanie wieloma diodami LED za pomocą Pythona i pinów GPIO Raspberry Pi: 4 kroki (ze zdjęciami)
Kontrolowanie wielu diod LED za pomocą Pythona i pinów GPIO Raspberry Pi: Ta instrukcja pokazuje, jak kontrolować wiele pinów GPIO na RaspberryPi, aby zasilać 4 diody LED. Wprowadzi Cię również do parametrów i instrukcji warunkowych w Pythonie. Nasze poprzednie instrukcje używania pinów GPIO Twojego Raspberry Pi do Con
Kto jest w Moich Drzwiach? Projekt czujnika ruchu PIR/czujnika zasięgu: 5 kroków
Kto jest w Moich Drzwiach? Projekt czujnika ruchu PIR/czujnika zasięgu: Nasz projekt ma na celu wykrywanie ruchu za pomocą czujników PIR i czujników odległości. Kod Arduino wyśle sygnał wizualny i dźwiękowy, aby poinformować użytkownika, że ktoś jest w pobliżu. Kod MATLAB wyśle sygnał e-mail, aby powiadomić użytkownika, że ktoś jest w pobliżu.To urządzenie
Metody wykrywania poziomu wody Arduino za pomocą czujnika ultradźwiękowego i czujnika wody Funduino: 4 kroki
Metody wykrywania poziomu wody Arduino za pomocą czujnika ultradźwiękowego i czujnika wody Funduino: W tym projekcie pokażę, jak stworzyć niedrogi wykrywacz wody za pomocą dwóch metod:1. Czujnik ultradźwiękowy (HC-SR04).2. Czujnik wody Funduino