2016-10-19 Cz. 1 Budowa stacji meteorologicznej w oparciu o arduino i czujniki |
Powyższy temat jest prawdopodobnie dobrze znany większości z was. Celem tego artykułu jest zebranie wszelkiej wiedzy od ogólnej po tą już bardziej szczegółową i przedstawienie jej w przystępny sposób. Na wstępie chciałbym zaznaczyć, że pierwsze zapiski na tematy meteorologiczne sięgają aż 334 r .p .n .e. , a ich autorem był Arystoteles który napisał pracę “Meteorologika”. Była to pierwsza taka rozprawa o atmosferze.
Dziś mamy XXI wiek i erę elektroniki więc teraz może coś w tym kierunku. Co wspólnego ma ze sobą Arduino i pogoda? Na pierwszy rzut oka może wydawać się, że nic. Jednak dzięki współczesnej technologii możemy obserwować, badać i poszerzać wiedzę na temat meteorologii i zasad nią rządzących. Najlepsze jest to, że możemy sami obserwować, badać pogodę i nie potrzebujemy do tego labolatorium ani super wydajnego komputera. Wystarczy nam pierwszy lepszy mikrokontroler np. ATMEGA8 firmy Atmel lub gotowy moduł z ATMEGA 328p jak np. Arduino. Ta mała płytka daje nam ogromne możliwości, dzięki swoim wejściom analogowym i wejściom / wyjściom cyfrowym. Możemy bez lutowania podłączać różne czujniki (i nie tylko).
Na rynku dostępnych jest również bardzo dużo różnego rodzaju czujników, dzięki którym można odbierać informacje o aktualnej temperaturze, wilgotności powietrza i ciśnieniu atmosferycznym. Lecz dzięki wykorzystaniu Arduino i innych czasami nietypowych czujników takich jak np. czujnik światła, czujnik poziomu wody, czujnik czystości powietrza, enkoder itp. możemy własnoręcznie wykonać w pełni sprawną i zaawansowaną stację meteorologiczną. W internecie znajduje się wiele przykładów stacji pogodowych: przewodowych, bezprzewodowych, z większą lub mniejszą ilością badanych czynników atmosferycznych i wykorzystujące różne sposoby wysyłania danych drogą bezprzewodową. Teraz gdy mamy już małą wiedzę ogólną na temat stacji meteorologicznych wiemy, czym one są, do czego służą i przy pomocy jakich elementów możemy ją samodzielnie wykonać, przejdźmy dalej.
Więc może teraz przyszedł czas na zagłębienie się w temat związany z czujnikami, każdy wybierze te, które chciałby zastosować w swoim projekcie.
Słowo termistor oznacza zmianę rezystancji wewnętrznej w zależności od temperatury (więcej o termistorach tutaj). Mamy również wiele innych czujników temperatury np. popularny DALLAS DS18B20 - 5zł. Ten czujnik wykorzystuje magistralę, komunikacyjną SPI dzięki niej można podłączyć parę czujników pod jeden przewód, co jest oszczędnością przewodów.
Czyli za pomocą termistora podłączonego do Arduino możemy zbierać w łatwy sposób dane o temp. Następną wielkością, jaką będziemy mierzyć, będzie:
Nie ma się co rozpisywać, są również inne czujniki np. BMP-180, ale jego cena jest wyższa.
Zakres temperatury pracy również nie jest odpowiedni na Polską zimę (od -10 do 65 stopni). GP2Y1010AU0F - 30zł.
Podsumowując, zadacie pytanie, czy to się w ogóle opłaca? Przecież istnieją gotowe stacje pogodowe, które kosztują grosze. Jeżeli chcesz, to oczywiście kup sobie taką stację ja sam posiadam taką w domu i kosztowała około 100zł. A na te części i moduły wydamy... no właśnie ile? Policzmy, bo sam jestem ciekaw. No więc tak:
Całość to wydatek rzędu 47zł. za komplet. Przyznacie, że jest to atrakcyjna cena.
Mamy już wszystkie potrzebne elementy i moduły do pomiarów, lecz została jedna ostatnia i moim zdaniem najważniejsza kwestia. Jaka ma być to stacja? Jak wspomniałem na początku przewodowa, bezprzewodowa, z wyświetlaczem czy bez niego? Podpięta do komputera? A jeżeli bezprzewodowa to oparta na jakim systemie przesyłania danych?
I tutaj pojawia się problem oraz komplikacja (ja tak miałem). Należy podjąć decyzję i oszacować związane z nią koszty oraz konsekwencje. Postaram się pomóc w podjęciu tej właściwej decyzji, przedstawię wszystkie za i przeciw każdego rozwiązania.
Może na pierwszy ogień zabierzemy się za najtańszą stację przewodową. Do jej budowy będziemy potrzebować wyżej wymienionych elementów, (które chcemy) większą ilość dłuższych przewodów. Musimy wybrać sposób odbierania informacji. No więc możemy wszystkie informacje ze świata zewnętrznego odbierać przez port UART, czyli przez wbudowane USB w Arduino i wyświetlać wszystkie informacje w serial monitorze.
Lecz taki pomysł nie przypadł mi do gustu. Włączać komputer, aby sprawdzić, ile jest stopni na dworze to przecież nonsens. Lepiej sprawdzić to uruchamiając telefon i wpisać odpowiednią frazę w wyszukiwarkę. Drugim rozwiązaniem jest zastosowanie wyświetlacza. Osobiście uważam to rozwiązanie za lepsze, ponieważ nic nie trzeba robić, aby odczytać informacje, a wyświetlacz kosztuje tylko ok. 9zł
Wyświetlacz LCD to wydatek, który podniesie cenę całości do ok. 56zł. To już spora kwota, lecz nadal niewielka w porównaniu do stacji pogodowej z taką ilością czujników.
Mamy wszystkie potrzebne elementy i czujniki więc zabieramy się do łączenia wszystkiego w całość. Podłączmy wszystko zgodnie ze schematem poniżej:
(link do pobrania schematu).
Istnieje jednak rozwiązanie: całość stacji umieścić na zewnątrz, a tylko przewody do wyświetlacza przeciągnąć do środka budynku. Wyjścia cyfrowe znacznie lepiej poradzą sobie z długością przewodów, ponieważ ich sygnał 5 v będzie się zmniejszał przy dużo dłuższej długości przewodów niż magistrali. A więc mamy do wyboru parę opcji, którą wybierzecie, to już zależy od was. Sketch dostępny w następnej części.
To by było na tyle w tej części, zapraszam do kolejnej, w której użyjemy większej ilości czujników oraz przyjrzymy się im bliżej. Następnie zajmiemy się przesyłaniem danych z naszej stacji drogą bezprzewodową. W tym celu posłużymy się popularnym i tanim modułem RF433Mhz. Wypróbujemy także inne moduły komunikacyjne takie jak bluetooth czy Wi-Fi, dzięki którym informacje o aktualnej sytuacji za oknem trafią bezpośrednio na nasz smartfon.
|
Polecane