Cel
Analiza jakości powietrza oraz warunków meteorologicznych takich jak ciśnienie, temperatura oraz wilgotność powietrza.
Stacja umożliwia ponadto obserwowanie fazy księżyca, sterowanie pilotem, wyliczanie godziny wschodu i zachodu słońca.
Wykorzystane materiały
- Arduino Mega + wyświetlacz TFT (3.2 cala) – (52.56 zł)
- ESP8266 remote serial Port WIFI wireless module – mikro karta wifi (2.5 USD)
- TSOP1738 VISHAY DIP-3 Sensor For PCM Remote Control Modules – odbiornik podczerwieni (1.46 zł)
- ESP8266 Serial Wireless Wifi Module Developent Board 8266 Wifi Module – programator do układu ESP (6.5 zł)
- 2 x DHT21 100% New Digital-output Relative Humidity & Temperature Sensor/Module (19.7 zł)
- BMP280 3.3 – (3.98 zł)
- Śruby m3 – około 10 zł
- Laser-PM2-5-DUST-SENSOR-PMS1003-High-precision – laserowy czujnik pyłów (72 zł)
- DS1307 – zegar czasu rzeczywistego, kalendarz (2 zł)
- 2x DALLAS DS18B20 – czujnik temperatury (4.88 zł)
- IIC I2C Logic Level Converter – (0.7 USD)
- Wydruki 3D
- Kable
- złącza goldpin i dupont
Wykorzystane biblioteki
- TFT_HX8357
- ArduinoJson
- Dusk2Dawn
- RunningAverage
Działanie
Za podstawowy pomiar pyłów odpowiada laserowy czujnik pyłów PMS1003 umieszczony na zewnątrz we wnęce okiennej, pomiary których dokonuje wystawiane są na port szeregowy, pomiary robione są co 2 sekundy i umieszczane w tablicy średniej ruchomej, każdy wyświetlany odczyt to średnia z 20 ostatnich pomiarów, linie danych portu szeregowego układu podpięte są do linii portu szeregowego arduino poprzez konwerter napięć (3.3 V na 5V), arduino to układ pracujący na logice 5V a większość dostępnych czujników pracuje na 3.3V. Za odczyt temperatury odpowiadają czujniki DHT21, integrujące w jednej obudowie sensor wilgotności oraz temperatury oraz posiadające interfejs one-wire pracujący na logice 5V, podato jest dostępny również alternatywny układ pomiaru temperatury czujnikami DALLAS DS18B20, również wyposażonymi w interface onewire. Czujnik BMP280 odpowiada za pomiar Ciśnienia atmosferycznego, posiada również wbudowany czujnik temperatury (mało precyzyjny, służy on do kalibracji ciśnienia), podpięty jest on poprzez konwerter napięć do magistrali IIC razem z zegarem czasu rzeczywistego (RTC), wykorzystano bardzo popularny i tani układ DS1307. Za komunikację układu ze światem odpowiada ESP8266, które w swojej standardowej aplikacji jest szeregowym portem WIFI, jednak po wykorzystaniu stosownego programatora i środowiska ARDUINO IDE, można uruchomić na nim prosty serwer WWW, w prezentowanym rozwiązaniu, komunikacja arduino z esp odbywa się poprzez port szeregowy w formacie json, w linii komunikacyjnej ze względu na bezpieczeństwo układu zamontowano konwerter napięć (3.3 V na 5V).
Układ ESP posiada wgraną prostą stronę internetową pokazującą w czytelnej formie wyniki pomiarów:
umożliwia też dwustronną komunikację w formacie json z myślą o przyszłej aplikacji na telefony komórkowe, dane przesyłane do stacji pogody, umożliwiają np. wymuszenie synchronizacji czasu, czy ustawienie aktualnie wyświetlanego ekranu, komunikacja zabezpieczona jest hasłem basic-auth.
Wykresy prezentowane na stronie stacji pochodzą z serwisu thingspeak.com do którego przesyłane są z wykorzystaniem esp co kilka minut, kanał stacji można obserwować pod adresem https://thingspeak.com/channels/467853
Obudowa stacji została wykonana przy wykorzystania pudełka po słodyczach oraz wydruków z drukarki 3d:
Ładnie ! Problem tego czujnika jest taki że jeśli jest mgła mamy ogromne przekłamania . Powietrze przed pomiarem trzeba osuszyć.