Zegar Tekstowy


9.09091
Ocena: None Średnia: 9.1 (11 głosujących)

Układ jak sama nazwa wskazuje jest najzwyklejszym zegarem pracującym w cyklu 24-godzinnym, z tym że sama prezentacja czasu jest 12- godzinna. Nietypowy jest jedynie sposób prezentacji czasu. Godziny i minuty podświetlane są na specjalnym panelu za pomocą odpowiednio rozmieszczonych diod LED (65 sztuk). Dla przykładu godzina 12:35 reprezentowana jest przez napisy "Dwunasta", "Trzydzieści" i "Pięć". Panel główny pokazuje czas z dokładnością do 5 minut, natomiast dodatkowe 4 diody zwiększają precyzję wskazań do 1 minuty. Korzystanie z zegara może początkowo wydawać się trudne, jednak jeden dzień wystarczy aby się przyzwyczaić. Układ wyposażony jest w głośny budzik i bateryjne podtrzymanie czasu na wypadek zaniku zasilania. Całość zamknięta jest w obudowie złożonej z wypolerowanych kawałków laminatu pokrytych lakierem bezbarwnym. Do odliczania czasu wykorzystany jest popularny układ PCF8583, a całe urządzenie oparte jest o mikrokontroler ATMega16. Zegar pobiera około 100mA prądu, przy zasilaniu 5V, podczas normalnej pracy.

Działanie:

Schemat ideowy sterownika znajduje się na rysunku poniżej:

Sercem układu jest mikrokontroler U1 (ATMega16) wraz z rezonatorem kwarcowym X1 (16MHz) i kondensatorami C1 (22pF) i C2 (22pF). Przyciski S1 - S3 (uSwitch 12x12mm) stanowią klawiaturę zegara, pozwalając ustawić czas i budzik. Diody DL1 - DL4 (LED) stanowią wyświetlacz pomocniczy dla licznika minut. Złącze Prog (goldpin) służy do zaprogramowania procesora. Za odmierzanie czasu w układzie odpowiedzialny jest zegar czasu rzeczywistego U2 (PCF8583). Do jego działania wymagany jest rezonator kwarcowy X2 (32,768kHz) i kondensator C8 (33pF). Dodatkowe kondensatory C6 (100nF) i C7 (47uF) zapewniają filtrację napięcia zasilania samego układu U2. Po zaniku napięcia zasilania pomiar czasu jest podtrzymywany za pomocą baterii BAT1 (3V) i zasilacza bezprzerwowego z diodami D1 (1N4148) i D2 (1N4148). Rezystory R3 (3,3k) i R4 (3,3k) umożliwiają poprawną pracę magistrali I2C, a co za tym idzie poprawny odczyt i zapis czasu z/do układu U2. Wyświetlacz podzielony jest na dwa segmenty sterowane multipleksowo poprzez tranzystory T1 (BC327) i T2 (BC327). Rezystory R1 (3,3k) i R2 (3,3k) ograniczają prąd baz tych tranzystorów. Katody diod w segmentach wyświetlaczy sterowane są za pośrednictwem buforów inwerterów U4 (ULN2803) i U5 (ULN2803), podobnie jak sygnalizator piezo z generatorem BUZ1 (5V). Złączem wyświetlacza są listwy goldpin GP1, GP2 i GP3. Zasilanie podłączamy do złącza Z1 (ARK2), wprost na kondensator filtrujący C3 (220uF) i układ stabilizatora U3 (7805). Kondensatory C5 (100nF) i C4 (100uF) filtrują napięcie zasilania.

Schemat ideowy wyświetlacza znajduje się na rysunku poniżej:

Wyświetlacz zegara nie stanowi nic odkrywczego, rezystory R1 - R65 (220R-330R dobrać w zależności od diody) ograniczają prąd led'ów D1-D65. Diody podzielone są na dwie sekcje, pierwszą stanowią elementy D1-D30, a drugą diody D31-D65. Kontakt z płytką sterownika zapewniają złącza goldpin GP1, GP2 i GP3.

Budowa:


Sterownik z powodzeniem można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż płytki nie jest skomplikowany i należy go rozpocząć od wlutowania trzech zworek. Kolejne powinny być rezystory i podstawki pod układy scalone i procesor. Zamiast zwykłych diod D1 i D2 można zastosować diody Schottkiego. Stabilizator U3 powinien być zamontowany w pozycji leżącej, bez radiatora, chyba że napięcie wejściowe będzie większe niż 9V-12V wtedy moc tracona w stabilizatorze może być duża. Obudowę rezonatora kwarcowego X1 warto podłączyć do masy gdyż bez tego może czasami zdarzyć się zawieszenie mikrokontrolera U1. Najłatwiej jest to wykonać lutując odcinek przewodu od nóżki kondensatora C2 do obudowy kwarcu. Przyciski S1 - S3 mogą być uSwitchami o dłuższej ośce co potem ułatwi obsługę zegara. Złącza szufladkowe GP1, GP2 oraz GP3 muszą zostać przylutowane od spodu płytki, w postaci jednego kawałka listwy precyzyjnej. Rezonator kwarcowy X2 należy wlutować w pozycji leżącej, tak aby znajdował się nad wytrawionym polem masy (fotografia). Diody DL1-DL4 montujemy pod kontem 90 stopni zgodnie z fotografiami projektu, gdyż będą one wystawały przez obudowę zegara. Cały układ najlepiej zasilać z ładowarki od telefonu (dostępna na aukcjach internetowych) lub z klasycznego zasilacza wtyczkowego. Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj.

Wyświetlacz można zbudować na podstawie płytki dostępnej tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Płytka wyświetlacza jest równie prosta w montażu, największy problem sprawią montowane od spodu goldpiny GP1, GP2 i GP3. Diody powinny być wlutowane maksymalnie blisko płytki. Warto zastosować diody o podwyższonej jasności i szerokim kącie świecenia. Rezystory powinny być o małych gabarytach, można zamiast nich wlutować rezystory SMD od strony ścieżek. Wartości rezystorów należy dobrać do posiadanych diod aby jasność była zadowalająca a jednocześnie pobór prądu nie był duży. Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj.

Wykaz Elementów:

Sterownik:

1x Złącze Śrubowe ARK2(podwójne)
1x Listwa Goldpin 1x5
3x Złącze szufladkowe 1x8
1x Bateria 3V(CR2032) + Podstawka
3x uSwitch 12x12mm

4x 3,3k
4x 470R

2x 22pF
1x 33pF
2x 100nF
1x 47uF Elektrolit
1x 100uF Elektrolit
1x 220uF Elektrolit

1x Rezonator Kwarcowy 16MHz
1x Rezonator Kwarcowy 32768Hz
2x 1N4148
4x Dioda LED
2x BC327
1x Stabilizator 7805
1x Mikrokontroler ATMEGA16 + Podstawka
2x Bufor Inverter ULN2803
1x Układ RTC PCF8583
1x Buzzer z Generatorem 5V

Wyświetlacz:

3x Listwa Goldpin 1x8
65x 220R (lub 330R, dobrać we własnym zakresie)
65x Dioda LED

Programowanie:


Kod Źródłowy został napisany w BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej:

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "m16def.dat"
$crystal = 16000000
 
Config Porta = &B11111111 : Porta = &B00000000
Config Portb = &B11111000 : Portb = &B11111111
Config Portc = &B11111111 : Portc = &B00000111
Config Portd = &B11111111 : Portd = &B11111111
 
Config Scl = Portd.6
Config Sda = Portd.5
I2cinit
 
Config Timer0 = Timer , Prescale = 256
Enable Timer0 : On Timer0 Prztimer0
 
Enable Interrupts
 
Sw_port Alias Pinb
Buzzer Alias Portc.3
L1 Alias Portb.3
L2 Alias Portb.4
L3 Alias Portb.5
L4 Alias Portb.6
 
'********** Konfiguracja uC Koniec  ************
'******************  Zmienne *******************
'***********************************************
 Dim Godziny As Byte , Minuty As Byte , Sekundy As Byte
 Dim Godziny_bcd As Byte , Minuty_bcd As Byte , Sekundy_bcd As Byte
 Dim Godziny_budz As Byte , Minuty_budz As Byte
 Dim Sw As Byte , Stan_sw As Byte , Licznik_sw As Byte
 Dim Poz_ust As Byte , Poz_wysw As Byte
 Dim Zapisz_czas As Bit
 Dim Alarm_en As Bit , Al_buz As Bit , Beep_buz As Bit , Beep As Byte
 Dim Wysw(2) As Word
 Dim Mux As Bit
 Dim Helpbyte(1) As Byte
 Dim Mig As Bit , Godz24 As Bit
 Dim Dzielnik(1) As Byte
 Dim Flaga_4ms As Bit , Flaga_500ms As Bit
'*************  Zmienne Koniec  ****************
'************ Warunki Poczatkowe ***************
'***********************************************
 Poz_wysw = 1
'*******  Warunki Poczatkowe Koniec  ***********
'**************  Petla glowna ******************
'***********************************************
Do
  If Flaga_4ms = 1 Then
    Flaga_4ms = 0
 
    Gosub Przyciski
    Gosub Wyswietlanie
 
    If Beep <> 0 Then
      Beep_buz = 1
      Decr Beep
    Else
      Beep_buz = 0
    End If
 
    If Al_buz = 1 Or Beep_buz = 1 Then Buzzer = 1 Else Buzzer = 0
 
  End If
 
 
  If Flaga_500ms = 1 Then
    Flaga_500ms = 0
 
    Toggle Mig
 
    If Poz_wysw <> 1 Or Poz_ust = 0 Then
      If Zapisz_czas = 1 Then
        Gosub Zapis_rtc                                     'jednorazowo zapisuje po wyjściu z ustawień
        Zapisz_czas = 0
      Else
        Gosub Odczyt_rtc                                    'odczytuje czas
      End If
    Else
      Zapisz_czas = 1
    End If
 
    Select Case Poz_wysw
      Case 1:
        Wysw(1) = Godziny
        Wysw(2) = Minuty
      Case 2:
        Wysw(1) = Godziny_budz
        Wysw(2) = Minuty_budz
    End Select
 
    Gosub Przelicz
    Gosub Alarm
 
  End If
 
Loop
End
'************ Petla glowna Koniec **************
 
 
'************ Przerwanie timer 0 ***************
'***********************************************
Prztimer0:
  Timer0 = 5
  Set Flaga_4ms
  Incr Dzielnik(1)
  If Dzielnik(1) = 125 Then
    Dzielnik(1) = 0
    Set Flaga_500ms
  End If
Return
'******** Przerwanie timer 0 Koniec ************
 
'****************** Zapis RTC ********************
Zapis_rtc:                                                  'zapisuje czas g,m i s do układu RTC
  Godziny_bcd = Makebcd(godziny)
  Minuty_bcd = Makebcd(minuty)
  Sekundy_bcd = Makebcd(sekundy)
 
  I2cstart
  I2cwbyte 162
  I2cwbyte 0                                                'rejestr kontrolny
  I2cwbyte 8                                                'ustawienie rejestru zapisu daty
 
  I2cstop
  I2cstart
  I2cwbyte 162
  I2cwbyte 2
 
  I2cwbyte Sekundy_bcd
  I2cwbyte Minuty_bcd
  I2cwbyte Godziny_bcd
  I2cstop
Return
'************* Zapis RTC Koniec *****************
'****************** Odczyt RTC ********************
Odczyt_rtc:                                                 'odczytuje czas z RTC do zmiennych
  I2cstart
  I2cwbyte 162                                              'adres zapisu
  I2cwbyte 2                                                'rejestr sekund
  I2cstart
  I2cwbyte 163                                              'adres odczytu
  I2crbyte Sekundy_bcd , Ack
  I2crbyte Minuty_bcd , Ack
  I2crbyte Godziny_bcd , Nack
  I2cstop
  Sekundy = Makedec(sekundy_bcd)
  Minuty = Makedec(minuty_bcd)
  Godziny = Makedec(godziny_bcd)
Return
'************** Odczyt RTC Koniec *****************
'************** Przelicz *****************
Przelicz:
  If Wysw(1) > 12 Then Godz24 = 1 Else Godz24 = 0
  Wysw(1) = Wysw(1) Mod 12
 
    Select Case Wysw(1)
       Case 0 : Wysw(1) = &B0000000100000000
       Case 1 : Wysw(1) = &B0000000000000001
       Case 2 : Wysw(1) = &B0000000000000010
       Case 3 : Wysw(1) = &B0000010000000000
       Case 4 : Wysw(1) = &B0000000000100000
       Case 5 : Wysw(1) = &B0000000000000100
       Case 6 : Wysw(1) = &B0000000001000000
       Case 7 : Wysw(1) = &B0000000000001000
       Case 8 : Wysw(1) = &B0000000010000000
       Case 9 : Wysw(1) = &B0000001000000000
      Case 10 : Wysw(1) = &B0000000000010000
      Case 11 : Wysw(1) = &B0000100000000000
      'Case 12 : Wysw(1) = &B0000000100000000
    End Select
 
    Helpbyte(1) = Wysw(2) Mod 5
    Wysw(2) = Wysw(2) / 5
 
    Select Case Wysw(2)
       Case 0 : Wysw(2) = &B0000000000000000                '0....4
       Case 1 : Wysw(2) = &B0000000000001000                '5...9
       Case 2 : Wysw(2) = &B0000010000000000                '10...14
       Case 3 : Wysw(2) = &B0000000000000001                '15...19
       Case 4 : Wysw(2) = &B0000100000000000                '20...24
       Case 5 : Wysw(2) = &B0000100000001000                '25...30
       Case 6 : Wysw(2) = &B0000000001000000                '31...34
       Case 7 : Wysw(2) = &B0000000001001000                '35...39
       Case 8 : Wysw(2) = &B0000000010000000                '40...44
       Case 9 : Wysw(2) = &B0000000010001000                '45...49
      Case 10 : Wysw(2) = &B0000000000100000                '50...54
      Case 11 : Wysw(2) = &B0000000000101000                '55...59
    End Select
 
    Select Case Helpbyte(1)
       Case 0 :
         L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1
       Case 1 :
         L1 = 0 : L2 = 1 : L3 = 1 : L4 = 1
       Case 2 :
         L1 = 0 : L2 = 0 : L3 = 1 : L4 = 1
       Case 3 :
         L1 = 0 : L2 = 0 : L3 = 0 : L4 = 1
       Case 4 :
         L1 = 0 : L2 = 0 : L3 = 0 : L4 = 0
    End Select
 
    If Poz_ust <> 0 Then
      If Poz_ust = 1 Then
        If Mig = 1 Then
          Wysw(1) = 0 : L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1
        Else
          If Godz24 = 1 Then
            L1 = 1 : L2 = 1 : L3 = 1 : L4 = 0
          Else
            L1 = 1 : L2 = 1 : L3 = 0 : L4 = 1
          End If
        End If
      End If
      If Poz_ust = 2 Then
        If Mig = 1 Then
          Wysw(2) = 0 : L1 = 1 : L2 = 1 : L3 = 1 : L4 = 1
        End If
      End If
      Wysw(2).4 = 1
      If Poz_wysw = 1 Then Wysw(2).1 = 1
      If Poz_wysw = 2 Then Wysw(2).2 = 1
    Else
      If Poz_wysw = 2 Then Wysw(2).2 = 1
    End If
Return
 
'************** Wyswietlanie *****************
Wyswietlanie:
  Toggle Mux
  If Mux = 1 Then
    Set Portc.2
    Porta = Wysw(1)
    Portc.4 = Wysw(1).8
    Portc.5 = Wysw(1).9
    Portc.6 = Wysw(1).10
    Portc.7 = Wysw(1).11
    Reset Portc.1
  Else
    Set Portc.1
    Porta = Wysw(2)
    Portc.6 = Wysw(2).10
    Portc.7 = Wysw(2).11
    Reset Portc.2
  End If
Return
 
'**************   Alarm   *****************
Alarm:
 If Alarm_en = 1 Then
   If Godziny = Godziny_budz And Minuty = Minuty_budz Then Toggle Al_buz Else Al_buz = 0
 Else
   Al_buz = 0
 End If
Return
 
'************** Przyciski *****************
Przyciski:
Sw = Sw_port And &B00000111
If Sw <> &B00000111 And Stan_sw = Sw Then
    Incr Licznik_sw
    If Licznik_sw = 158 Then
      Licznik_sw = 0
      Select Case Stan_sw
        Case &B00000110:                                    'incr
        '***********************************************************
          Select Case Poz_wysw
            Case 1:
              Select Case Poz_ust
                Case 0:
                  Poz_ust = 1
                Case 1:
                  Incr Godziny
                  If Godziny = 24 Then Godziny = 0
                  Sekundy = 0
                Case 2:
                  Incr Minuty
                  If Minuty = 60 Then Minuty = 0
                  Sekundy = 0
              End Select
 
            Case 2:                                         'dotyczy budzika
              Select Case Poz_ust
                Case 0:
                  Poz_ust = 1
                Case 1:
                  Incr Godziny_budz
                  If Godziny_budz = 24 Then Godziny_budz = 0
                Case 2:
                  Incr Minuty_budz
                  If Minuty_budz = 60 Then Minuty_budz = 0
              End Select
 
          End Select
 
        Case &B00000011:                                    'decr
        '***********************************************************
          Select Case Poz_wysw
            Case 1:
              Select Case Poz_ust
                Case 0:
                  Toggle Alarm_en
                  If Alarm_en = 1 Then Beep = 125 Else Beep = 20
                Case 1:
                  Decr Godziny
                  If Godziny = 255 Then Godziny = 23
                  Sekundy = 0
                Case 2:
                  Decr Minuty
                  If Minuty = 255 Then Minuty = 59
                  Sekundy = 0
              End Select
 
            Case 2:                                         'dotyczy budzika
              Select Case Poz_ust
                Case 0:
                  Toggle Alarm_en
                  If Alarm_en = 1 Then Beep = 125 Else Beep = 20
                Case 1:
                  Decr Godziny_budz
                  If Godziny_budz = 255 Then Godziny_budz = 23
                Case 2:
                  Decr Minuty_budz
                  If Minuty_budz = 255 Then Minuty_budz = 59
              End Select
 
          End Select
 
        Case &B00000101:                                    'next menu
        '***********************************************************
          If Poz_ust > 0 Then
            'jeśli ustawinia
             Incr Poz_ust
             If Poz_ust >= 3 Then Poz_ust = 0
          Else
             'jesli wyswietlanie
             Incr Poz_wysw
             If Poz_wysw = 3 Then Poz_wysw = 1
          End If
 
      End Select
    End If
  Else
    Stan_sw = Sw
    Licznik_sw = 145
  End If
 
Return
'***********************************************

Ustawienia fusebitów dla ATmega 16:

Część Mechaniczna:

Duży problem może stanowić konstrukcja mechaniczna zegara gdyż nie jest ona prosta do wykonania i wymaga odrobiny cierpliwości. Najważniejszy jest panel czołowy, wykonany z cienkiego laminatu jednostronnego (czym cieńszy tym lepszy, dobry mógłby być 0.5mm lub 0.8mm). Wydruk do wprasowania musi być idealny bo każde podtrawienie po oświetleniu diodami będzie potem widać. Panel przedni można zrobić odrobinę większy niż proponowany rysunek, zaklejając obrzeża płytki taśmą klejącą aby się nie podtrawiły. Zawsze łatwiej będzie podszlifować panel do reszty obudowy niż robić nowy, odrobinę większy.

Drugim etapem montażu jest zrobienie przegródek z tyłu panelu przedniego za pomocą pasków laminatu o szerokości 1-1.5cm. Każdy napis na wyświetlaczu oddzielony jest od drugiego przynajmniej jedną literą "fałszywą", która nie powinna być podświetlana, a umożliwi wklejenie dwóch przegródek i lepsze oddzielenie jednego napisu od drugiego. Najprościej narysować od tyłu panelu przedniego w którym miejscu powinny być zamocowane paski laminatu. Klejenia dokonujemy za pomocą Super Glue lub podobnego kleju, zważając aby nie było szpar między przegródkami oraz panelem a przegródkami. Wszystkie szpary i niedociągnięcia zaowocują przeświecaniem jednego znaku na drugi. Pomocą przy klejeniu będą fotografie projektu u dołu strony. Po przyklejeniu przegródek szlifujemy drobnym papierem ściernym panel przedni, a następnie malujemy lakierem bezbarwnym w sprayu.

Płytka sterownika z płytką wyświetlacza powinna być skręcona za pomocą śrubek 3mm, gdyż w innym przypadku po naciśnięciu przycisku goldpiny lub złącze szufladkowe mogą się wyłamać z płytek. Jeśli wszystko jest dobrze wykonane, a przegródki poprawnie wklejone to płytka wyświetlacza powinna przyłożyć się prosto do panelu przedniego a diody schować się w przegródkach. W zależności od długości napisu przegródki mają różne długości i różną ilość podświetlających je diod. Przymocowanie płytki wyświetlacza do panelu z napisami można wykonać w dowolny sposób, np wiercąc w płytce wyświetlacza małe dziurki 1mm i przekładając kawałki drutu przylutowane uprzednio do laminatu w przegródkach.

Boki i górę obudowy także wycinamy z pasków laminatu, szlifujemy i lakierujemy podobnie jak panel przedni, jeśli chodzi o tył obudowy to ja pozostawiłem odkryty aby można było podziwiać budowę zegara :)

Obsługa:

Zegar obsługujemy za pomocą klawiatury z trzema przyciskami. Podczas normalnego wyświetlania czasu, przyciskiem S1 włączamy i wyłączamy obsługę budzika, krótki pisk potwierdza wyłączenie, natomiast długi świadczy o tym że budzik będzie działał. Naciskanie na przycisk S2 powoduje cykliczne przechodzenie do widoku ustawionego czasu budzenia lub aktualnego czasu. Przyciśnięcie S3 na odpowiednim widoku wejdzie w tryb ustawiania, bądź to zegara bądź budzika. Przyciski S3 i S1 działają wtedy odpowiednio jako + i -, natomiast poprzez S2 przechodzimy do ustawień minut, a potem do normalnej pracy.

Podczas ustawiania godzin, miganie diody DL2 mówi o tym że jest to godzina poranna AM, natomiast miganie DL1 świadczy o porze popołudniowej (PM). Gdy zegar pokazuje czas nie ma możliwości podglądu czy jest to godzina AM, czy PM, ale uważam że pomylenie 6 rano z 18 było by trudne :)

Zdjęcia Projektu:

ZałącznikWielkość
Sterownik Schemat62.97 KB
Sterownik Płytka22.47 KB
Sterownik Płytka (odbicie lustrzane) 22.35 KB
Sterownik Płytka (3 na stronie)61.83 KB
Sterownik Montowanie30.32 KB
Wyświetlacz Schemat82.01 KB
Wyświetlacz Płytka 29.79 KB
Wyświetlacz Płytka (odbicie lustrzane) 29.67 KB
Wyświetlacz Płytka (2 na stronie) 56.76 KB
Wyświetlacz Montowanie57.81 KB
Kod Źródłowy (*.bas)10.41 KB
Program po kompilacji (*.bin)3.59 KB
Program po kompilacji (*.hex)10.12 KB
Panel Przedni (*.pdf)29.57 KB
Panel Przedni (*.svg)5.57 KB



Portret użytkownika dudi69

???

Nie jestem pewien czy się zrozumieliśmy.
W sumie to tylko 43 sekcje i ponad 2k kombinacji wyświetlania
Jaka będzie różnica pomiędzy wyświetlaniem "dwunastki", a "piątki",... oprócz ilości ledów w sekcji?
Rozumiem, a przynajmniej mi się tak wydaje że... U Kolegi w projekcie, różnica ilości ledów w sekcji odpowiada wyłącznie za równomierne podświetlenie.
Jaka będzie różnica pomiędzy palącą się "dwunastką" w T?0,01...59,9s, a palącą w T?0,01...54,9 + impusly w T?55...59,9s?, chyba tylko w programowaniu.
Gdzie tkwi problem????
mirley, proszę nie irytuj się moimi pytaniami, tylko powoli łopatologicznie wyłuszcz.
Bo jestem zielony w takich projektach, a zapaliłem się bardzo do tego Twojego zegaraw w mojej wersji;)
Co do osadzenia ledów w wyświetlaczu , to mam wrażenie że pcb z niezbędnym minimum ścieżek
x*(D+R)*46, a potem drutologia do GP???
Ew. pcb trzywarstwowe i git :)....żart!!!
Czy można przenieść z panelu przedniego USTAW#BUDZIK#CZAS w inne miejsce w zamian wstawić ZERO#ZERO??? Wyświetlało by np: czternasta zero zero, ... zero jeden, ... zero dwie...itd.


Portret użytkownika mirley

Re: Zegar

Źle się wyraziłem odnośnie migania.... myslac ogólnie jak chciałes żeby minuty migały to gdzy będzie 12, 13 itp to będzie migały całe minuty a nie jednostki minut. Na takiej samej zasadzie jak będzie np 58 to powinno migac zarówno 50 jak i 8. W praktyce jeśli będziesz migał tylko na 5 sekund do końca to wystarczy zrobić miganie na 5-9

Wyświetlacz możesz ułożyć sobie jak chcesz tylko żebyś potem to oprogramował odpowiednio

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mtszrbn

pytanie

mam pytanie: ile mniej więcej kosztowało Cię wygrawerowanie płytki?

Portret użytkownika mtszrbn

no i jak to zrobiłeś, że

no i jak to zrobiłeś, że środki liter Ci nie wypadają?

Portret użytkownika mirley

Re: Zegar

Nic nie grawerowałem, panel przedni jest trawiony na laminacie a diody świecą przez laminat......Polecam jednak zamówić laserowo grawerowaną np folię i nakleić ją na plexi, będzie lepszy efekt

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika wilus

zegar

Witam jak jest wyświetlana np godzina 9:17 ??

Portret użytkownika mirley

Re: Zegar

Wyświetlana jest 9:15 i dwie diody u góry co oznacza +2.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika wilus

led

witam jak przerobić układ aby można było podpiąć do tego taśmy LED 12V??

Portret użytkownika mirley

Re: Zegar

Zamiast tranzystorów T1 T2 trzeba dać dwa tranzystory, najpierw NPN a potem PNP podłączony do 12V ponieważ trzeba zamienić poziom logiczny 0-5V na 0-12V dla ledów. W programie trzeba zanegować sygnały jakie trafiają na T1 i T2

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.