[PROJEKT] Rejestrator temperatury – KAmduino UNO, moduł czytnika kart pamięci, zegar RTC i moduł z termometrem LM35DZ

Teraz można przejść do tworzenia kodu realizującego projekt (pliki projektowe znajdują się w sekcji „do pobrania”). Na początku programu należy załączyć odpowiednie biblioteki potrzebne po obsługi zegara RTC oraz czytnika kart pamięci. Dodatkowo uruchamiana jest obsługa zegara RTC oraz deklarowane są zmienne potrzebne do działania programu:

Następnie w funkcji setup ustawiana jest prędkość transmisji portu szeregowego oraz sprawdzane jest działanie zegara czasu rzeczywistego. Ponadto, kod ustawia datę początkową dla zegara oraz sprawdza działanie czytnika kart pamięci.

W pętli głównej programu następuje pomiar wartości analogowej na porcie A0, następnie przeliczana jest ona na napięcie by ostatecznie uzyskać wartość temperatury w stopniach Celsiusza. Po tym tworzona jest zmienna typu string tekst_do_zapisu. Do niej wpisywane są dane, które potem są dodawane do pliku tekstowego na karcie pamięci. Do zmiennej trafiają informacje o aktualnej godzinie, dacie, stanie licznika oraz zmierzonej wartości temperatury. Poszczególne dane oddzielone są od siebie znakiem spacji (co ułatwia późniejszą analizę w programach typu Excel).

W dalszej części pętli głównej programu otwierany jest plik tekstowy o nazwie temp.txt (jeżeli nie ma go na karcie pamięci, zostanie on utworzony). Następnie sprawdzany jest dostęp do pliku. Jeśli plik jest dostępny, zapisywany jest tekst znajdujący się we wcześniej przygotowanej zmiennej tekst_do_zapisu, następnie plik jest zamykany. Dodatkowo zawartość zmiennej jest przesyłana przez port szeregowy (co umożliwia wyświetlenie w monitorze portu szeregowego). Jeżeli plik temp.txt nie może zostać otworzony, zostanie wyświetlony komunikat „Blad otworzenia pliku „. Na końcu pętli głównej programu znajduje się opóźnienie, które określa co jaki okres czasu dane będą zapisywane na kartę pamięci (w tym przypadku jest to 5 sekund).

Teraz można wgrać program na płytkę KAmduino UNO. Po wgraniu programu można otworzyć monitor portu szeregowego i po ustawieniu odpowiedniej prędkości transmisji (w tym przypadku 9600) powinno się uzyskać następujący widok:

 

Rys. 5. Monitor portu szeregowego  – informacje, które zostały zapisane na karcie pamięci

Teraz można umieścić układ w miejscu, gdzie chcemy monitorować temperaturę. W celu obejrzenia wyników pomiarów zapisanych na karcie pamięci należy odłączyć układ od zasilania, wyjąć kartę pamięci z modułu czytnika i podpiąć ją do komputera (przy użyciu adaptera np. takiego) w celu odczytania/zgrania plików.

Taki plik z zapisanymi pomiarami można zaimportować np. do Excela (podczas importu należy wybrać jako separator danych znak spacji, dodatkowo należy zamienić kropki na przecinki) w celu analizy pomiarów. W programie Excel można dane oddać dalszej obróbce np. wyznaczyć średnią z pomiarów, wyznaczyć wartości maksymalne, minimalne lub narysować wykres w oparciu o pomiary.

 

Rys. 6. Przykładowy wykres utworzony na podstawie danych zapisanych na karcie pamięci

Tego typu rejestrator danych może znaleźć zastosowanie w wielu sytuacjach. Do układu można dodać więcej czujników np. deszczu, ciśnienia, aby monitować więcej parametrów pogodowych. Zamiast czujnika temperatury można zastosować moduł GPS, aby rejestrować kolejne punkty np. w podróży.

Do pobrania

O autorze