`

Prosty zegarek LED

Projekt ten jest dość banalny, jednak zdecydowałem się go wykonać i pokazać.
Jest to prosty zegarek na wyświetlaczu siedmiosegmentowym LED. Wyświetlacz posiada cztery pozycje, jest w układzie wspólnej anody i swieci na żółto. Z rzeczy ciekawych - wyposażyłem go w trzy alarmy. Alarm sygnalizowany jest dźwiękiem buzera i zapaleniem jednej z trzech diod. Buzer dzwoni przez minutę, dioda świeci się przez 30 minut od godziny alarmu.
Godzina jednego z alarmów przechowywana jest w pamięci EEPROM i zostaje zachowana nawet po odcięciu zasilania.
Sercem urządzenia jest procesor ATmega48, gdyż akurat taki miałem pod reką. Pracuje z częstotliwością 1MHz, a jeden z liczników pracuje asynchronicznie z kwarcem 32kHz i on własnie odpowiada za liczenie czasu. Wyswiellacz jest sterowany dynamicznie.

Całość zmieściłem w obudowie KM35 z małym "eksperymentem stylistycznym" :)
Oto zdjęcia:

Elektronikę udało się zrobić na płytce uniwersalnej. Był to tez pierwszy kontakt z SMD w praktyce. Wszystkie rezystory są w rozmiarze 1206, udało się przylutowac i działa zupełnie dobrze.
Poniżej zamieszczam schemat, nie ma na nim bloku zasilającego, który tradycyjnie składa się z LM7805 oraz kilku kondensatorów, żeby nie zaciemniać. Jak widac udało się zużyć prawie wszystkie wyprowadzenia procesora.

Jak widać, nie ma na schemacie nic zaskakującego. Anody sterowane są przez tranzystory pracujące w układzie wspólnego kolektora. Katody bezpośrednio z pinów procesora. Przyciski wykorzystują wewnętrzne rezystory podciągające i nie zdarzyło się, aby ten system zawiódł. Schemat wymaga małego komentarza. Po pierwsze jest na nim tylko jedna cyfra - są oczywiście cztery połączone równolegle. Po drugie katody są co prawda połączone z portem D, ale niekoniecznie w tej kolejności. Narysowałem tak, żeby nie zaciemniać. W gotowym projekcie należy albo dopasować kolejność podłączenia, albo zmodyfikować program.
Poniżej link do projektu z zegarem w AVR Studio. Program napisany został w C. Prosze korzystać i modyfikowac do woli.

Program