Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Tykający zegarek binarny na procku z RTC

mrow 24 Nov 2009 00:21 1784 2
  • #1
    mrow
    Level 1  
    Witam

    Mam do wykonania projekt z mikroinformatyki - tykający zegarek binarny z RTC. Niestety jestem dość początkujący, mam problem z doszukaniem się paru ważnych informacji. Sam zegar nie jest problemem, mam zamiar zrobić go na jakimś procku, na przykład Atmega8. Przeglądałem dość trochę różnych takich konstrukcji (zwłaszcza na Elektrodzie), ale mam problem z jedną rzeczą. Mianowicie - jaki jest sensowny sposób na dawanie dźwięku. Widziałem układy, które mają zapamiętane melodyjki, ale mnie to nie urządza. Również oglądałem układy, którym można wprowadzić kilkadziesiąt sekund dźwięku, ale były dość skomplikowane w użyciu. Samego tworzenia dźwięku z procesora raczej nie ogarnę ;) Myślałem o kilku możliwościach tykania - o krótkim dźwięku o konkretnej częstotliwości (jakiś beeper), solitonie, nagranym dźwięku tyknięcia... tylko nie wiem na jakich częściach robić to sensownie / zrobić to tak prosto, żebym był w stanie jako początkujący to ogarnąć i oprogramować. Jakby ktoś mógł mi doradzić to byłbym bardzo wdzięczny :)

    Pozdrawiam
    mrow
    Jeszcze jedno pytanie - czy Atmega8 ma wystarczająco wejść, żeby podłączyć 20 diod zegara, 6 przycisków zmiany danej 'cyfry' i jeszcze jedno wyjście do układu, który miałby tykać? Pytam się, bo mi się zdaje, że to zadziała, ale jeszcze nie do końca ogarniam temat, zwłaszcza jeżeli chodzi o stronę programową.
  • #2
    Kuniarz
    Moderator of Designing
    Diody połącz w matrycę, przyciski też, tykanie ja bym rozwiązał tak, że pod jakieś wyjście podłączasz buzzer i w programie zmieniasz stan tego wyjścia ze 2-3 razy pod rząd, w głośniczku powinno być wówczas słychać krótkie stuknięcie.
    Polecam lekturę : Marcin Wiązania, Programowanie mikrokontrolerów AVR w języku BASCOM - masz tam dokładnie opisane łączenie w matrycę.
  • #3
    kordirko
    Level 22  
    mrow wrote:
    Witam

    Jeszcze jedno pytanie - czy Atmega8 ma wystarczająco wejść, żeby podłączyć 20 diod zegara, 6 przycisków zmiany danej 'cyfry' i jeszcze jedno wyjście do układu, który miałby tykać? Pytam się, bo mi się zdaje, że to zadziała, ale jeszcze nie do końca ogarniam temat, zwłaszcza jeżeli chodzi o stronę programową.


    Teoretycznie nie ma, bo ma 3 porty po 8 bitów (z których nie wszystkie są dostępne)
    ale w praktyce robi się tak, że robisz multipleksowanie diod - 20 sztuk dzielisz na 3 segmenty po 7 diod (ostatni 6),
    katody (albo anody) diod z każdego segmentu łączysz ze sobą, i potrzebujesz 7 wyjść
    do sterowania katod (anod) i 3 wyjścia do sterowania 3 segmentów, w sumie 10 wyjść.
    Programowo robisz to tak, że w obsłudze przerwania włączasz kolejno segmenty 1,2,3
    z częstotliwością przełączania od ok. min. 60-100Hz podając jednocześnie
    na katody właściwą kombinację. Przy tej częstotliwości człowiek nie zauważa
    że diody "mrugają", widac to jakby świeciły ciągle.
    Aby diody świeciły jasno przy takim sterowaniu, trzeba przy 3 segmentach zwiększyć im prąd x3,
    (czyli jak normalnie świeciłyby przy 10mA, to trzeba im dać ok. 30mA.
    Poszukaj hasła "multipleksowanie".

    Kup taki buczek na 5V (cena od 2 zł za te najcichsze):
    http://www.nikomp.com.pl/cgibin/shop?search=buczek
    Przy podaniu na niego impulsu o czasie trwania ok. 10-20ms słychać "pyknięcie", dopiero od ok. 50-100ms zaczyna być słyszalny dźwięk (ton).