wtorek, 19 czerwca 2018

Stacja pogody na Arduino cz. 2. Moduł czasu rzeczywistego i rejestrator danych na karcie SDHC

Post jest kontynuacją projektu  stacji pogody opisywanej w części pierwszej. Tym razem dodałem kolejne dwa użyteczne moduły: czasu rzeczywistego (RTC) i zapisu karty SDHC. Para ta pozwoli na pokazywanie aktualnego czasu na wyświetlaczu oraz rejestrowanie parametrów powietrza na karcie SDHC wraz z informacją o czasie.

Układ prototypowy
Elementy

Funkcjonalność
  • aktualna godzina prezentowana na wyświetlaczu LCD
  • pomiar i prezentowanie parametrów powietrza na wyświetlaczu LCD z częstotliwością 1 sekundy
  • zapis (rejestrowanie) informacji o parametrach powietrza i czasu zapisu do pliku w formacie csv na karcie SDHC z częstotliwością 5 minut

Opis

Do układu stacji pogody z cz. 1 dodałem kolejne dwa moduły. Pierwszy, moduł czasu rzeczywistego RTC DS3231 komunikuje się po szynie I2C. Dodatkowo, korzysta z pinu 2 podpiętego z wyjściem  SQW informującym o wystąpieniu alarmu Drugi, moduł karty SDHC korzysta z szyny SPI. Co 1 sekundę dokonywane są pomiary parametrów powietrza: temperatura (w stopniach Celsjusza), wilgotność względna powietrza (w procentach) i ciśnienie powietrza (w hPa). Także co 1 sekundę wyniki pomiaru są prezentowane na wyświetlaczu LCD oraz obecny czas (godzina i minuta). Z kolei zapis wymienionych parametrów powietrza wraz z czasem odbywa się co 5 minut.

Schemat blokowy

Wynik pomiarów na terminalu i pliku csv

Kod stacji zamieściłem w repo git'owym na bitbucket'cie w dwóch wersjach (gałęziach/branch'ach):

Uruchomienie

W docelowym układzie bez logów na terminal, warto dodać jakiś LED sygnalizujący poprawną inicjalizację karty SD. Dla przykładu miałem problem z płytką stykową (łączeniem), stąd na zdjęciu moduł karty podpięty jest bezpośrednio do shield'a arduino.

Kontynuacja projektu:
Stacja pogody na Arduino cz. 3. Pomiar zanieczyszczenia powietrza - czujnik SDS011

Brak komentarzy:

Prześlij komentarz