W wielu projektach, takich jak latające roboty, stacje pogodowe, czy systemy do wyznaczania tras, urządzenia sportowe itp bardzo ważny jest pomiar ciśnienia oraz wysokości nad poziomem morza. W poniższym artykule opisujemy jak korzystać z czujnika BMP180, który jest jednym z najczęściej używanych czujników do pomiaru ciśnienia.
Czego nauczysz się z tego projektu:
* Czym jest ciśnienie barometryczne.
* Czym jest czujnik ciśnienia BOSCH BMP180.
* Jak korzystać z czujnika ciśnienia BOSCH BMP180 z Arduino.
Krok 1: Co to jest ciśnienie barometryczne?
Ciśnienie barometryczne lub ciśnienie atmosferyczne to siła atmosfery działająca na ciała na danej wysokości. Wynika ono z ciężaru powietrza nad powierzchnią ziemi. Ciśnienie to wynosi około 1 kg na centymetr kwadratowy na poziomie morza.
Istnieje kilka jednostek, wykorzystywanych do wyrażenia ciśnienia atmosferycznego, które można łatwo konwertować. Jednostką SI, używaną do pomiaru ciśnienia jest Pascal (Pa).
Ciśnienie barometryczne ma w przybliżeniu odwrotnie liniowy stosunek do wysokości nad poziomem morza, więc jeśli zmierzymy ciśnienie barometryczne jakiegoś miejsca, możemy obliczyć wysokość nad poziomem morza za pomocą prostej operacji matematycznej.
Krok 2: Moduł GY-68 z czujnikiem ciśnienia BOSCH BMP180
Jednym z najczęściej wykorzystywanych czujników do pomiaru ciśnienia i wysokości jest BOSCH BMP180. Najważniejsze cechy tego modułu to:
* Zakres pomiaru ciśnienia od 300 do 1100 hPa
* Dokładność pomiaru -0,1 hPa dla ciśnienia bezwzględnego
* Dokładność pomiaru 12 hPa dla ciśnienia względnego
* Niski pobór mocy (5μA w trybie standardowym - jedna próbka na sekundę)
* Wewnętrzny czujnik temperatury o dokładności do 0,5 ° C
* Obsługa protokołu I²C do komunikacji
* W pełni fanrycznie skalibrowany
Krok 3: Wymagane materiały
Do wykorzystania sensora potrzebować będziemy:
* Moduł Arduino UNO R3
* Sensor BOSH BMP180
* Przewody połączeniowe
Dodatkowo muismy dysponować komputerem z zainstalowanym Arduino IDE.
Krok 4: Jak używać czujnika ciśnienia GY-68 BMP180 z Arduino?
Czujnik ten jest dostępny jako moduł dla łatwego użytkowania. Główne części modułu czujnika BMP180 to:
Sam czujnik BMP180:
Stabilizator napięcia 3,3 V. Ten układ pozwala podłączyć moduł do 5 V:
Rezystory podciągające, potrzebne do prawidłowej komunikacji interfejsu I²C:
Sensor bardzo łatwo podłączyć do różnych modułów z pomocą interfejsu I²C:
Krok 5: Układ
Na zdjęciu po lewej stronie pokazano schemat połączeń modułu z sensorem z płytką Arduino. Jeśli już połączymy układy ze sobą, musimy pobrać bibliotekę BMP180_Breakout_Arduino_Library do obsługi naszego sensora. Tutaj znaleźć można link do repozytorium w którym znajduje się biblioteka.
Krok 6: Obliczanie ciśnienia bezwzględnego dla różnych jednostek i wysokości nad poziomem morza
Prześledźmy dokładnie proces obliczania ciśnienia i na jego podstawie wysokości nad poziomem morza:
Zgodnie z algorytmem w linkowanej bibliotece zaczynamy od obliczenia temperatury. Aby uzyskać ten pomiar z układu korzystamy z funkcji startTemperature(), a następnie przechowujemy jej wartość w zmiennej T, zapisując ją tam za pomocą getTemperature(T).
Następnie uruchamiamy pomiar ciśnienia za pomocą startPressure(3). Liczba 3 oznacza maksymalną rozdzielczość. Można ją zmieniać między 0 a 3. Za pomocą getPressure(P) przechwytujemy wartość ciśnienia bezwzględnego i zapisujemy ją w zmiennej P. Wartość tego ciśnienia wyrażona jest w hPa, którą można skonwertować na różne inne jednostki.
Ciśnienie bezwzględne zmienia się wraz z wysokością. Aby usunąć wpływ wysokości na obliczone ciśnienie, należy użyć funkcji Sealevel (P, ALTITUDE). Wylicza ona ciśnienie na poziomie morza, zgodnie z wysokością punktu pomiaru, zapisaną w zmiennej ALTITUDE. Wynik zapisany jest w zmiennej p0. Z kolei wykorzystując zmienną funkcję można obliczyć wysokość na jakiej się znajdujemy.
Źródło: https://www.instructables.com/id/Determining-the-Pressure-and-Altitude-Using-GY-68-/
Czego nauczysz się z tego projektu:
* Czym jest ciśnienie barometryczne.
* Czym jest czujnik ciśnienia BOSCH BMP180.
* Jak korzystać z czujnika ciśnienia BOSCH BMP180 z Arduino.
Krok 1: Co to jest ciśnienie barometryczne?
Ciśnienie barometryczne lub ciśnienie atmosferyczne to siła atmosfery działająca na ciała na danej wysokości. Wynika ono z ciężaru powietrza nad powierzchnią ziemi. Ciśnienie to wynosi około 1 kg na centymetr kwadratowy na poziomie morza.
Istnieje kilka jednostek, wykorzystywanych do wyrażenia ciśnienia atmosferycznego, które można łatwo konwertować. Jednostką SI, używaną do pomiaru ciśnienia jest Pascal (Pa).
Ciśnienie barometryczne ma w przybliżeniu odwrotnie liniowy stosunek do wysokości nad poziomem morza, więc jeśli zmierzymy ciśnienie barometryczne jakiegoś miejsca, możemy obliczyć wysokość nad poziomem morza za pomocą prostej operacji matematycznej.
Krok 2: Moduł GY-68 z czujnikiem ciśnienia BOSCH BMP180
Jednym z najczęściej wykorzystywanych czujników do pomiaru ciśnienia i wysokości jest BOSCH BMP180. Najważniejsze cechy tego modułu to:
* Zakres pomiaru ciśnienia od 300 do 1100 hPa
* Dokładność pomiaru -0,1 hPa dla ciśnienia bezwzględnego
* Dokładność pomiaru 12 hPa dla ciśnienia względnego
* Niski pobór mocy (5μA w trybie standardowym - jedna próbka na sekundę)
* Wewnętrzny czujnik temperatury o dokładności do 0,5 ° C
* Obsługa protokołu I²C do komunikacji
* W pełni fanrycznie skalibrowany
Krok 3: Wymagane materiały
Do wykorzystania sensora potrzebować będziemy:
* Moduł Arduino UNO R3
* Sensor BOSH BMP180
* Przewody połączeniowe
Dodatkowo muismy dysponować komputerem z zainstalowanym Arduino IDE.
Krok 4: Jak używać czujnika ciśnienia GY-68 BMP180 z Arduino?
Czujnik ten jest dostępny jako moduł dla łatwego użytkowania. Główne części modułu czujnika BMP180 to:
Sam czujnik BMP180:
Stabilizator napięcia 3,3 V. Ten układ pozwala podłączyć moduł do 5 V:
Rezystory podciągające, potrzebne do prawidłowej komunikacji interfejsu I²C:
Sensor bardzo łatwo podłączyć do różnych modułów z pomocą interfejsu I²C:
Krok 5: Układ
Na zdjęciu po lewej stronie pokazano schemat połączeń modułu z sensorem z płytką Arduino. Jeśli już połączymy układy ze sobą, musimy pobrać bibliotekę BMP180_Breakout_Arduino_Library do obsługi naszego sensora. Tutaj znaleźć można link do repozytorium w którym znajduje się biblioteka.
Krok 6: Obliczanie ciśnienia bezwzględnego dla różnych jednostek i wysokości nad poziomem morza
Prześledźmy dokładnie proces obliczania ciśnienia i na jego podstawie wysokości nad poziomem morza:
Zgodnie z algorytmem w linkowanej bibliotece zaczynamy od obliczenia temperatury. Aby uzyskać ten pomiar z układu korzystamy z funkcji startTemperature(), a następnie przechowujemy jej wartość w zmiennej T, zapisując ją tam za pomocą getTemperature(T).
Następnie uruchamiamy pomiar ciśnienia za pomocą startPressure(3). Liczba 3 oznacza maksymalną rozdzielczość. Można ją zmieniać między 0 a 3. Za pomocą getPressure(P) przechwytujemy wartość ciśnienia bezwzględnego i zapisujemy ją w zmiennej P. Wartość tego ciśnienia wyrażona jest w hPa, którą można skonwertować na różne inne jednostki.
Ciśnienie bezwzględne zmienia się wraz z wysokością. Aby usunąć wpływ wysokości na obliczone ciśnienie, należy użyć funkcji Sealevel (P, ALTITUDE). Wylicza ona ciśnienie na poziomie morza, zgodnie z wysokością punktu pomiaru, zapisaną w zmiennej ALTITUDE. Wynik zapisany jest w zmiennej p0. Z kolei wykorzystując zmienną funkcję można obliczyć wysokość na jakiej się znajdujemy.
Źródło: https://www.instructables.com/id/Determining-the-Pressure-and-Altitude-Using-GY-68-/
Fajne? Ranking DIY