Serwisy partnerskie:
Close icon
Serwisy partnerskie

Budowa stacji pogody z pomiarem jakości powietrza (IAQ) - moduł GY_BME680

Article Image
Elmax
Smog i temat zanieczyszczonego powietrza powracają w każdym sezonie grzewczym. Przy dużym stężeniu pyłów media zalecają unikać spacerów i pozostawanie w domu, ale czy w domu jesteśmy bezpieczni? Czy da się sprawdzić, czym oddychamy? Tak; w tym celu powstała nawet specjalna jednostka pomiarowa IAQ (Indor Air Quality). Zbudujmy zatem własną stację pogody z pomiarem jakości powietrza.
W cyklu „Z potrzeby chwili...” przedstawiamy opisy układów, urządzeń i instalacji elektronicznych, które powstały szybko dla zaspokojenia konkretnych potrzeb i te potrzeby zaspokoiły. Szybki proces powstawania zwykle oznacza, że urządzenie nie jest do końca dopracowane i że w przyszłości może być lub będzie ulepszone, co też może zostać opisane w EdW. Zachęcamy do nadsyłania tego rodzaju materiałów do publikacji.
Stacja pogody z pomiarem jakości powietrza (IAQ)

Prezentowana stacja pogody powstała z potrzeby chwili. Nadal są osoby kwestionujące obecność i szkodliwość smogu, a że jakość powietrza jest odczuciem subiektywnym, należało zmierzyć i przedstawić im poziom zanieczyszczeń. Powstanie w ekspresowym tempie pogodynki możliwe było dzięki wykorzystaniu sprzętu z innej nieczynnej stacji. Co ciekawe, przydała się także część bibliotek dostarczanych wraz z zestawem kolorowej stacji pogody ThingPulse. Oryginalny schemat urządzenia pokazany jest na rysunku 1.

Rys.1 Stacja pogody ThingPulse - oryginalny schemat

Stacja ThingPulse składa się z kilku modułów połączonych płytką pośredniczącą. Zastosowane moduły to: kolorowy wyświetlacz 2,4” oraz WeMos_D1_mini – moduł Wi-Fi. Odstawienie tamtej stacji nastąpiło, gdy serwis „Weather Underground” zaprzestał świadczenia darmowej prognozy pogody. Natomiast elektrycznie stacja cały czas była sprawna i przewijał się pomysł jej zagospodarowania. Impulsem ku temu było pojawienie się modułu GY_BME680.

Zapewne część Czytelników pamięta projekt miernika jakości powietrza opublikowany w EdW 11/2018. Opisywany tam miernik wykorzystuje kilkufunkcyjny czujnik BME680, który poza pomiarem temperatury, wilgotności i ciśnienia dostarcza informację o jakości powietrza. Niestety niełatwe jest odczytanie indeksu IAQ bezpośrednio z samego czujnika.

Rys.2 Schemat zmodyfikowanej stacji pogodowej

Pojawienie się modułu GY_BME680 rozwiązuje problem uruchomienia skomplikowanego algorytmu zaszytego w bibliotece firmy Bosch. Wspomniany moduł, poza czujnikiem BME680, zawiera mikrokontroler SMT32, który najtrudniejszą robotę wykonuje za nas, udostępniając po przetworzeniu gotowe dane, w tym indeks IAQ poprzez złącze szeregowe. Schemat zmodyfikowanej stacji pogodowej widzimy na rysunku 2, a wykonanie podłączeń na fotografii 1.

Fot.1 Zmodyfikowana stacja pogodowa - wykonanie podłączeń

Dołączenie modułu GY_BME680 wiąże się z pójściem na kompromis. Niestety moduł WeMos_D1 ma ograniczoną liczbę linii I/O, a podłączyć się do linii TxD/ RxD nie możemy z racji wykorzystania tych linii do programowania i debugowania programu. Zatem aby wygospodarować dwie linie I/O, musimy zrezygnować z funkcji dotyku w panelu LCD i zasymulować port szeregowy poprzez bibliotekę „SoftwareSerial.h”. Z dobrych informacji (jak widać na fotografii 2): moduł GY_BME680 ma własny stabilizator napięcia i bez obaw możemy zasilić go napięciem 5V.

Fot.2 Moduł GY_BME680 ma własny stabilizator napięcia

Program dla stacji pogody napisany został w Arduino. Program wraz z potrzebnymi bibliotekami dostępny jest w Elportalu. Biblioteki ikonek pogody oraz pogrubionych czcionek Arial to biblioteki dołączone do stacji pogody. Wszystkie pozostałe, brakujące do naszego środowiska biblioteki najłatwiej pobrać za pomocą Menedżera bibliotek.

Ponieważ Arduino domyślnie przystosowane jest do pracy z mikrokontrolerami AVR, musimy środowisko przestawić do pracy z modułem WeMos_D1 pochodzącym z rodziny ESP8266. W pierwszej kolejności należy w Preferencjach kompilatora w okienku „Dodatkowe adresy URL do menedżera płytek” dodać link: http://arduino.esp8266.com/stable/package_esp8266com_index.json, a następnie poprzez menu Narzędzia wybrać konfigurację zgodną z rysunkiem 3.

Rys.3 Konfiguracja

Podczas pierwszego podłączenia modułu WeMos_D1 może pokazać się menu instalowania nowego sprzętu. Moduł WeMos_D1 zawiera konwerter USB-RS typu CP2104 lub CH340. Po ustaleniu docelowej lokalizacji dla naszego nowego urządzenia w kodzie w definicji globalnej LOCATION_ALTITUDE należy wprowadzić wysokość nad poziom morza. Poprawna wartość wysokości nad poziom morza ważna jest ze względu na zmianę ciśnienia, a co za tym idzie poprawność przewidywania pogody przez stację. Po zaprogramowaniu modułu po krótkiej animacji powitalnej powinniśmy zobaczyć informacje jak na fotografii 3.

Fot.3 Informacje wyświetlane na ekranie stacji pogody

Jakość powietrza rozpatrywana jest w kryteriach słownych tj.; DOBRA, ŚREDNIA, KIEPSKA, ZŁA które to odpowiadają zakresom podanym w dokumentacji czujnika BME680.

W podsumowaniu należy dodać, że budowa stacji nie musi polegać na zakupie zestawu ThingPulse. Pokazany na fotografii 4 wyświetlacz z kontrolerem ILI9341 występuje zarówno w wersji 2,4” jak i większej 2,8”, oraz z kontrolerem dotyku lub bez niego.

Fot.4 Wyświetlacz z kontrolerem ILI9341

Opisywana stacja powstała na bazie wyświetlacza 2,4” i tylko taki zmieści się do obudowy Z-126 widocznej na fotografii tytułowej. Podobnie moduł Wi-Fi – WeMos_D1 możemy zakupić osobno.

Do pobrania
Download icon Budowa stacji pogody z pomiarem jakości powietrza (IAQ) - moduł GY_BME680
Firma:
Tematyka materiału: czujnik BME680
AUTOR
Źródło
Elektronika dla Wszystkich wrzesień 2020
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"