logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zrobić zegarek z datą i termometrem na Atmega 8/32?

krzysiekdg 10 Paź 2013 20:37 4173 20
REKLAMA
  • #1 12829966
    krzysiekdg
    Poziom 13  
    Posty: 132
    Ocena: 33
    Witam chciałbym sobie zrobić zegarek na Atmega 8 lub 32 zegarek z data i termometrem na segmentowych wyświetlaczach LED.

    Jak zrobić zegarek z datą i termometrem na Atmega 8/32?


    Szukałem na googlu i elektrodzie ale są tylko albo same zegarki albo same termometry, moje pytanie czy dało by się zrobić takie coś na jednym układzie i czy ktoś mógłby mi w tym pomóc.

    najbardziej zależy mi na napisaniu programu z resztą sobie dam radę.
  • REKLAMA
  • #2 12829997
    Kuniarz
    Moderator Projektowanie
    Posty: 4520
    Pomógł: 371
    Ocena: 825
    No to lecimy ! W jakiej rodzinie mikrokontrolerów się czujesz i w czym chcesz napisać soft ? Wyświetlacze w takiej ilości trzeba multipleksować, więc proponuję od tego zacząć poszukiwania. Czekam na efekty z guglarki, co znalazłeś w temacie multipleksowania 17tu wyświetlaczy + LEDy ( zdajesz sobie sprawę, że musisz zapanować nad ponad 120-toma LEDami ?).
    Pomogłem? Kup mi kawę.
  • #3 12830172
    krzysiekdg
    Poziom 13  
    Posty: 132
    Ocena: 33
    Kuniarz - dzięki za zainteresowanie

    Nie jestem pewien ale czy w multipleksowaniu chodzi o to że potrzeba ośmiu portów sterujących segmentami i po jednym porcie na każdą dodatkową cyfrę wyświetlacza np anodę czy katodę przez tranzystor?
  • #4 12830191
    Kuniarz
    Moderator Projektowanie
    Posty: 4520
    Pomógł: 371
    Ocena: 825
    krzysiekdg napisał:
    Nie jestem pewien ale czy w multipleksowaniu chodzi o to że potrzeba ośmiu portów sterujących segmentami i po jednym porcie na każdą dodatkową cyfrę wyświetlacza np anodę czy katodę przez tranzystor?


    Tak w zasadzie to chodzi o 8 PINÓW jednego portu (7 segmentów + kropka) oraz tyle pinów innych portów, ile masz cyfr. Te piny sterujące cyframi najlepiej oczywiście przez klucze tranzystorowe. Dla uproszczenia konstrukcji można dać scalaczki z serii ULN2003 itp.
    Pomogłem? Kup mi kawę.
  • #5 12830270
    krzysiekdg
    Poziom 13  
    Posty: 132
    Ocena: 33
    Wszystko ładnie pięknie ale z pisania programu który to wszystko obsłuży jestem cienki :(
  • REKLAMA
  • #6 12830291
    Konto nie istnieje
    Poziom 1  
  • #7 12830334
    Kuniarz
    Moderator Projektowanie
    Posty: 4520
    Pomógł: 371
    Ocena: 825
    krzysiekdg napisał:
    Wszystko ładnie pięknie ale z pisania programu który to wszystko obsłuży jestem cienki

    No to określ się teraz, czy próbujesz, czy odpuszczasz. Nikt tu za Ciebie tego nie napisze, ale z pewnością uzyskasz odpowiedzi na KONKRETNE pytania, np. jak ustawić prekskaler przerwań, jak szybko przepisywać tablice na port, itp.
    Pomogłem? Kup mi kawę.
  • #8 12830480
    perlon
    Poziom 20  
    Posty: 254
    Pomógł: 36
    Ocena: 3
    Przy takiej ilości LED'ów to chyba trzeba patrzeć albo na dużo szybsze procki, spróbować multipleksu z dwoma portami na segmenty+9 pinów po parze wyświetlaczy na pin(multipleks przyspiesza dwukrotnie), albo patrzeć w kierunku rejestrów przesuwnych.
  • REKLAMA
  • #9 12830878
    korrus666
    Poziom 40  
    Posty: 5219
    Pomógł: 584
    Ocena: 476
    Zdecydowanie prościej będzie użyć zamiast segmentów LED wyświetlacza 2x16 znaków. Program do napisania też prostszy. Pytanie tylko czy autor tematu jest zainteresowany takim rozwiązaniem. Widoczność takiego wyświetlacza może być gorsza ale to już zależy od tego jakiego wyświetlacza użyjemy.
  • #10 12831326
    GanzConrad
    Poziom 25  
    Posty: 934
    Pomógł: 67
    Ocena: 202
    nie myślałeś o tym, aby ograniczyć ilość wyświetlaczy do 6 sztuk i wyświetlać informacje naprzemiennie np co 2 sek? Dodatkowo możesz wrzucić diodę RGB i zmieniać kolor razem ze zmianą wyświetlanych informacji. Mam coś takiego gotowego (sam wyświetlacz na pcb ) i całkiem normalnie to wygląda. Poza tym wyświetlanie roku na 4 osobnych cyfrach nie ma większego sensu.
  • #11 12832210
    krzysiekdg
    Poziom 13  
    Posty: 132
    Ocena: 33
    w sumie z ta data to faktycznie po co robic cos co nigdy za zycia ukladu sie nie zmieni :)
    Tak że postawie na date bez 20 z przodu 2013 -> 13
  • #12 12834610
    GanzConrad
    Poziom 25  
    Posty: 934
    Pomógł: 67
    Ocena: 202
    dodatkowo pomyśl nad wykorzystaniem PWM, aby zmniejszać jasność w zależności od pory dnia. Tyle wyświetlaczy to spora latarka, która przy stałym multipleksowaniu może być jednocześnie słabo widoczna w dzień i zbyt jasna w nocy.
    Miałem na myśli coś takiego:
    Jak zrobić zegarek z datą i termometrem na Atmega 8/32?
    Dodatkowo, przy przełączaniu danych możesz wyświetlać ich więcej i nie ograniczać się do np. jednej temperatury, ale również wyświetlać zewnętrzną, piec itp
  • #13 12834646
    krzysiekdg
    Poziom 13  
    Posty: 132
    Ocena: 33
    w sumie dobry pomysl z ta automatyczna regulacją podświetlania led w zaleznosci od natezenia swiatla :)
  • #14 12836819
    Konto nie istnieje
    Poziom 1  
  • #16 12932919
    krzysiekdg
    Poziom 13  
    Posty: 132
    Ocena: 33
    No tak ale tu chodzi o to zeby bylo na atmege 8 lub 32
  • #17 12933956
    2rs232
    Poziom 18  
    Posty: 141
    Pomógł: 28
    Ocena: 20
    Idąc za radą korrus666 oraz stosując rozwiązanie pokazane przez emarcus dla np. takiego wyświetlacza 20x2 big możesz uzyskać całkiem czytelny zegar.
  • REKLAMA
  • #18 12934124
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 734
    A z wyświetlaczami LED też można sobie poradzić. Zawsze można zrobić multipleksowanie potrójne - tj. wykorzystujemy 3x8 linii i łączymy 3 wspólne końce wyświetlaczy i wtedy w jednym obiegu zapalamy cyfrę na 3 wyświetlaczach. Dodatkowo wszystko możemy podłączyć za pomocą rejestrów przesuwnych (74HC595 lub ich dedykowane odpowiedniki będące driverami LED z regulacją prądu diody) i wtedy procesor musi użyczyć 4 linii sterujących i relatywnie niewielkiego czasu operacji na wysłanie tych kilku bajtów w przerwaniu timera.
  • #19 12949655
    ptero
    Poziom 24  
    Posty: 621
    Pomógł: 68
    Ocena: 171
    Witajcie.
    Hmm. 7 bitów do wyświetlenia cyfry plus ósmy bit na mruganie dwukropkiem. Można nawet proste napisy wyświetlać. Lub tylko 4 bity dla UC7447.

    Do tego 4 bity na multipleksowe przełączanie kolejnych wyświetlaczy np. HC4514

    Plus 2 bity na obsługę I2C dla zegara z podtrzymaniem bateryjnym i termometru, albo kilku.

    Roku w ogóle bym nie wyświetlał a za termometrem dodałbym jeden wyświetlacz z symbolem stopni.
    Nawet BASCOM by to obsłużył, choć nie wiem jak by to było z odświeżaniem...
    Przy 8 wyświetlaczach nie ma problemu, ale przy 14 nie próbowałem. Trzeba by potestować.
  • #20 12950169
    krzysiekdg
    Poziom 13  
    Posty: 132
    Ocena: 33
    Ma ktoś jakieś schematy i wsady do takiego projektu? Każda pomoc się przyda.
  • #21 12950220
    yokoon
    Poziom 29  
    Posty: 1349
    Pomógł: 119
    Ocena: 144
    krzysiekdg napisał:
    Wszystko ładnie pięknie ale z pisania programu który to wszystko obsłuży jestem cienki :(


    Witam.

    Wysłałem Ci program na PW, który sam używam:

    Atmega 8 ( 8 MHz)

    LCD 16 * 2 taki miałem (trochę zły, styka się czas z datą)
    Zastosować Lcd 20*2
    Zmienić polecenie Locate

    Kwarc zegarkowy 32.768 kHz

    Datę i czas wpisać przed podaniem napięcia i zgodnie z godziną właczyć napięcie

Podsumowanie tematu

✨ Użytkownik planuje stworzyć zegarek z datą i termometrem na mikrokontrolerach Atmega 8 lub 32, wykorzystując segmentowe wyświetlacze LED. W dyskusji poruszono kwestie dotyczące multipleksowania wyświetlaczy, co jest kluczowe przy dużej liczbie diod LED. Uczestnicy sugerują użycie tranzystorów do sterowania segmentami oraz rozważają alternatywne rozwiązania, takie jak wyświetlacze LCD, które mogą uprościć programowanie i zwiększyć czytelność. Wskazano również na możliwość zastosowania PWM do regulacji jasności wyświetlaczy w zależności od pory dnia. Użytkownik poszukuje pomocy w napisaniu programu oraz schematów do realizacji projektu.
Wygenerowane przez model językowy.
REKLAMA