Zegar Nixie


8.57143
Ocena: None Średnia: 8.6 (7 głosujących)

Urządzenie to jak każdy inny zagar służy do odmierzania czasu, jednak jego niezwykłość przejawia się w zastosowanym wyświetlaczu, którym są cztery lampy Nixie typu LC513. Odmierzaniem czasu zajmuje się układ zegara czasu rzeczywistego PCF8583 a całość sterowana jest za pomocą mikrokontrolera ATMega8. W celu poprawnego odliczania czasu podczas zaniku napięcia zasilającego zastosowano kondensator elektrolityczny o dużej pojemności. Lampy zasilane za pomocą Przetwornicy 9V/150V dzięki czemu nie jest konieczne stosowanie dwóch transformatorów. Zegar taki po wyposażeniu w drewnianą obudowę będzie znakomitą i nietypową ozdobą w każdym domu.



Działanie:


Schemat ideowy sterownika przedstawiony jest na rysunku poniżej:

Sercem układu jest mikrokontroler U1 (ATMega8). Pracuje on na wewnętrznym oscylatorze RC o częstotliwości 8MHz przez co dwa wolne wyprowadzenia zostały wykorzystane do sterowania katod wyświetlacza. Odmierzaniem czasu zajmuje się układ U2 (PCF8583) pracujący z rezonatorem kwarcowym X1 (32,768kHz) i kondensatorem/trymerem C3 (33pF). Jest to popularny i często stosowany układ RTC (real-time clock), zegar czasu rzeczywistego komunikujący się z mikrokontrolerem za pomocą magistrali I2C. Dioda D1 (1N4007) i kondensator C4 (4700uF/5V) stanowią prosty obwód podtrzymania na kilka godzin zasilania dla układu U2 w przypadku zaniku napięcia sieci. Rezystory R17 (3,3k) i R18 (3,3k) podciągają wyprowadzenia mikrokontrolera, stanowiące magistralę I2C, do plusa zasilania. Złącze SW (Goldpin) służy do podłączenia czterech przycisków sterujących pracą zegara. Tranzystor T11 (BC558) wraz z rezystorami R15 (3,3k) i R16 (3,3k) stanowią obwód sterujący brzęczykiem B1, który pełni rolę sygnału budzenia. Złącza GpA (Goldpin) i GpK (Goldpin) zapewniają połączenie między płytką sterownika i płytką wyświetlacza. Złącze Prog oraz rezystory R11 - R14 (330R) tworzą interfejs umożliwiający programowanie mikrokontrolera U1. Do zasilania płytki sterownika służy prosty zasilacz zbudowany w oparciu o stabilizator U3 (7805) i kondensatory C1 (220uF) i C2 (47uF). Tranzystory wysokonapięciowe T1 - T2 (MPSA42) wraz z rezystorami R1 - R10 (33k) sterują pracą katod lamp wyświetlacza.

Na rysunku poniżej przedstawiony jest schemat ideowy wyświetlacza:

Lampy L1 - L4 (LC513) podłączone są tak aby umożliwić ich multipleksowanie. Tranzystory T1 (MPSA92) i T2 (MPSA42) wraz z rezystorami R1 (33k), R2 (470k) i R3 (100k) są odpowiedzialne za dołączanie anody lampy L1 do wysokiego napięcia podczas multipleksowania. Prąd płynący przez L1 ograniczony jest za pomocą rezystora R13 (47k). Pozostałe lampy zasilane są w identyczny sposób za pomocą tranzystorów T3 - T8 i rezystorów R4 - R12. Neonówka stanowiąca punkt oddzielający minuty od godzin jest sterowana tranzystorem T9 (MPSA42). Rezystor R18 (220k) ogranicza jej prąd. Złacza GpA i GpK służą do podłączenia płytek zegara z sobą natomiast złącze HV jest punktem podłączenia przetwornicy podwyższającej zapewniającej wysokie napięcie dla lamp wyświetlacza.

Budowa:


Sterownik zegara można zbudować na płytce drukowanej dostępnej tutaj. Rysunek w odbiciu lustrzanym znajduje się tutaj. Montaż należy rozpocząć od wlutowania dwóch zworek a następnie należy zamontować wszystkie rezystory. Pod mikrokontroler U1 oraz układ RTC U2 dobrze jest wlutować podstawkę. Buzzer B1 należy umieścić po stronie druku, a następnie w tylnej ściance obudowy wykonać niewielki otwór (otwory). Zwiększy to natężenie dźwieku słyszanego z wnętrza obudowy. Zamiast kondensatora C3 dobrze jest zastosować dobrej jakości trymer 4-40pF wlutowany od strony druku. Kondensator Elektrolityczny C4 stanowiący źródło zasilania awaryjnego należy zamontować w pozycji leżącej. Stabilizator U3 po wlutowaniu w pozycji leżącej będzie wystawał poza płytkę. Żeby temu zaradzić można zastosować 78L05 w małej obudowie. Złącza GpA i GpK powinny być złączami szufladkowymi w które zostaną wpięte goldpiny na płytce wyświetlacza. Uwaga!! Na płytce brakuje kondensatora 100nF MKT, należy go wlutować od spodu płytki między nóżkami 4 i 8 układu U2. Pomocą przy konstrukcji może okazać się schemat montażowy dostępny tutaj.

Wyświetlacz można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym znajduje się tutaj. Lutowanie rozpoczynamy od zamontowania wszystkich zworek a następnie wszystkie małe elementy. Na samym końcu zabieramy się do montażu lamp i neonówki. Pod lampy zamiast podstawek najlepiej jest wykorzystać piny do złącz żeńskich typu BLS (wtyki na goldpiny montowane na kabel, takie jak tutaj) lutując w miejsce kabla pojedyńczy goldpin a następnie całość w płytkę. Na wystający pin można nałożyć kawałek koszulki termokurczliwej jak to widać na fotografiach na dole strony. Pomocą przy konstrukcji może okazać się schemat montażowy dostępny tutaj.

Obudowę do zegara najlepiej zrobić z drewna dębowego. Projekt dostępny jest tutaj. Do wykonania tej konstrukcji potrzebne jest około 70cm listwy o grubośći 8mm i szerokości 8cm. Należy zwrócić uwagę na to aby wspomniana listwa była dobrze wyheblowana i miała jednakową szerokość na całej długości (nie musi być dokładnie 8cm). Ułatwi to klejenie całości i wyeliminuje możliwość powstania szpar. Płytki w obudowie można zamocować za pomocą kleju termotopliwego. Moja obudowa "prototyp" widoczna na zdjęciach nie jest wykonana dokładnie według opisywanego projektu, gdyż on powstał na jej podstawie. Projekt posiada kilka drobnych poprawek :).

Podłączenie klawiatury:


PinC.0 +Minuty (wejdź do nastaw budzika)
PinC.1 -Minuty (włącz budzik)
PinC.2 +Godziny (wejdź do nastaw czasu)
PinC.3 -Godziny (wyłącz budzik)

Wykaz Elementów:


1x Zlacze Srubowe ARK2(podwójne)
1x Listwa Goldpin 1x2
1x Listwa Goldpin 1x6
1x Listwa Goldpin 1x10
1x Listwa Goldpin 1x5
1x Zlacze Szufladkowe 1x8
1x Zlacze Szufladkowe 1x6
1x Zlacze Szufladkowe 1x10
52x Piny do złącz żeńskich typu BLS (na goldpiny)
4x uSwitch 12x12mm (lub inny przycisk N.O.)

4x 330R
2x 3,3k
15x 33k
4x 47k
4x 100k
1x 220k
4x 470k

1x 33pF
1x 47uF Elektrolit
1x 220uF Elektrolit
1x 4700uF/5V Elektrolit

1x Neonowka
4x Lampa Nixie LC513

1x Rezonator Kwarcowy 32768Hz
1x 1N4007
15x MPSA42
4x MPSA92
1x BC558
1x Stabilizator 7805
1x Mikrokontroler ATMEGA8 + Podstawka
1x Uklad RTC PCF8583
1x Buzzer z Generatorem 5V

Programowanie:


Mikrokontroler do sterownika został zaprogramowany w wersji demo programu BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej:

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "m8def.dat"
$crystal = 8000000              'oscylator RC wewnetrzny
 
 
Config Portb = &B11111111 : Portb = &B00000001
Config Portc = &B00000000 : Portc = &B11111111
Config Portd = &B11111111 : Portd = &B00000000
 
 
Config Scl = Portc.5
Config Sda = Portc.4
I2cinit
 
Config Timer0 = Timer , Prescale = 64
Enable Timer0 : On Timer0 Prztimer0
 
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Zmienne *******************
'***********************************************
Dim Flaga4ms As Bit , Flaga05s As Bit
 
Dim Co4ms As Byte , Co05s As Byte
Dim Godziny As Byte , Minuty As Byte , Sekundy As Byte
Dim Godziny_budz As Byte , Minuty_budz As Byte
Dim Godziny_bcd As Byte , Minuty_bcd As Byte , Sekundy_bcd As Byte
 
Dim Mux As Byte
Dim Stan_katod As Byte
Dim Wartosc_wysw(2) As Byte
 
Dim Neonowka As Bit
Dim Licznik_sw As Byte , Stan_portu As Byte , Sw_port As Byte
Dim Poz_menu As Byte
 
Dim Zezwolenie_budz As Bit
Dim Autopowrot_ust(2) As Byte
Dim Temp As Byte
Dim Sygnal_budzenia As Byte
'*************  Zmienne Koniec  ****************
'************ Warunki Poczatkowe ***************
'***********************************************
Poz_menu = 0
Flaga05s = 1
Readeeprom Temp , 2                                 
If Temp = 100 Then Zezwolenie_budz = 1 Else Zezwolenie_budz = 0
Readeeprom Godziny_budz , 3
Readeeprom Minuty_budz , 4
If Godziny_budz > 23 Then Godziny_budz = 8
If Minuty_budz > 59 Then Minuty_budz = 0
'*******  Warunki Poczatkowe Koniec  ***********
'**************  Petla glowna ******************
'***********************************************
Do
  If Flaga4ms = 1 Then
    Flaga4ms = 0
    Gosub Wyswietl
    Gosub Przyciski
  End If
 
  If Flaga05s = 1 Then
    Flaga05s = 0
    Neonowka = Not Neonowka
    Select Case Poz_menu
      Case 0:                                               ' odczyt czasu z rtc
        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)
      Case 1:                                             
        Incr Autopowrot_ust(1)
        If Autopowrot_ust(1) = 8 Then
          Gosub Zapis_rtc
          Poz_menu = 0
        End If
      Case 2:                                              
        Incr Autopowrot_ust(2)
        If Autopowrot_ust(2) = 8 Then
          Writeeeprom Godziny_budz , 3
          Writeeeprom Minuty_budz , 4
          Poz_menu = 0
        End If
    End Select
 
    If Sygnal_budzenia > 0 Then
      Portb.0 = 0
      Decr Sygnal_budzenia
      If Sygnal_budzenia = 0 Then Portb.0 = 1
    End If
 
    Gosub Budzenie
 
  End If
Loop
End
'************ Petla glowna Koniec **************
'************ Przerwanie timer 0 ***************
'***********************************************
Prztimer0:
  'Incr Co4ms
  'If Co4ms >= 2 Then
      'Co4ms = 0
    Set Flaga4ms                         'dziala co 2 ms  mimo nazwy
    Incr Co05s
    If Co05s >= 250 Then
      Co05s = 0
      Set Flaga05s
    End If
  'End If
 
Return
'******** Przerwanie timer 0 Koniec ************
 
'***********************************************
Wyswietl:
  Incr Mux
  If Mux = 8 Then Mux = 0
  Select Case Poz_menu
    Case 0:                                                 'pokazuj czas
      Portb.1 = Neonowka
      Wartosc_wysw(1) = Godziny                             'wysw 1 i 2
      Wartosc_wysw(2) = Minuty                              'wysw 3 i 4
    Case 1:                                                 'ustawiaj czas
      Portb.1 = 1
      Wartosc_wysw(1) = Godziny                             'wysw 1 i 2
      Wartosc_wysw(2) = Minuty                              'wysw 3 i 4
    Case 2:                                                 'ustaw budzik
      Portb.1 = 0
      Wartosc_wysw(1) = Godziny_budz                        'wysw 1 i 2
      Wartosc_wysw(2) = Minuty_budz                         'wysw 3 i 4
  End Select
 
  Select Case Mux
    Case 0:
      Stan_katod = Wartosc_wysw(1) / 10
      If Stan_katod = 0 Then Stan_katod = 10        
      Gosub Ustaw_katody
      Set Portb.5
    Case 1:
      Reset Portb.5
    Case 2:
      Stan_katod = Wartosc_wysw(1) Mod 10
      Gosub Ustaw_katody
      Set Portb.4
    Case 3:
      Reset Portb.4
    Case 4:
      Stan_katod = Wartosc_wysw(2) / 10
      Gosub Ustaw_katody
      Set Portb.3
    Case 5:
      Reset Portb.3
    Case 6:
      Stan_katod = Wartosc_wysw(2) Mod 10
      Gosub Ustaw_katody
      Set Portb.2
    Case 7:
      Reset Portb.2
 
  End Select
Return
'***********************************************
Ustaw_katody:
  Select Case Stan_katod
    Case 0 :
      Portb.6 = 0 : Portb.7 = 0 : Portd = 128
    Case 1:
      Portb.6 = 0 : Portb.7 = 0 : Portd = 64
    Case 2:
      Portb.6 = 0 : Portb.7 = 0 : Portd = 32
    Case 3:
      Portb.6 = 0 : Portb.7 = 1 : Portd = 0
    Case 4:
      Portb.6 = 1 : Portb.7 = 0 : Portd = 0
    Case 5:
      Portb.6 = 0 : Portb.7 = 0 : Portd = 16
    Case 6:
      Portb.6 = 0 : Portb.7 = 0 : Portd = 8
    Case 7:
      Portb.6 = 0 : Portb.7 = 0 : Portd = 4
    Case 8:
      Portb.6 = 0 : Portb.7 = 0 : Portd = 2
    Case 9:
      Portb.6 = 0 : Portb.7 = 0 : Portd = 1
    Case 10:
      Portb.6 = 0 : Portb.7 = 0 : Portd = 0
  End Select
Return
'***********************************************
Przyciski:
  Sw_port = Pinc
  Sw_port = Sw_port Or &B11110000
  If Sw_port <> 255 And Stan_portu = Sw_port Then
    Incr Licznik_sw
    If Licznik_sw = 80 Then
      Licznik_sw = 0
      Select Case Stan_portu
        Case 247:                                           '-godziny
          Select Case Poz_menu
            Case 0:                                         'wylacz budzik
              Zezwolenie_budz = 0
              Temp = 0
              Writeeeprom Temp , 2
              Sygnal_budzenia = 2                           'sygnal na 0,5s
            Case 1:
              Decr Godziny
              If Godziny = 255 Then Godziny = 23
            Case 2:
              Decr Godziny_budz
              If Godziny_budz = 255 Then Godziny_budz = 23
          End Select
        Case 251:                                           '+godziny
          Select Case Poz_menu
            Case 0:                                         'wchodzi do ustawien czasu
              Poz_menu = 1
            Case 1:
              Incr Godziny
              If Godziny = 24 Then Godziny = 0
            Case 2:
              Incr Godziny_budz
              If Godziny_budz = 24 Then Godziny_budz = 0
          End Select
        Case 253:                                           '-minuty
          Select Case Poz_menu
            Case 0:                                         'wlacz budzik
              Zezwolenie_budz = 1
              Temp = 100
              Writeeeprom Temp , 2
              Sygnal_budzenia = 3                           'sygnal na 1s
            Case 1:
              Decr Minuty
              If Minuty = 255 Then Minuty = 59
            Case 2:
              Decr Minuty_budz
              If Minuty_budz = 255 Then Minuty_budz = 59
          End Select
        Case 254:                                           '+minuty
          Select Case Poz_menu
            Case 0:                                         'wchodzi do ustawien budzika
              Poz_menu = 2
            Case 1:
              Incr Minuty
              If Minuty = 60 Then Minuty = 0
            Case 2:
              Incr Minuty_budz
              If Minuty_budz = 60 Then Minuty_budz = 0
          End Select
       'Case 252:
      End Select
 
      Autopowrot_ust(1) = 0
      Autopowrot_ust(2) = 0
 
    End If
  Else
    Stan_portu = Sw_port
    Licznik_sw = 60
  End If
Return
'***********************************************
Zapis_rtc:
  Godziny_bcd = Makebcd(godziny)
  Minuty_bcd = Makebcd(minuty)
  Sekundy_bcd = 0
 
  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
'***********************************************
Budzenie:
  If Zezwolenie_budz = 1 Then
    If Godziny = Godziny_budz And Minuty = Minuty_budz Then
      Portb.0 = Neonowka
    Else
      If Sygnal_budzenia = 0 Then Portb.0 = 1
    End If
  End If
Return
'***********************************************

Ustawienia fusebitów mikrokontrolera przedstawione są na rysunku poniżej(Zrzut z programu Burn-O-Mat):

Zdjęcia Projektu:

ZałącznikWielkość
Sterownik Schemat101.8 KB
Wyświetlacz Schemat41.45 KB
Sterownik Płytka17.31 KB
Sterownik Płytka (odbicie lustrzane)17.46 KB
Sterownik Płytka (3 na stronie)48.04 KB
Sterownik Montowanie23.51 KB
Wyświetlacz Płytka18.06 KB
Wyświetlacz Płytka (odbicie lustrzane)18.12 KB
Wyświetlacz Płytka (3 na stronie)49.29 KB
Wyświetlacz Montowanie22.59 KB
Kod Źródłowy9.28 KB
Program po kompilacji (BIN)2.21 KB
Program po kompilacji (HEX)6.23 KB
Obudowa (Projekt)47.84 KB
Obudowa (Maska do wiercenia otworów)24.47 KB



Portret użytkownika Tomek

Zegar NIXIE

Witam serdecznie!
Mam mały problem z zegarem Pana projektu. Po uruchomieniu niby wszystko OK, odmierza czas itd ale .....
Wszystkie cyfry migają, czyżby częstotliwość multipleksowania zbyt niska?
Wsad do procka również oryginalny z Pańskiej strony.
Pozdrawiam
Tomek

Portret użytkownika mirley

Zegar Nixie

Witam

Dziękuje za zainteresowanie projektem. Błędnie ustawionymi fusebitami a dokładnie chodzi o CKDIV który ma być wyłączony. Bit ten odpowiedzialny jest za dzielenie częstotliwości zegara przez 8 lub 16 zależnie od typu mikrokontrolera. Jeżeli do programowania użył pan BASCOMA to proszę sprawdzić czy na zakładce "LOCK and FUSE BITS" jest ustawiona opcja "Divide clock by 8 disabled" co gwarantuje że procesor będzie działał z wewnętrznym kwarcem 8MHz a nie 1MHz

Wrazie dalszych problemów proszę pytać. Zegar u mnie działa więc jego kopia też musi :)

-

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 Tomek

zegar NIXIE

Wszystko w porządku, działa. Faktycznie, źle ustawione fuse bity. Serdeczne dzięki.

Portret użytkownika gosc

ustawienie bitów sterujących

Witam!
Jakie powinno być prawidłowe ustawienie bitów sterujących dla zegara. Odpisując na pytanie Tomka odpisał Pan:
Błędnie ustawionymi fusebitami a dokładnie chodzi o CKDIV który ma być wyłączony. Bit ten odpowiedzialny jest za dzielenie częstotliwości zegara przez 8 lub 16 zależnie od typu mikrokontrolera. Jeżeli do programowania użył pan BASCOMA to proszę sprawdzić czy na zakładce "LOCK and FUSE BITS" jest ustawiona opcja "Divide clock by 8 disabled" co gwarantuje że procesor będzie działał z wewnętrznym kwarcem 8MHz a nie 1MHz.
W Baskomie 1.11.8 nie potrafię znaleźć w zakładce "LOCK and FUSE BITS" opcji ustawienia CKDIV ani opcji "Divide clock by 8 disabled" (nie ma?). Programowałem Atmega8 przez STK200 z opcją Int. RC Osc. 8MHz, Start-up time: 6CK+64ms, (CKSEL=0100 SUT=10) - (weryfikacja przeszła) zegar migocze, widać przebłyski innych cyfr więc jest coś nie tak?.
Pozdrawiam Edward.

Portret użytkownika mirley

Zegar

poprawna wartość jest właśnie taka: Wewnętrzny oscylator RC 8MHz, proszę jeszcze ustawić bit CKOPT = 1 (niezaprogramowany). Faktycznie w ATMEGA8 nie ma dzielnika. Mój opis dotyczył bardziej ogólnych problemów z fusebitami.

Proszę sprawdzić czy zasilanie lamp nie jest za niskie i czy płynie odpowiedni prąd określony w karcie katalogowej lampy. Może się to objawiać tym że cyfra nie świeci w całości lub migają jej części a nie cała. Jeśli wszystkie wyświetlacze migają równomiernie to znaczy że jednak fusebity nie są dobrze ustawione i jest za mała częstotliwość. U mnie też zdarzało się że był lekki cień poprzedniej cyfry na następnym wyświetlaczu ale trzeba było się dobrze przyglądać wnętrzu lampy. Jeżeli lampy są w podstawkach albo stykach podobnych do tych w moim projekcie to należy dobrze docisnąć lampy aby był pewny styk z płytką. W razie dalszych problemow służę pomocą

-

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 gosc

zasilanie nixie

Witam!
Bit CKOPT był fabrycznie ustawiony na 1. Migotanie było związane z zasilaniem lamp Nixie - poszedłem na łatwiznę i wykorzystałem zasilacz z jakiegoś miernika na nixie. Transformator prostownik bez kondensatora filtrującego napięcie (przy statycznym wyświetlaniu tętnienia nie przeszkadzały), po dołożeniu kondensatora napięcie było za wysokie. Po zrobieniu przetwornicy migotanie znikneło, są natomiast krótkie mrugnięcia cyfr, co ok. 1 sek. mruga któraś z lamp.Przy trzech świecących lampa mrugają jedna po drugiej, przy czterech w innej kolejności. Mrugnięcia lepiej widać przy wyłączonej neonówce.
Pozdrawiam Edward

Portret użytkownika mirley

Mruganie

Mruganie takie też zauważylem w moim zegarze. Dlatego zmieniłem potem trochę program i teraz jest już mało co zauważalne (ten co jest na stronie jest ulepszony). Podzieliłem multipleksowanie na 8 części żeby pozbyć się prześwietleń cyfry poprzedniej na następnym wyświetlaczu. Jedyną przyczyną jaka mi do głowy przychodzi to że miganie co ok 0.5s lub wielokrotność może być spowodowane odczytem z układu RTC.

-

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 gosc

Faktycznie jest mało

Faktycznie jest mało zauważalne, sam narazie nie jestem w stanie nic zmienić w programie . Będę zaglądał na stronę co jakiś czas, może powstanie nowsza wersja oprogramowania. Dziękuję za odpowiedzi i za prowadzenie ciekawej strony z ciekawymi projektami i co naważniejsze z pełnymi opisami projektów.
Pozdrawiam Edward.

Portret użytkownika dawid512

Ja bym ci radził

Ja bym ci radził zastosować podtrzymanie bateryjne niż ten wielki elektrolit...Sprawdzałeś ile będzie działać PCF po zaniku napięcia?

Portret użytkownika mirley

Elektrolit

Będzie działał kilka godzin nawet. Został zastosowany eksperymentalne a nie jako super rozwiązanie techniczne :)

-

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 piotr 171

lampy

czy przy zastosowaniu LAMPY NIXIE LC516 będzie trzeba robić jakieś zmiany w programie czy w zasilaniu ?

Portret użytkownika mirley

Lampa LC-516 ma inne

Lampa LC-516 ma inne wyprowadzenia, obudowę, napięcie zasilania i prąd anody. Porownaj opisy tych lamp na stronie http://www.tube-tester.com/sites/nixie/trade03-nixie-tubes.htm

Będzie działało z elektroniką z mojego zegara ale wymaga to prawdopodobnie zrobienie nowej płytki wyświetlacza albo chociaż inne podłączenie wyprowadzeń

-

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 Serv_

NIXIE czas/ data

Witam!
Mam 6 takich lamp i chciałbym zrobić coś podobnego... tyle że z opcją wyświetlania sekund na lampach 1-6 (GG:MM:SS) oraz co 15 sekund będzie mi się to zamieniało na datę wyświetlaną na lampach 1-6 (DD:MM:RR).

Co trzeba zmienić w programie i jakie sekcje?
Jakiego mikroklocka by Pan polecał (myślałem o atmega16)?
Gdzie wstawić pętle która zmieniałaby datę na godzinę i odwrotnie co 15 sekund?

Pozdrawiam!

Portret użytkownika mirley

Re: NIXIE

Witam
Uważam że użycie ATMega16 lub ATMega162 będzie dobrym wyborem ze względu na dużą liczbę wyprowadzeń. Jeżeli chodzi o zmiany w progamie to nie będą takie strasznie trudne ale dobrze już nie pamiętam jak ten kod działał więc udziele tyle wskazówek ile mogę. Na początku polecam złożyć układ według podobnego schematu co mój (tylko na ATMega 16) i po uprzedniej modyfikacji programu (zmianie wyprowadzeń, typu uC i przekompilowaniu) zaprogramowanie tym kodem z mojej strony. Będzie wtedy wiadomo czy wszystko przewodzi i liczy poprawnie. Wtedy zajmiemy się ulepszeniami

1. Na początku będzie konieczne dorobienie dwóch dodatkowych bloków sterowania anodami dla dwóch kolejnych lamp i analogiczne ich podłączenie jak na schemacie wyświetlacza w moim projekcie.
2. Potem należy zmodyfikować program aby był zdolny wyświetlać sekundy na dodatkowych lampach, czyli:

w fragmencie:

 Incr Mux
  If Mux = 12 Then Mux = 0                            ' <<<<<<<<<<<zmien
  Select Case Poz_menu
    Case 0:                                                 'pokazuj czas
      Portb.1 = Neonowka
      Wartosc_wysw(1) = Godziny                             'wysw 1 i 2
      Wartosc_wysw(2) = Minuty                              'wysw 3 i 4
      Wartosc_wysw(3) = Sekundy                              'wysw 5 i 6    ' <<<<<<<<<<<dopisz
    Case 1:                                                 'ustawiaj czas
      Portb.1 = 1
      Wartosc_wysw(1) = Godziny                             'wysw 1 i 2
      Wartosc_wysw(2) = Minuty                              'wysw 3 i 4
      Wartosc_wysw(3) = 0                             'wysw 5 i 6        ' <<<<<<<<<<<dopisz
    Case 2:                                                 'ustaw budzik
      Portb.1 = 0
      Wartosc_wysw(1) = Godziny_budz                        'wysw 1 i 2
      Wartosc_wysw(2) = Minuty_budz                         'wysw 3 i 4
      Wartosc_wysw(3) = 0                             'wysw 5 i 6          ' <<<<<<<<<<<dopisz
  End Select

oraz w instrukcji case znajdującej się poniżej dopisz na końcu te linijki dla kolejnego wyświetlacza:

    Case 8:
      Stan_katod = Wartosc_wysw(3) / 10
      Gosub Ustaw_katody
      Set Portx.1
    Case 9:
      Reset Portx.1
    Case 10:
      Stan_katod = Wartosc_wysw(3) Mod 10
      Gosub Ustaw_katody
      Set Portx.2
    Case 11:
      Reset Portx.2

W powyższym fragmencie Portx.1 i Portx.1 oznaczają porty do których podłączone zostaną sterowania anod kolejnych wyświetlaczy. Trzeba jeszcze na początku programu zmienić deklarację tablicy Wartosc_wysw podając ilośc elementów równą 3 a nie 2

Narazie tyle do zrobienia. Jeśli bedzie działało i poprawnie wyświetlało sekundy na dodatkowych lampach to daj znać a będziemy dalej modyfikować program. Jak napisze od razu wszystkie modyfikacje to nie bedzie wiadomo potem czemu nie działa.

Aha tak na marginesie to w moim projekcie czas z układu RTC jest odczytywany 2 razy na sekundę (ponieważ nie miałem sekundnika). Jakby sie okazało że to za rzadko to trzeba będzie to zmienić. O tym jednak powiem jak to co napisałem będzie działać.

-

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 gosc

*.sch

miałbym ogromną prośbę...
Jakbyś mógł udostępnić plik schematu w formacie *.sch jak nie na stronie to via mail (serviq[at]o2.pl)

Pozdrawiam!

Portret użytkownika Piotr Banaś

Zegar nixie

Witam
Zbudowałem zegar według Twojego pomysłu.
Całkiem fajna konstrukcja.
Mam jednak pytanie:
Jakie funkcje są przypisane poszczególnym klawiszom i jak nastawić czas oraz budzenie?
I serdeczną prośbę. Ponieważ skopałem wyprowadzenie katod na płytce, czy przy chwili wolnej dałbyś radę zmodyfikować soft tak aby poszczególne katody były przypisane do portów atmegi jak poniżej:
Katoda_Port
0______PD.0
9______PD.1
8______PD.2
7______PD.3
6______PD.4
5______PB.6
4______PB.7
3______PD.5
2______PD.6
1______PD.7
Z góry dziękuję, za informację i jeśli nie sprawi Tobie kłopotu nowy soft.
Ze swojej strony służę wzorami pytek.
pozdrawiam
Piotr

Portret użytkownika mirley

Re: Zegar nixie

Czas ustawiamy klikając przycisk zwiększania wartości godzin, po tym neonówka zaświeci się na stałe i bedzie mozna za pomocą czterech przycisków ustawić godziny i minuty, wyjście z ustawień dokonuje sie samo po pewnym czasie. Budzenie ustawia sie analogicznie tylko klikając na początku minuty+. Aktywownie budzika i jego wyłączenie jest możliwe na przyciskach godziny- i minuty- gdy nie jesteśmy w ustawieniach

Odnośnie przerobienia kodu to proszę się przypomnieć mailem w weekend bo teraz nie dam rady

-

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 DaiKaioshin

Prośba

Witam.
Czy znalazłby Pan czas żeby rozrysować schemat ideowy do zegara nixie ale na 6 lamp typu Z560M? Płytkę sobie już bym zaprojektował bo to już nie jest problem. Problemem jest tylko schemat ideowy i program do procka. Apropo programu to czy mógłby Pan przerobić swój program tak aby orpócz wyświetalania godziny zegar co 30s wyswietlał date w formacie DD:MM:RR? I ostatnie pytanie ile wynosi tak orientacyjnie koszt wykonania takiego zegara?

Pozdrawiam DaiKaioshin

Portret użytkownika mirley

Re: Nowy Nixie

Czasu na razie nie mam w najbliższych tygodniach ale dopiszę pana propozycję do planowanych projektow na stronie głownej a potem w wolnych chwilach (a raczej godzinach) postaram się zrobić coś takiego razem z płytkami i programem.

Co do kosztu to napewno nie będzie niski jak się policzy wszystkie podzespoły. Dodatkowo narazie nie wiem gdzie można takie lampy zdobyć

-

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 DaiKaioshin

Dziękuje Panu bardzo za

Dziękuje Panu bardzo za dopisanie mojej prośby do listy rzczeczy do wykonania:) a póki co zajmę się kompletowanie podzespołów.

Pozdrawiam DaiKaioshin

Portret użytkownika DaiKaioshin

Srostowanie

Post wyżej prosiłem aby rozrysował Pan schemat ideowy do lamp NIXIE Z560M i tutaj zaszła mała pomyłka gdyż posiadam lampy Nixie LC513 a czemu napisałem o tamtym modelu nie mam pojęcia. może to z przejęcia:) Tak więc prosze o rozrysowanie schematu ideowego do lamp Nixie LC513. schemat płytki sam sobie rozrysuje bo połączę ja odrazu z przetwornica do zasilania lamp. dziękuje z góry i przepraszam za pomyłkę z oznaczeniem tym lamp.

pozdrawniam DaiKaioshin

Portret użytkownika mirley

Re: Zegar Nixie

Ok :) Nie zmienia to jednak faktu że zrobię to dopiero trochę pozniej

-

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 Piotr

Nowy nixie

Witam
Pomysł z 6 lampami całkiem fajny. Przy okazji proponowałbym albo zrezygnować z RTC albo zamienić na DS1307. Obecnie stosowany PCF8583 jest dość fajny, ale podatny bardzo na zakłócenia. Już tydzień walczę i nie mogę uzyskać dokładności lepszej niż -1 min/ dobę. Przetwornicę zrobiłem wprawdzie na układzie MC34063 na wspólnej płytce. Dodam, że przy wyłączonej przetwornicy wychodzi - 3 s/dobę. Kwarców parę przetestowałem z różnymi kombinacjami kondensatorów.
Przy okazji zapytam jak z punktualnością twojego zegara.

Portret użytkownika mirley

Re; Nixie

Układy RTC są o tyle fajne że mikrokontroler nie musi sie martwić o dokładne liczenie czasu a przez to program jest bardziej luźny i nie ma takich ostrych wymogow czasowych. U mnie było jeszcze gorzej ze stabilnością i już miałem całość wyrzucić :). Po wlutowaniu kondensatora filtrującego pod płytkę, stabilność jest ok 20s na dobę, tak na oko :)

Dodatkowo wymagany jest też specjalny obwod masy o ktorym przeczytałem niestety pożniej

-

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 Piotr

Dokładność RTC

Witam ponownie

No i udało się. Bo blisko dwóch tygodniach walki z RTC osiągnąłem dokładność zegara na poziomie ~2s na dobę. Jak dla mnie w zupełności wystarczy.
Po wielu próbach doszedłem do wniosku, że przyczyną niedokładności są zakłócenia wysyłane przez cewkę przetwornicy. Niestety próby ekranowania cewki nie dały spodziewanych efektów. Wprawdzie dokładność zegara była bardzo dobra, jednak zmiana przez ekranowanie cewki jej parametrów spowodowała nadmierne grzanie jej samej jak i tranzystora kluczującego.
Zatem pomyślałem sobie o ekranowaniu RTC. I to przyniosło spodziewany efekt.
Ponieważ znalezienie gotowej obudowy ?ekranowej? wielkości scalaka jest trudne, wpadłem na pomoc na wykonanie ekranu z taśmy sygnałowej wielożyłowej np. od transmisji danych HDD. Odizolowałem z jednej strony wszystkie żyły i połączyłem je do masy za pomocą drucika, który pełni także rolę mocowania ekranu. Pod taśmą jest RTC, kwarc (dodatkowo jego obudowa została też podłączona do masy) i kondensator przy kwarcu. Kondensator przy kwarcu jest podłączony do masy (nie do plusa jak u Ciebie na schemacie) zapewnia to większą dokładność. Zamiast taśmy można pewnie by zastosować blachę lub cewniczek miedziany, ale trzeba bardzo uważać żeby nie zrobić zwarcia.

Pozdrawiam
Piotr

Portret użytkownika mirley

Re: RTC

Myślałem jeszcze o polach masy pod kwarcem i wokoł niego, poza ekranowaniem od gory

-

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 gosc

Dziwnie mi mruga kropka?

Witam kolegę.
Zbudowałem zegar wg Twojego projektu. Działa znakomicie. Mam jednak problem z kropką. Dziwnie mruga. Nie równo, lub prawie wcale. Mam pytanie? Ten typ tak ma, czy coś mogłem zrobić źle.
Pozdrawiam
Roman

Portret użytkownika mirley

Re: Kropka

Coś musi nie stykać między dwoma płytkami. Jeśli zegar działa dobrze to kropka też musi, bo u mnie dobrze mruga :)

Sprawdź luty przy neonówce i jej tranzystorze, i całą ścieżkę aż do procesora

-

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 gosc

Problem z kropką.

Już działa. Problem z kropką polegał na innym zapięciu zapłonu lamp nixie i neonówki. Poradziłem sobie zmieniając rezystor R18 na mniejszy.

Portret użytkownika mirley

Re: Nixie

Dzięki za podzielenie się cenną uwagą. Może się przydać jeszcze innym czytelnikom :)

-

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 gosc

Świetny projekt. Mam pytanie

Świetny projekt. Mam pytanie co do schematu sterowania katodami lamp. Dlaczego lampy są sterowane parą MPSA42/MPSA92 zamiast pojedyńczym MPSA92 + 33k na bazę? Można tak sterować (oczywiście po odwróceniu sterowania w programie)? Jeśli nie to poproszę o wytłumaczenie dlaczego. Dziękuję i pozdrawiam.

Portret użytkownika mirley

Re: Sterowanie Lamp

Do sterowania katodami konieczna jest para tranzystorów, gdyż pojedyńczy tranzystor nie da rady. W jaki sposób wytworzysz napięcie na bazie tranzystora rzędu 150V aby zamknąć tranzystor? Gdy katoda jest sterowana napięciem 5V (jak w Ledach) to procesor wystawiając stan wysoki skutecznie odcina tranzystor. Gdy natomiast zasilanie katod jest dużo większe to czy procesor wystawi 5V czy może GND to dla tranzystora jest i tak stan niski i będzie zawsze otwarty. Drugim powodem jest wysokie napięcie, którego wolał bym uniknąć na wyprowadzeniu procesora :)

Ps. Nawet gdy lampy zasilane były by 12V to i tak stan wysoki 5V bedzie traktowany jako stan niski

-

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 gosc

Dzięki za odpowiedź. A

Dzięki za odpowiedź. A mógłbyś mi powiedzieć jak najprościej zrobić w tym układzie dwustopniową regulację jasności świecienia lamp? Chodzi mo głównie o elektronikę. Z softem sobie poradzę.

Portret użytkownika mirley

Re: Regulacja Jasności

Nie próbowałem nigdy regulować jasności lamp Nixie. Możesz spróbować zmniejszyc napięcie zasilania, poprzez sterowanie przetwornicą ale mam duże obawy czy spełni to swoją rolę. Możesz też spróbować zmniejszyć czas świecenia lamp przy multipleksowaniu, ale nie zmieniając częstotliwości odświeżania wyświetlacza.

-

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 gosc

Zbudowałem ten zegar na 6

Zbudowałem ten zegar na 6 lampach i na procku Mega32. Kwarc podpięty 16MHz. Fusebity ustawione poprawnie. Program przerobiony na 6 lamp zgodnie z opisem. Po uruchomieniu wszystko ładnie pracuje natomiast mam małą czestotliwość wyświetlania (około 20Hz). Przez to całośc w denerwujący sbosób migocze. Jak zwiększyć tą częstotliwość?

Portret użytkownika gosc

Przydało by sie także

Przydało by sie także zwiększyć częstotliwośc odczytywania z RTC gdyż sekundy przeskakuja w nienaturalny sposób.

Portret użytkownika mirley

Re: Zegar Nixie

Czy zmieniłeś w programie linijkę $crystal = 8000000 na $crystal = 16000000 aby pasowało do twojego kwarca? Czy dzielenie częstotliwości zegara w fusebitach wyłączyłeś?

Częstotliwość musi być dobra bo u mnie na 4 lampach nie migocze nic, a dałeś kwart 2x szybszy niż ja mam w swoim projekcie. To napewno kwestia ustawień.

Odnośnie odczytu z RTC to u mnie odczytuje 2x na sekundę bo nie było potrzeba. Można zmniejszyć dzielnik do falagi Flaga05s aby się szybciej wykonywała.

-

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 gosc

Crystal ustawione na

Crystal ustawione na 16000000. O który konkretnie bit chodzi? Być może mam go źle ustawionego. Jak możesz to dołącz screen jak ustawić bity (najlepiej z Burn-o-mat'a).
Pozdrawiam.

Portret użytkownika gosc

Czy jesteś wstanie zmierzyć

Czy jesteś wstanie zmierzyć na dowolnej anodzie jaką masz częstotliwośc względem masy? U mnie jest to 20,34Hz (przy 6 lampach).

Portret użytkownika mirley

Re: Fusy

Odnosnie fusów to źle powiedziałem Ci odnośnie tego dzielenia częstotliwości zegara, akurat ATMEGA32 nie ma tego bitu. Poprawne ustawienia sprawdź w opisie http://mirley.firlej.org/fuse_bity_w_mikrokontrolerach_avr

Częstotliwości nie mogę zmierzyć bo nie posiadam odpowiedniego miernika, aktualnie. Aby sprawdzić czy częstotliwość pracy całego układu jest dobra, zmodyfikuj tak program aby w głównej pętli programu w obsłudze flag zmieniał stan logiczny dowolnego pinu. Gdy zmierzysz częstotliwość przebiegu na tym pinie zobaczysz czy flaga ustawiana jest co odpowiedni czas. Innej dobrej metody nie znam.

-

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 gosc

Juz wiem dlaczego jest

Juz wiem dlaczego jest problem. Preskaler timera zmieniłem na 8 zamiast 64. A zrobiłem to dlatego, że jak mam 64 to bascom nie chce skompilować. Wiesz może dlaczego? Możesz sprawdzić czy u Ciebie się da jak zmienisz procek na M32?

Portret użytkownika mirley

Skompilował na takich

Skompilował na takich ustawieniach bez żadnego problemu:

$regfile = "m32def.dat"
$crystal = 16000000                                         
 
Config Timer0 = Timer , Prescale = 64
Enable Timer0 : On Timer0 Prztimer0

Zainstaluj najnowszą wersję BASCOM AVR i pewnie ruszy

-

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 gosc

Udało się przekompilować.

Udało się przekompilować. Faktycznie update Bascom'a pomogło. Obecnie walczę z klawiaturką i jej obsługą. Porty zwieram do masy, ale ustawiać się nie chce. Poprzestawiałem nr. portów, numery case, itp., ale nie działa. Muszę kombinować dalej.

Portret użytkownika gosc

Zegarek uruchomiony. Muszę

Zegarek uruchomiony. Muszę tylko zmienić sposób obsługi na bardziej przystępny, dorobić datownik, dwa alarmy + regulowany czas alarmu. Czy mógłbyś napisać w czym rysujesz schematy ideowe i płytki?

Portret użytkownika mirley

Re: Rysowanie PCB

Płytki i schematy jak już wczesniej wielokrotnie pisałem rysuję w wersji trial Protela 99. Obecnie poszukuję jakiegoś fajnego programu do rysowania płytek i schematów pod Linuxa

-

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 gosc

Pytanie?

Jest możliwość zamieszzenia plików z programu w którym projektowana była płytka? Mam jeszcze przez miesiąc dostęp do frezarki więc bym ją sobie wyfrezował zamiast żelaskiem prasować:)Pozdrawiam

Portret użytkownika mirley

Re: Zegar Nixie

Proszę napisać w tej sprawie na maila to się zastanowię :)

-

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 gosc

Transformator

Witam
Jaki zastosował Pan transformator do zegara (do przetwornicy i do sterownika)?

Portret użytkownika mirley

Re: Trafo Nixie

Zastosowałem trafo ze starego radia :). Ponieważ nie jest to z pewnością fachowa odpowiedź to proszę zastosować trafo 10-12V i mocy ok 5W (powinno wystarczyć). Przetwornicę zasilam poprzez 7809 a uklad z tego samego trafo poprzez stabilizator na płytce. Oczywiście należy jeszcze do transformatora dołączyć mostek i kondensator filtrujący.

-

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 Radtiz

Witam czytam posty i

Witam
czytam posty i zauważyłem ciekawy pomysł aby rozbudować Pana zegar o 2 dodatkowe lampy aby wyswietlić sekundy i date... mam więc pytanie. Czy znalazłby Pan czas na przerobienie swojego projektu programu na 6 lamp tak zeby wyświetlał czas i co 30s date? posiadam lampy LC516 więc czy mógłby Pan przerobić probić program właśnie pod ten model lamp? i prosiłbym o przerobiony schemat ideowy jeśli podjąłby się Pan zrealizowania mojej prośby:) z góry dziękuję
Pozdrawiam Radtiz

p.s. czy istnieje możliwość aby wysłać Panu układ Atmega zeby go Pan zaprogramował i odesłał? bo nikt z moich znajomych się nie posiada programatora do tego rodzaju układów a do jednego projektu raczej mi się niezbyt opłaca go składać...