Witam
Postanowiłem umieścić na tym forum kolejny spośród wielu ciekawych i mniej ciekawych
moich projektów typu uP.
Jeśli ktoś chce zbudować podobny termostat i szuka gotowca to ten program może mu się przydać
Jest nim cyfrowy termostat, który posiada również zegarek i budzik. Do budowy zegarka użyłem popularnego układu RTC PCF8583, który służy również jako podtrzymywana bateryjnie pamięć RAM w której przechowywane są dane dotyczące nastaw budzika, termostatu i innych.
Układ elektroniczny jest zlutowany na płytce, ale jeszcze nie umieściłem go w obudowie, ani nie zainstalowałem z żadnym pomieszczeniu (pomieszczenie dopiero w budowie
). Z racji tego chciałbym skupić mój opis na programie napisanym w bascomie 8051.
Dlatego może od początku:
Program został napisany dla mikrokontrolera AT89C4051 i zajmuje 3991 bajtów. Umożliwia między innymi:
- wyświetlanie na lcd takich paramterów jak: aktualny czas, temperatura pomieszczenia/data
- regulowany termostat w zakresie 18...32[°C] z histerezą 1°C, dokładność 1°C
- nastawienie alarmu (budzika)
- sterowanie podświetlaniem, aktywacja/dezaktywacja budzika, przełączanie pomiędzy wyświetlaniem temperatury a daty (stany bitów zapisywane do RAM'u w RTC)
- ustawienie bierzącego czasu
- sterowanie jedynie dwoma przyciskami
Po włączeniu zasilania mikrokontroler odczytuje z zegarka RTC nastawy temperatury, nastawy budzika oraz stany poszczególnych bitów odpowiadających za podświetlanie LCD itp. Potem wchodzi do nie kończącej się pętli, wyświetla odpowiednie dane na LCD i w zależności od temperatury otoczenia i temperatury ustawionej w termostacie włącza lub wyłącza grzejnik. Naciskając przycisk S2 na nie dłużej niż 250ms można przełączyć wyświetlanie data/temperatura (zrobiłem przełaczanie ze względu na "rozmiary" zastosowanego wyświetlacza LCD - 8 * 2). Trzymając ten przycisk przez dłużej niż 250ms włączamy lub wyłączamy podświetlanie LCD. Jeśli naciśnie się przycisk S2 i zaraz po nim S1 to układ przechodzi do ustawiania czasu. Naciskając przycisk S1 nie dłużej niż 250ms przechodzimy do ustawiania termostatu, trzymając ten przycisk dłużej aktywujemy lub dezaktywujemy budzik. Jeśli natomiast przycisnie się S1 i zaraz po nim S2 to układ przechodzi do ustawiania budzika. Podczas ustawiania budzika bądź termostatu, jeśli nie będzie naciskany żaden przycisk to układ po kilku sekundach rpzejdzie do normalnej pracy zapisując ustawienia.
Obsługa jest trochę skomplikowana, ale można się szybko przyzwyczaić
Urządzeń tego typu z tego co widziałem nie jest za dużo na tym forum...
P.S.
Nie dawno napisałem program do obsługi przedwzmacniacza TDA7318, ma kilka automatycznych nastaw (flat, bass & treble up/cut, loundness), wyposażony też jest w stan czuwania... no i wszystkom można sterować z pilota.
Jakby co to piszcie
Pozdrawiam

Postanowiłem umieścić na tym forum kolejny spośród wielu ciekawych i mniej ciekawych

Jeśli ktoś chce zbudować podobny termostat i szuka gotowca to ten program może mu się przydać

Jest nim cyfrowy termostat, który posiada również zegarek i budzik. Do budowy zegarka użyłem popularnego układu RTC PCF8583, który służy również jako podtrzymywana bateryjnie pamięć RAM w której przechowywane są dane dotyczące nastaw budzika, termostatu i innych.
Układ elektroniczny jest zlutowany na płytce, ale jeszcze nie umieściłem go w obudowie, ani nie zainstalowałem z żadnym pomieszczeniu (pomieszczenie dopiero w budowie

Dlatego może od początku:
Program został napisany dla mikrokontrolera AT89C4051 i zajmuje 3991 bajtów. Umożliwia między innymi:
- wyświetlanie na lcd takich paramterów jak: aktualny czas, temperatura pomieszczenia/data
- regulowany termostat w zakresie 18...32[°C] z histerezą 1°C, dokładność 1°C
- nastawienie alarmu (budzika)
- sterowanie podświetlaniem, aktywacja/dezaktywacja budzika, przełączanie pomiędzy wyświetlaniem temperatury a daty (stany bitów zapisywane do RAM'u w RTC)
- ustawienie bierzącego czasu
- sterowanie jedynie dwoma przyciskami
Po włączeniu zasilania mikrokontroler odczytuje z zegarka RTC nastawy temperatury, nastawy budzika oraz stany poszczególnych bitów odpowiadających za podświetlanie LCD itp. Potem wchodzi do nie kończącej się pętli, wyświetla odpowiednie dane na LCD i w zależności od temperatury otoczenia i temperatury ustawionej w termostacie włącza lub wyłącza grzejnik. Naciskając przycisk S2 na nie dłużej niż 250ms można przełączyć wyświetlanie data/temperatura (zrobiłem przełaczanie ze względu na "rozmiary" zastosowanego wyświetlacza LCD - 8 * 2). Trzymając ten przycisk przez dłużej niż 250ms włączamy lub wyłączamy podświetlanie LCD. Jeśli naciśnie się przycisk S2 i zaraz po nim S1 to układ przechodzi do ustawiania czasu. Naciskając przycisk S1 nie dłużej niż 250ms przechodzimy do ustawiania termostatu, trzymając ten przycisk dłużej aktywujemy lub dezaktywujemy budzik. Jeśli natomiast przycisnie się S1 i zaraz po nim S2 to układ przechodzi do ustawiania budzika. Podczas ustawiania budzika bądź termostatu, jeśli nie będzie naciskany żaden przycisk to układ po kilku sekundach rpzejdzie do normalnej pracy zapisując ustawienia.
Obsługa jest trochę skomplikowana, ale można się szybko przyzwyczaić

Urządzeń tego typu z tego co widziałem nie jest za dużo na tym forum...
P.S.
Nie dawno napisałem program do obsługi przedwzmacniacza TDA7318, ma kilka automatycznych nastaw (flat, bass & treble up/cut, loundness), wyposażony też jest w stan czuwania... no i wszystkom można sterować z pilota.
Jakby co to piszcie

Pozdrawiam

Cool? Ranking DIY