(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) 4x 3,3k 2x 22pF 1x Rezonator Kwarcowy 16MHz Wyświetlacz:3x Listwa Goldpin 1x8 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:
|
|||||||||||||||||||||||||||||||||||
Re: Zegar Tekstowy
pokaż jak to działa?
Moja strona w powijakach
zegarek
Mirek świetnie nareszcie się doczekaliśmy polskiej wersji.Już wiem co będę robił w najbliższym czasie.Bardzo ładnie to wykonałeś zegarek świetny.Już myślę jak się zabrać za to, myślę że dobrze było by czymś zabezpieczyć przedni panel nie wiem może cienką plexi.? Się zobaczy.
Co cie nie zabije to cie wzmocni.
(Nie dotyczy kondensatora 230V)
zegarek
fajna sprawa
ale mam pytanko - czemu służą literki pomiędzy poszczególnymi wyrazami (np. pierwszaMdrugaDtrzeciaB)?
i jedna mała uwaga: pięćdziesiąt, zabrakło jednej literki ;)
pozdrawiam
Re: Zegar
Przedni panel zegara dobrze jest polakierować, najładniej wygląda i bez kłopotu.
Dodatkowe litery są po to aby bez problemu można było wkleić przegródki od tyłu, nawet podwójne, tak jak widać na fotografii. Wbrew pozorom nie jest to takie proste do zrobienia. Z tą pięćdziesiątką no to faktycznie straszny FAIL mi się przytrafił, a wiele osób ten panel widziało przed wykonaniem. Niestety przeróbka tego teraz jest niemożliwa do wykonania. Przez kilka miesięcy nie na to patrzyłem a błędu nie widziałem, dzięki za zwrócenie uwagi.
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.
zegar
Tak sobie myślę jak by ugryźć ten projekt bo jak wiesz Mirek zawsze moje brzydkie łapy coś muszą zmodyfikować. Głownie to chciał bym zrobić inaczej front panel bo jakoś nie przemawia do mnie ten laminat.Myślę nad wygrawerowaniem na wylot na grawerce liter na to plekxa z tyłu kalka albo jakiś mleczny materiał żeby ładnie rozpraszało.Hm.. będę w fazie testów dam znać co się ładnie prezentuje.
Co cie nie zabije to cie wzmocni.
(Nie dotyczy kondensatora 230V)
Laminat pociągnięty lakierem
Laminat pociągnięty lakierem w sprayu, wygląda na żywo naprawdę całkiem ładnie. Jednak jak masz możliwość pociągnięcia na grawerce liter w jakimś grubszym materiale, to efekt może być bardzo ciekawy.
Fotografia, Linux, programowanie, python.. czyli strona domowa || Galeria fotografii http://galeria.firlej.org
Re: Zegar
Pamiętaj że musisz zrobić sobie panel przedni we własnym zakresie bo na moim jest niestety błąd. Jeśli będziesz cos frezował na wylot to pamiętaj o specjalnych literach żeby nie wypadły środkowe części np z litery "O"
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.
zegar
Tak o błędzie wiem, zrobie sobie najpierw kilka próbek i zobaczę jak to będzie wyglądać/świecić.Jak coś pójdzie nie tak to zrobię normalnie na laminacie. Pozdrawiam.
Co cie nie zabije to cie wzmocni.
(Nie dotyczy kondensatora 230V)
Projekt
Projekt bardzo pozytywny :)
Gdyby jakoś ciekawiej wykonać przedni panel i zastosować diody o różnych kolorach, zegar mógłby robić duże wrażenie (zresztą i tak robi, ale zapewne, lepiej prezentuje się w półmroku).
Re: Zegar
W nocy nie widać niejednorodności podświetlania... tak wogóle to w projekcie dobrze jest zastosować diody o jak największym kącie świecenia
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.
Taktowanie Atmegi
Witam.Mam pytanie jakiej konkretnie Atmwge użyłeś ??Czy jeżeli zastosuje 16pu która ma maksymalne taktowanie wewnętrzne 16Mhz to mozna zrezygnować z zewnętrznego kwarcu??oczywiście przy odpowiednim ustawieniu fusebitów.
Re: M16
Możesz zrezygnować z kwarca bo nie jest on potrzebny ale taktowanie jest maksymalne 8MHz wewnętrznie. nie wiem skąd masz info że 16MHz. Musisz zmodyfikowac program tak żeby działał na 8MHz
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.
Taktowanie Atmegi
Datasheet Atmega16-16pu
Re: M16
W karcie wyraźnie napisane są zalecane tryby pracy w tabelce na stronie 27. Oczywiście uzywajać rejestrów kalibracyjnych da się to zwiekszyć ale takie działanie nie jest gwarantowane. Sam nigdy tego nie sprawdzałem więc się nie wypowiadam. W każdym bądź razie jeśli chcesz sobie tak ustawić to nikt Ci nie zabroni :)
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.
Ustawienie Fusebitów
Witam.Mam prośbe możesz podać dokładne ustawienie fusebitów jakie zaprogramowałeś.Dzięki
Re: Fusebity
ustawienia dodałem do opisu
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.
Witam ,zegar prezentuje się
Witam ,zegar prezentuje się naprawdę ładnie ,ale ma troszkę duże gabaryty ,no chyba że takie były zamierzenia projektowe. Zamiast literek podświetlanych ,nie prościej by użyć matryc LED (segmenty) i tam wyświetlać napis, pozdrowki.
P.S. Mnie się troszkę kojarzy z nagrobkiem ,ale to akurat jest na PLUS !!! i dzięki temu taka konstrukcja ma w sobie to "coś" ;)
Re: Zegar
jakby użyć wyświetlaczy led to wtedy zrobił by się efekt taki jak wyświetlacz w miejskim autobusie :) Cała idea w podświetlaniu liter właśnie dała początek tej konstrukcji
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.
zegar
witam jakie wymiary ma przedni panel??
Otwórz pdf'a i sam zobacz...?
Otwórz pdf'a i sam zobacz...?
Fotografia, Linux, programowanie, python.. czyli strona domowa || Galeria fotografii http://galeria.firlej.org
Prośba o zmiane softu
Witam.Mam wielką prośbę i pytanie czy udało by się i czy jest to wielki problem abyś zmienił soft tak aby diody z minut zapalały się pojedyńczo??
Zmątowałem sobie ten zegarek jednak na planszy dałem opis do minut w kolejności I II III IV oczywiscie po wszystkim sie zoriętowałem ze przeciez koleno się nie będą zapalać tylko świecą razem.I stad wielka prośba czy mógłbyś wprowadzić taką zmianę do softu?aby się zapalały pojedyńczo w zależnosci od minut??Był bym wielce rad:)))Z góry dziękuję
Re: Zegar
Co to znaczy zapalały się po kolei, co i jak umieściłeś dokładnie na tej planszy? Chcesz żeby zapalało sie 60 diod po kolei? chyba nie bo takie coś jest niemożliwe do zrealizowania w tym projekcie
Co do zmiany softu, to jaka ona by nie była, w najbliższych dwóch tygodniach będzie ciężko znaleźć czas na cokolwiek
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.
Prośba o zmiane softu
Źle mnie zrozumiałeś.Chodzi mi tylko o 4 diody odpowiedzialne za same minuty.Czyli jak jest 3 minuty po ktorejś godzinie to się pala wszystkie cztery a chciałbym by paliła się tylko jedna która jest przypisana do liczby 3.Załączyłbym zdjęcie tego cuda ale nie bardzo wiem jak:)
Re: Zegar Tekstowy
W takim razie zmień sobie ten fragment w programie:
W case 0 , case 1 itd są kolejne wrtości minut wynikające z reszty z dzielenia przez 5.
L1, L2 to kolejne diody
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.
Dokonałem zamiany zer na jedynki
Dokonałem zamiany zer na jedynki w odpowiednich miejscach w programie, kompiluę program i wgrywam.Jest ok z minutami(wyświetla tylko po jednej diodzie) ale godziny wariują.Wyświetla mi jednoczesnie jedenasta i siódmą.Lub różne losowo wybrane znaki jak dziesięć dwadzieścia pięć budzik.
W czym może być problem??Może ta zmiana wpływa na taki stan
Re: Zegar Tekstowy
To wróć do poprzedniego programu i sprawdź czy tez występują problemy z resztą wyświetlacza. Jak popatrzysz na schemat to jedne diody nie mają nic wspólnego z drugimi. Jak orginalny program działa to ten zmodyfikowany też powinien
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.
Właśnie wgrałem mu oryginalny
Właśnie wgrałem mu oryginalny i jest wszystko cacy.Czy może być wina programu kompilującego??
Kommpilowałem w bascomie
Re: Zegar
W niczym innym tego nie skompilujesz więc to normalne że kompilowałeś w bascomie? Jak dokłądnie wygląda ten fragment programu co pozmieniałeś?
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.
Zmieniłem program w taki
Zmieniłem program w taki sposób:
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 = 1 : L2 = 0 : L3 = 1 : L4 = 1
Case 3 :
L1 = 1 : L2 = 1 : L3 = 0 : L4 = 1
Case 4 :
L1 = 1 : L2 = 1 : L3 = 1 : L4 = 0
End Select
Re: Program
Jeśli nie przestawiałeś nic więcej to nie powinno się dziać nic złego. Diody podłączone są bezpośrednio do procesora więc nie powinny wpływać na resztę układu. możesz jeszcze wgrać twoją wersję programu i odłączyć diody
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.
Niestety to samo.Diody może i
Niestety to samo.Diody może i są podłączone osobno ale czy zmiana programu nie wpływa na jego inną część?i to podowduje nieprawidłowe działanie??Z programowania jestem noga wiec sam nie stwierdzę ale na to wygląda jeżeli po zmianie softu wszystko wraca do normy a układ pod względem mechanicznym jest w takim samym stanie.
Witam! Czy zamiast diody
Witam!
Czy zamiast diody można zastosować listwy LED: http://www.h-tech.pl/Listwy+LED-1.html
Re: Zegar tekstowy
Popatrz na schemat...możesz sobie użyć dowolnych diod i czego tam chcesz o ile będzie to na 5V pracowało. Nie wiem tylko jak chcesz to tak przyciąć aby było na konkretne długości
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.
z tym będzie mały problem one
z tym będzie mały problem one działają na 12V. Najmniejsze odcinki dostępne na rynku to 5 cm.
Re; Zegar tekstowy
To będziesz musiał przerobić sobie układ żeby działał wyświetlacz na 12V, tranzystory T1 i T2 należy zastapić dwoma tranzystorami, jeden PNP podłączony do 12V a drugi NPN do masy aby dopasować poziomy logiczne 12V do 5V. Ponadto wyświetlacz musi byc przerobiony, program pozostanie bez większych zmian, tylko trzeba zanegowac stan idący na tranzystory 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.
zegarek
http://rapidshare.com/#!download|69l35|435056839|Front_Zegar.pdf|101
tu jak ktoś chce przerobiłem przedni panel (błąd z Ć)
a czym go zasilić? jakim napięciem? Pomiędzy 5V a 9V?
Re: Zasilanie
Zasilanie DC pomiędzy 7V a 12V raczej... stabilizator musi mieć na czym pracowac
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.
jeszcze jedno pytanie. Po co
jeszcze jedno pytanie. Po co jest ten goldpin pod baterią?
Re: Zegar textowy
Podłączenie zasilania podczas programowania
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.
czy jest możliwość
czy jest możliwość użycia atmegi 32? akurat ją posiadam.
trzeba zastosować jakieś zmiany?
Re: Zegar textowy
Nie trzeba nic w układzie zmieniać... przekompiluj tylko program ze zmianą w deklaracji procka z m16def.dat na m32def.dat
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.
Ta fota fuse bitów z jakiego
Ta fota fuse bitów z jakiego programu z Burn-O-Mat?? Jak wygląda ustawianie fusebitów w BASCOM-ie??
Re: Bascom
Nie zrobię zrzutu fusebitów z bascoma bo bascom potrzebuje podłączonego procka aby pokazać tabelkę z fusebitami. Zrzut jest z burn-o-mata i wystarczy porównać opcja ustawione w tabelce z tabelką w bascomie. CKOPT przełaczyć na 0 a wszystkie bity CKSEL i SUT na 1 (wybierasz taką opcję że CKSEL=1111 i SUT=11)
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.
Działa!
Robiłem ten zegar juz jakis czas tem, ale w pewnym momencie zrobilem sobie przerwe. Coś nie chcial chodzic, dzialaly tylko diody górne ( dokladnie polowa w całym panelu). Przy pomocy nauczyciela w szkole znalazłem błąd. jedna z nóg Atmegi nie wysyłała sygnału(24 noga). Akurat ona byla odpowiedzialna za podswiatlanie polowy panelu. Rozwiązaniem problemu okazało sie ponowne przeprogramowanie Atmegi. Od tego czasu juz dziala ladnie, bez problemów. teraz pozostala mi kwestia obudowy. myśle nad zrobileniem boków i tyłu z plexi. jak skonczy to podeśle zdjęcia ;)
Czy jest możliwość?...
Witam.
Całkiem fajowy, powiedzmy..., inny nietuzinkowy projekcik. Bo od cyferek to mi już wszystko mruga;))
Mirley, jaka jest możliwość budowy zegara, żeby czas wskazywany był bardziej dokładny?
Tzn. jeszcze większe polszczenie projektu, w trybie 24-tero godzinnym.
Tak aby wskazywał np: dziewiętnasta czterdzieści dwie (19:42)???
Jak wykonać rozbudowę, oprócz tej oczywistej?... panelu przedniego.
Re: Zegar tekstowy
No to cały problem w tym żeby siąść i wymyślić układ wyrazów na panelu. Reszta się da zrobić na pewno
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.
No to mnie Kolega nie
No to mnie Kolega nie zrozumiał :))))
Chodzi mi właśnie o stronę elektroniczną + logika, bo że tak powiem, sam projekt panelu to pikuś,
powiedzmy..., Pan pikuś
Troszkę więcej wyrazów *czcionka* X wariacji, zawsze czytanych z lewej do prawej z góry do dołu.
Z nieśmiertelnym It's angole nie mają problemu.
Jak się coś ruszy u mnie w temacie układanki to dam znać, bo telepie mi się po głowie takie totalne spolszczenie, co by każdy się nauczyć czytać mógł. Chcąc nie chcąc spoglądając na zegar.
"Pan pikuś"
Oczywiście kombinacji wyrazów na panelu jest wiele jak pisałem wcześniej...
#DWUDZIESTA##JEDENASTA##DZIEWIĄTA#
##SIÓDMA##DZIEWIĘTNASTA#TRZYNASTA#
#SZESNASTA##CZWARTA##SIEDEMNASTA##
#DZIESIĄTA##TRZECIA#SZÓSTA##DRUGA#
#OSIEMNASTA##PIERWSZA##CZTERNASTA#
#PIĄTA##ÓSMA##PIĘTNASTA##DWUNASTA#
TRZYDZIEŚCI#JEDENAŚCIE#DWADZIEŚCIA
PIĘĆDZIESIĄT#DZIESIĘĆ#CZTERDZIEŚCI
USTAW#BUDZIK#CZAS#OSIEMNAŚCIE#TRZY
#DWIE#TRZYNAŚCIE#SIEDEM#DWANAŚCIE#
SZEŚĆ#DZIEWIĘTNAŚCIE#SIEDEMNAŚCIE#
#DZIEWIĘĆ#CZTERNAŚCIE#JEDEN#OSIEM#
PIĘTNAŚCIE#CZTERY#SZESNAŚCIE#PIĘĆ# ...sprawdzone i nawet w miarę poukładane, wizualnie cool:)
Oczywiście wyrazy można dowolnie przestawiać w ramach wiersza, żeby stworzyć swoją nie powtarzalną wersję zegara. W miejsce "#" wiadomo... przegrody, wstawiamy dowolną literę alfabetu, co czyni Nasz
"cyferblat" mało czytelnym na pierwszy rzut oka. I dobrze.
Może on wyglądać np. tak:
KDWUDZIESTANYJEDENASTARTDZIEWIĄTAW
GLSIÓDMABRDZIEWIĘTNASTAKTRZYNASTAU
ASZESNASTAOPCZWARTAFRSIEDEMNASTAED
HDZIESIĄTADFTRZECIAISZÓSTABNDRUGAC
ZOSIEMNASTAKLPIERWSZAGKCZTERNASTAF
RPIĄTAŚUÓSMAMIPIĘTNASTATKDWUNASTAI
TRZYDZIEŚCIÓJEDENAŚCIEWDWADZIEŚCIA
PIĘĆDZIESIĄTUDZIESIĘĆWCZTERDZIEŚCI
USTAWGBUDZIKECZASKOSIEMNAŚCIEDTRZY
FDWIESTRZYNAŚCIEBSIEDEMGDWANAŚCIEO
SZEŚĆNDZIEWIĘTNAŚCIEĘSIEDEMNAŚCIEG
MDZIEWIĘĆWCZTERNAŚCIEMJEDENZOSIEMK
PIĘTNAŚCIEBCZTERYZSZESNAŚCIEHPIĘĆJ
... w sumie to pikuś. A przecież można dodać jeszcze dodać sekundy, datę , fazy księżyca, i dni płodne :)))))))))))
Mirley, moje pytanie brzmi.
Czy jest możliwość ustawienia procesora tak aby wskazanie T -5s, zaczęło mrugać przed zmianą czasu?
Na przykład wyświetla: 23.58, cztery sekcje ( dwudziesta, trzecia, pięćdziesiąt, osiem )i ósemka zaczyna migać na pięć sekund przed zmianą czasu na 23.59 itd.
Istniała by wtedy możliwość synchronizacji innych czasomierzy podług "text clocka", albo nawet przycięcia czegoś w ostatniej sekundzie na A..drogo:)
Qrcze, jak wklejałem
Qrcze, jak wklejałem układankę w posta to było fajnie i prosto.
A jak kliknąłem "zachowaj", to się trochę poprzestawiało.
Mam nadzieje ,że Koledzy wybaczą.
Wszedłem w edycję, i na podglądzie jest wszystko jak należy.
Re: Zegar tekstowy
Da się sprawdzać coś w stylu czy sekundy sa >54 lub cos w tym stylu. Większy problem będzie z tym jak to do wyświetlania włożyć. Widze tu taki problem że jak będzie np 10:12 to musi całe "dwanaście" migać. Można by zrobić żeby całe sekundy migały
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.