Mały programik przeznaczony do pracy z programem LCD Timer a dokładniej z plikiem który tworzy (może to być inny plik ale struktura musi być zachowana i folder w którym się znajduje). W formacie csv z ułożeniem dzień;godzina;temperatura
np. 09-11-2015;10:20:55;+23,1; . Program wczytuje listę dni, po wybraniu interesującego dnia wczytuje czas, temperaturę i umieszcza je w tabeli oraz wykresie. Na dolnym pasku widnieje ilość dostępnych dni, ilość pomiarów dla danego dnia, najniższą i najwyższą temperaturę odnotowaną danego dnia oraz łączny czas pomiarów. Wykres można zapisać do pliku graficznego oraz wydrukować.
02-12-2015 -> Dodałem możliwość porównywania dwóch dni na wykresie, możliwość przełączania się między nimi, usuwanie zdublowanych dni z listy oraz poprawiłem skalowanie aplikacji.
LCD Timer to program do wyświetlania czasu, daty , temperatury i dnia/miesiąca pisemnie bądź swojego tekstu na wyświetlaczu LCD podłączonym do RS232 przez odpowiednio zaprogramowany mikro procesor. W programie można ustawić dowolne miejsce na wyświetlaczu do wyświetlania interesujących treści. Jest możliwość również ustawienia dwóch alarmów czasowych i dwóch alarmów temperaturowych. Program zapamiętuje wszystkie ustawienia, po ustawieniu automatycznego połączenia i startu program uruchomi się w tray, wystarczy wtedy dodać program do Autostartu i zawsze podczas włączania komputera wyświetlacz LCD również będzie się uruchamiał. W opcjach dodatkowych umieszczone są przyciski do sterowania podświetleniem, buzzerem, jak i odświeżenia wyświetlanych wartości. Można również ustawić czas co ile jest pobierana temperatura z czujnika i włączenie możliwości wprowadzenia swojego tekstu.
Temperatura również może być zapisywana do pliku csv dzięki czemu można bardzo szybko umieścić dane w tabeli i zrobić wykres lub skorzystać z programu Temp Chart.
Wykorzystałem program do ATTINY2313 z strony Wyświetlacz LCD na RS-232 modyfikując go według potrzeb a do obsługi czujnika fragment kodu z tej strony Obsługa DS18x20 .
Obrazki przedstawiające aplikację i przykładowe ustawienia:
Zdjęcia przedstawiające przykładowe treści na LCD:
Schematy i płytki:
Dla LCD z podświetleniem, GP3 i R6 opcja.
Dla LCD bez podświetlenia. D1 ,R6 i R8 opcja. K1 i K2 do własnego podświetlenia. W miejsce T3->BC556
T1 lepiej zamontować na przewodzie, ponieważ podświetlony LCD się trochę grzeje i oddziaływuje na T1
Program do obsługi portu COM. Aplikacja posiada 4 zakładki.
W pierwszej zakładce można zmieniać stany linii RTS, DTR, TXD , podłączając według 'Schem1' można sterować diodami. W tej
zakładce można również sprawdzić stan linii DCD, RI, DSR, CTS (5V = 1).
Druga zakładka służy do wysyłania i odbierania
tekstu (ASCII) oraz cyfr w systemie dziesiętnym, może służyć jako terminal. Żeby przetestować transmisję trzeba podłączyć dwa porty COM według 'Rys1' lub użyć np.
takiego programu Configure Virtual Serial Port Driver. Wyświetla dane w Ascii, Hex i Dec.
Na trzeciej
zakładce można sterować wyświetlaczem LCD poprzez odpowiednio zaprogramowany mikrokontroler. Jest zawarta pełna obsługa
kodów sterujących dla układu Wyświetlacz LCD na RS-
232 (nie gubi znaków). Położenie kursora dla pierwszego wiersza jest od 1 -> 16 a dla drugiego od 33 -> 48.
Czwarta zakładka (beta) obsługuje połączenie 1wire dla cyfrowych czujników temperatury DS18B20 (według klasy z której korzystałem te też powinny DS1820, DS1822,
DS18S20) według 'Schem2' a dla przejściówki z FT232R 'Shem3'. Miałem tylko 2 czujniki ale powinno do 15 czujników obsługiwać
połączonych według 'Rys2' lub 'Rys3'.
Schem1
Rys1
Schem2
Schem3 (FT232R)
Rys2
Rys3 (parasite power)
Oto obrazki przedstawiające aplikację:
Ustawienia
Sterowanie i odczyt stanu linii
Wysyłanie i odbieranie tekstu / monitorowanie COM / Terminal
Gotowa klasa dla C++ Builder pod obsługę 1-Wire (dzięki za pomoc użytkownikowi polymorphism z forum za pomoc w poprawie kodu pod C++ Builder), dodałem do klasy obsługę portów COM >9.