Spisu treści:
- Krok 1: Niezbędny sprzęt, którego potrzebujemy
- Krok 2: Połączenia sprzętowe w celu złożenia obwodu
- Krok 3: Programowanie Raspberry Pi w Pythonie
- Krok 4: Praktyczność Kodeksu (testowanie)
- Krok 5: Aplikacje i funkcje
- Krok 6: Wniosek
Wideo: Wysokość, ciśnienie i temperatura za pomocą Raspberry Pi z MPL3115A2: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Brzmi interesująco. Jest to całkiem możliwe w czasach, gdy wszyscy wchodzimy w generację Internetu Rzeczy. Jako maniak elektroniki bawiliśmy się Raspberry Pi i dzięki tej wiedzy postanowiliśmy wykonać ciekawe projekty. W tym projekcie będziemy mierzyć wysokość, ciśnienie powietrza, temperaturę za pomocą Raspberry Pi. Oto dokumentacja (zawsze modyfikowana i rozszerzana). Zalecamy zacząć od wykonania instrukcji i skopiowania kodu. Możesz eksperymentować później. Więc zacznijmy.
Krok 1: Niezbędny sprzęt, którego potrzebujemy
1. Raspberry Pi
Pierwszym krokiem było uzyskanie płyty Raspberry Pi. Kupiliśmy nasze i Ty też możesz. Zaczęliśmy uczyć się z samouczków, zrozumieliśmy koncepcje skryptów i połączeń, a potem uczyliśmy się. Ten mały geniusz jest wspólny dla hobbystów, nauczycieli i tworzenia innowacyjnych środowisk.
2. Osłona I²C dla Raspberry Pi
INPI2 (adapter I2C) zapewnia Raspberry Pi 2/3 port I²C do użytku z wieloma urządzeniami I2C. Jest dostępny w sklepie Dcube
3. Wysokościomierz, czujnik ciśnienia i temperatury, MPL3115A2
MPL3115A2 to czujnik ciśnienia MEMS z interfejsem I²C, który podaje dane dotyczące ciśnienia/wysokości i temperatury. Ten czujnik wykorzystuje do komunikacji protokół I²C. Kupiliśmy ten czujnik w sklepie Dcube
4. Kabel połączeniowy
Mieliśmy kabel połączeniowy I2C dostępny w sklepie Dcube
5. Kabel Micro USB
Kabel micro USB Zasilacz to idealny wybór do zasilania Raspberry Pi.
6. Ulepszenie dostępu do Internetu - kabel Ethernet/adapter WiFi
W tej erze uzyskanie dostępu do czegokolwiek wymaga połączenia z Internetem (prawie, że istnieje również życie offline). Dlatego korzystamy z porady kabla LAN lub bezprzewodowego adaptera Nano USB (WiFi), aby zbudować połączenie internetowe, abyśmy mogli korzystać z naszego Rasp Pi z łatwością i bez żadnych problemów.
7. Kabel HDMI (opcjonalnie, twój wybór)
To trochę trudne. Możesz mieć możliwość podłączenia innego monitora, jeśli chcesz, lub jest to bardzo opłacalne dla siebie, tworząc bezgłowe połączenie Pi z komputerem PC / laptopem.
Krok 2: Połączenia sprzętowe w celu złożenia obwodu
Wykonaj obwód zgodnie z przedstawionym schematem. Ogólnie połączenia są bardzo proste. Postępuj zgodnie z instrukcjami i obrazami, a nie powinieneś mieć problemów.
Podczas planowania przyjrzeliśmy się sprzętowi i kodowaniu, a także podstawom elektroniki. Chcieliśmy zaprojektować prosty schemat elektroniki do tego projektu. Na schemacie można zauważyć różne części, komponenty mocy i czujnik I²C zgodnie z protokołami komunikacyjnymi I²C. Mamy nadzieję, że to pokazuje, jak prosta jest elektronika w tym projekcie.
Połączenie Raspberry Pi i I2C Shield
Przede wszystkim weź Raspberry Pi i umieść na nim I²C Shield. Delikatnie naciśnij tarczę (patrz zdjęcie).
Połączenie czujnika i Raspberry Pi
Weź czujnik i podłącz z nim kabel I²C. Upewnij się, że wyjście I²C ZAWSZE łączy się z wejściem I²C. To samo dotyczy Raspberry Pi z zamontowaną na nim osłoną I²C. Po naszej stronie mamy osłonę I²C i kable połączeniowe I²C jako bardzo dużą zaletę, ponieważ pozostaje nam tylko opcja plug and play. Nigdy więcej problemów z pinami i okablowaniem, a tym samym zamieszanie zniknęło. Cóż za ulga, gdy wyobraź sobie siebie w sieci przewodów i wpadnięcie w to. Tylko prosty proces, o którym wspomnieliśmy.
Uwaga: Brązowy przewód powinien zawsze podążać za połączeniem uziemienia (GND) między wyjściem jednego urządzenia a wejściem innego urządzenia
Łączność z Internetem jest niezbędna
Właściwie masz wybór. Możesz podłączyć Raspberry Pi za pomocą kabla LAN lub bezprzewodowego adaptera Nano USB do łączności Wi-Fi. Tak czy inaczej, głównym celem było połączenie się z internetem.
Zasilanie obwodu
Podłącz kabel Micro USB do gniazda zasilania Raspberry Pi. Zapal to i możemy iść.
Połączenie z ekranem
Możemy podłączyć kabel HDMI do nowego monitora lub stworzyć nasze bezgłowe Pi, które jest kreatywne i opłacalne przy użyciu zdalnego dostępu, takiego jak SSH / PuTTY. (wiem, że nie jesteśmy finansowani jak tajna organizacja)
Krok 3: Programowanie Raspberry Pi w Pythonie
Kod Pythona dla Raspberry Pi i czujnika MPL3115A2. Jest dostępny w naszym repozytorium Github.
Przed przejściem do kodu upewnij się, że zapoznałeś się z instrukcjami podanymi w pliku Readme i zgodnie z nimi skonfiguruj swoje Raspberry Pi. To zajmie tylko chwilę.
Wysokość jest obliczana na podstawie ciśnienia za pomocą poniższego równania:
h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (Wartość rejestru)
Gdzie p0 = ciśnienie na poziomie morza (101326 Pa), a h jest w metrach. MPL3115A2 używa tej wartości, ponieważ rejestr przesunięcia jest zdefiniowany jako 2 Pascale na LSB.
Kod jest wyraźnie przed tobą i jest w najprostszej formie, jaką możesz sobie wyobrazić, i nie powinieneś mieć problemów.
Możesz również skopiować działający kod Pythona dla tego czujnika.
# 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 dzieł. # MPL3115A2 # Ten kod jest przeznaczony do pracy z modułem Mini MPL3115A2_I2CS I2C dostępnym na stronie ControlEverything.com. #
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, Szyna trybu wysokościomierza.write_byte_data(0x60, 0x26, 0xB9)
czas.sen(1)
# Adres MPL3115A2, 0x60(96)
# Odczytaj dane z powrotem z 0x00(00), 6 bajtów # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data(0x60, 0x00, 6)
# Konwertuj dane na 20-bitów
tHeight = ((dane[1] * 65536) + (dane[2] * 256) + (dane[3] & 0xF0)) / 16 temp = ((dane[4] * 256) + (dane[5] & 0xF0)) / 16 wysokość = tWysokość / 16,0 cTemp = temp / 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, pres MSB1, pres MSB, pres LSB data = 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
drukuj "Ciśnienie: %.2f kPa" %ciśnienie drukuj "Wysokość: %.2f m" %wysokość drukuj "Temperatura w stopniach Celsjusza: %.2f C" %cTemp drukuj "Temperatura w stopniach Fahrenheita: %.2f F" %fTemp
Krok 4: Praktyczność Kodeksu (testowanie)
Teraz pobierz (lub git pull) kod i otwórz go w Raspberry Pi.
Uruchom polecenia skompiluj i prześlij kod w terminalu i zobacz dane wyjściowe w Monitorze. Po kilku sekundach wyświetli wszystkie parametry. Po upewnieniu się, że wszystko działa sprawnie, możesz przenieść ten projekt do większego projektu.
Krok 5: Aplikacje i funkcje
Powszechne zastosowanie precyzyjnego czujnika wysokościomierza I²C MPL3115A2 znajduje się w aplikacjach takich jak mapa (asystent mapy, nawigacja), kompas magnetyczny lub GPS (GPS Dead Reckoning, ulepszanie GPS dla służb ratunkowych), wysokościomierz o wysokiej dokładności, smartfony/tablety, wysokościomierz elektroniki osobistej i satelity (wyposażenie stacji pogodowej/prognozowanie).
Dla m.in. projekt stworzenia wysokościomierza Personal Electronics, który mierzy wysokość, ciśnienie powietrza i temperaturę za pomocą Raspberry Pi. Wysokościomierz Personal Electronics jest w sumie dość szybkim projektem do zbudowania. Zajmie to tylko kilka chwil, jeśli masz wszystkie części i nie improwizujesz (oczywiście, że możesz!). Wysokościomierz ciśnieniowy to wysokościomierz występujący w większości samolotów, a skoczkowie spadochronowi używają wersji na nadgarstku do podobnych celów. Wędrowcy i alpiniści używają wysokościomierzy montowanych na nadgarstku lub trzymanych w ręku.
Krok 6: Wniosek
Mam nadzieję, że ten projekt zainspiruje do dalszych eksperymentów. Ten czujnik I²C jest niezwykle wszechstronny, tani i dostępny. Ponieważ jest to niezwykle mutowalny program, istnieją ciekawe sposoby na rozszerzenie tego projektu i uczynienie go jeszcze lepszym. Na przykład wysokościomierz jest instrumentem opcjonalnym w pojazdach terenowych, który pomaga w nawigacji. Niektóre luksusowe samochody o wysokich osiągach, które nigdy nie miały zjeżdżać z utwardzonych dróg, wykorzystują tę technologię. Dla Twojej wygody przygotowaliśmy ciekawy samouczek wideo na YouTube, który może pomóc w Twojej eksploracji. Mam nadzieję, że ten projekt zainspiruje do dalszych eksperymentów.
Zalecana:
M5STACK Jak wyświetlić temperaturę, wilgotność i ciśnienie na M5StickC ESP32 za pomocą Visuino - łatwe do wykonania: 6 kroków
M5STACK Jak wyświetlić temperaturę, wilgotność i ciśnienie na M5StickC ESP32 za pomocą Visuino - łatwe do zrobienia: W tym samouczku nauczymy się, jak zaprogramować ESP32 M5Stack StickC z Arduino IDE i Visuino, aby wyświetlić temperaturę, wilgotność i ciśnienie za pomocą czujnika ENV (DHT12, BMP280, BMM150)
Stacja pogodowa Arduino przy użyciu BMP280-DHT11 - temperatura, wilgotność i ciśnienie: 8 kroków
Stacja pogodowa Arduino przy użyciu BMP280-DHT11 - Temperatura, wilgotność i ciśnienie: W tym samouczku dowiemy się, jak zrobić stację pogodową, która będzie wyświetlać TEMPERATURĘ, WILGOTNOŚĆ I CIŚNIENIE na wyświetlaczu LCD TFT 7735Obejrzyj film demonstracyjny
Monitorowanie akceleracji za pomocą Raspberry Pi i AIS328DQTR za pomocą Pythona: 6 kroków
Monitorowanie przyspieszenia za pomocą Raspberry Pi i AIS328DQTR Za pomocą Pythona: Przyspieszenie jest skończone, myślę, że zgodnie z niektórymi prawami fizyki.- Terry Riley Gepard wykorzystuje niesamowite przyspieszenie i szybkie zmiany prędkości podczas pościgu. Najszybsze stworzenie na lądzie od czasu do czasu wykorzystuje swoje najwyższe tempo do łapania zdobyczy. Ten
Visuino I2C BMP280 Ciśnienie, temperatura + OLED: 7 kroków
Visuino I2C BMP280 Ciśnienie, temperatura + OLED: W tym samouczku użyjemy ciśnienia I2C BMP280, czujnika temperatury, wyświetlacza OLED, Arduino UNO mierzy ciśnienie i temperaturę oraz wyświetla wyniki na wyświetlaczu LCD. Obejrzyj film demonstracyjny
Korzystanie z Raspberry Pi, pomiar wysokości, ciśnienia i temperatury za pomocą MPL3115A2: 6 kroków
Korzystając z Raspberry Pi, mierz wysokość, ciśnienie i temperaturę za pomocą MPL3115A2: Dowiedz się, co posiadasz i dlaczego to posiadasz! To intrygujące. Żyjemy w dobie automatyzacji Internetu, która pogrąża się w mnóstwie nowych aplikacji. Jako entuzjaści komputerów i elektroniki wiele się nauczyliśmy z Raspberry Pi i