Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zegarek RGB (AVR)

Marcin_xx1 22 Cze 2009 05:06 14018 38
  • Zegarek RGB (AVR)

    Urządzenie które chciał bym przedstawić zawiera kalendarz, zegar, oraz dwu kanałowy termometr, generuje obraz w standardzie RGB 50hz dla odbiorników telewizyjnych wyposażonych w złącze SCART przedstawiony na zdjęciu po niżej oraz na filmie w oparciu o mikro kontroler ATmega88 lub ATmega 168.


    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


    Zegarek RGB (AVR)

    Link


    Zegarek RGB powstał w wyniku chęci stworzenia czegoś w oparciu o mikro kontroler,nauki języka C , może być jakąś alternatywą dla przeładowanego reklamami zegarka w usłudze telegazeta oraz dla nie których termometrów za oknem czy na ścianie jak i papierowego kalendarza:)


    Zegarek RGB (AVR)

    EDIT: Poprawiłem wartość oporników RGB ze 100 na 420 R, mogą mieć zbliżoną wartość.

    W razie gdyby ktoś chciał sobie wykonać, uprzedzam, że w tej
    postaci nadaje się jedynie do telewizorów w których przełączenie w tryb
    RGB nie odbywa się w sposób automatyczny, nadają się nowsze odbiorniki z kilkoma złączami SCART, w innym przypadku, podczas chęci obejrzenia programu pojawi się nie zsynchronizowany obraz
    z zegarka, można sobie z tym poradzić na kilka sposobów na przykład
    dodając czujnik IR i dopisać obsługę potrzebnego kodu pilota który włączał by zegarek w tedy kiedy potrzeba.
    Jeżeli chodzi o komunikacje z telewizorem po przez scart to nic na ten temat nie wiem, może coś w tym kierunku da się zrobić by urządzenie było jeszcze ciekawsze.

    Co do rozdzielczości, to co widać jest to wszystko co udało mi się zmieścić
    na ekran przy taktowaniu 24Mhz i kolorach,do tego musiałem skrócić nie które nazwy dni i miesięcy bo procesor już nie nadąża. Dla czarno białego sygnału composite udało mi się zmieścić troszkę więcej.

    Kalendarz uwzględnia rok przestępny, nie znalazłem błędów w działaniu,




    kod na pewno można by uściślić .
    Sekunda obliczana jest nie typowo, trochę się nakombinowałem by obraz nie migał w takt inkrementacji sekundnika, być może uruchomienie drugiego nie zależnego timera załatwiło by sprawę, nie wiem jak się za to zabrać więc aktualnie zlicza się pięćdziesiąt pierwszych linii każdego pół obrazu, 50 pół obrazów przy 50 Hz zawiera się w jednej sekundzie, do zmiany czasu tak wygenerowanej sekundy służy opcja w której można zmienić wartość liczby porównywanej do liczby zliczonych linii - gdy liczby są takie same inkrementuje się sekundnik.

    Pomiarem temperatury zajmują się dwa czujniki lm335,rozdzielczość pomiaru to 1 stopień, można dokonać korekty co +/- stopień , mierzy także wartości ujemne, napięcie odniesienia ustawione jest na napięcie zasilania procesora i nie wolno go przekraczać na wejściach przetwornika.

    Funkcje przycisków:
    1 . Set - wybór wartości którą chcemy zmienić , dotyczy ustawień kalendarza i zegarka, kolejne przyciskanie powoduje przechodzenie do kolejnych wartości aż do ustawień sekundnika po czym funkcja się kończy.
    2. Przycisk + -do zwiększania wybranej przez SET wartości
    3. przycisk -- do zmniejszania jak wyżej.

    Kombinacja + i - powoduje możliwość korekcji długości sekundy po przez te same przyciski, aby wyjść z tej opcji naciska się SET po czym przechodzi się do korekcji termometru, dla każdego kanału oddzielnie, po wyjściu z drugiego termometru wszystkie zmiany ustawienia zapisane są do eepromu i funkcja kończy swoje działanie.

    Zegarek RGB (AVR)

    Rozwiązania dotyczące generowania obrazu są moją własnością, chciał bym by ktoś kto wykona sobie swoje urządzenie na ich podstawie nie zapomniał o autorze:)

    W kodzie można wiele poprawić, na pewno znajdzie się tam wiele śmiesznych rzeczy dla trochę wprawionych, proszę gdy ktoś może coś poprawić niech to zrobi i pokaże bez uszczypliwości.

    Załączniki:

    Fajne!
  • #2 22 Cze 2009 09:35
    dymbol1992
    Poziom 18  

    Projekt super w samym zastosowaniu. Co do wykonania nie będę sie czepiał raczej ważne było dla Ciebie żeby to w wtyczce upchnąć + plusik za zamieszczenie kodu, sam może skorzystam jeżeli będę miał wolna chwile. I pytanie kierowane do autora czy będzie to działać na TV w technologii 100 hz?

  • #3 22 Cze 2009 10:09
    Citek
    Poziom 22  

    Myślę, że powinno działać to bez problemu, ponieważ "zwykłe" kanały z telewizji naziemnej są nadawane z odświeżaniem 50Hz, a podbijanie do 100 jest realizowane w sposób programowy (jak się nie mylę dodawane są dodatkowe klatki wyliczone z "sumowania" pierwszej i drugiej i wstawienia pomiędzy je)

    Post edytowałem.
    [CMS]

  • #4 22 Cze 2009 10:24
    Marcin_xx1
    Poziom 21  

    Nie sprawdzałem na 100Hz TV ale teoretycznie tak jak mówicie powinno działać.

  • #5 22 Cze 2009 10:54
    3_at
    Poziom 14  

    Czemu LM335 ma podpięte tylko 2 nóżki - schemat?

  • #6 22 Cze 2009 11:42
    Marcin_xx1
    Poziom 21  

    3_at napisał:
    Czemu LM335 ma podpięte tylko 2 nóżki - schemat?


    jeżeli dobrze zrozumiałem datasheeta to pracuje w tym układzie w podstawowej aplikacji- bez kalibracji.

    Zegarek RGB (AVR)

  • #7 22 Cze 2009 13:34
    grabek_radek
    Poziom 21  

    a moze tak sie zapytam czy ktos z was probowal cos takiego zrobic w bascomie ?? cos prostego np wyswietlenie napisu na TV???

  • #8 22 Cze 2009 13:45
    ozman
    Poziom 21  

    W BASCOMIE się nie da ze względu na precyzyjne czasy wyświetlania jednej linii sygnału. Świetnie nadaje się do tego Assembler gdzie kontroluje się każdy takt procesora.

    Jeżeli będzie zainteresowanie to mogę wrzucić moje kody poczawszy od nauki wyświetlania najprostszego wyświetlania na jednej połówce czarnego a na drugiej czarnego, poprzez prostokąt, jakieś pojedyncze literki aż do całej tablicy znaków - 22 kolumny po 43 litery w rzędzie. Można zrobić jakiś tutek na elektrodzie z rozwiązaniami poszczególnych programistów jak rozwiązali ten problem.

  • #9 22 Cze 2009 13:49
    Jimi Hendrix
    Poziom 19  

    ozman napisał:

    Jeżeli będzie zainteresowanie to mogę wrzucić moje kody poczawszy od nauki wyświetlania najprostszego wyświetlania na jednej połówce czarnego a na drugiej czarnego, poprzez prostokąt, jakieś pojedyncze literki aż do całej tablicy znaków - 22 kolumny po 43 litery w rzędzie. Można zrobić jakiś tutek na elektrodzie z rozwiązaniami poszczególnych programistów jak rozwiązali ten problem.


    ja bardzo poproszę jeśli jest taka możliwość.

  • #10 22 Cze 2009 13:49
    grabek_radek
    Poziom 21  

    to bardzo prosze o umieszczenie tych poczatkow napisanych w c - bardzo mnie to zaciekawilo i powiem ze chyba trzeba cie na c przerzucic :)

  • #11 22 Cze 2009 15:01
    logos2000
    Poziom 21  

    dzwiek z Contry w standardzie cz tylko do filmiku podlozony??

  • #12 22 Cze 2009 18:10
    Macosmail
    Poziom 33  

    dymbol1992 napisał:
    Chodziło mi właśnie o to ze telewizor mam w technologii 100 Mhz dzięki za odpowiedz


    Chyba 100Hz. Będzie działać na każdym wyświetlaczu przyjmującym standardowy sygnał TV RGB. Pozdrawiam.

  • #13 22 Cze 2009 20:43
    Marcin_xx1
    Poziom 21  

    Muzyczka jest podłożona.

  • #14 22 Cze 2009 22:01
    bishofek
    Poziom 18  

    Powiem Ci że beznadziejnie zrobiłeś te przyciski w złączu.
    Trzeba odsuwać telewizor(w moim wypadku) i się schylać żeby nacisnąć.

  • #15 22 Cze 2009 23:52
    tomeeh
    Poziom 23  

    bishofek napisał:
    Powiem Ci że beznadziejnie zrobiłeś te przyciski w złączu.
    Trzeba odsuwać telewizor(w moim wypadku) i się schylać żeby nacisnąć.


    Bishofek, a kto powiedział, że Marcin_xx1 zrobił zegarek pod twoje wymagania, pod twój TV, do którego nie masz dostępu? Marcin zrobił to tak, jak jemu to odpowiada, gdyż to jest jego projekt, który właśnie dla siebie zrobił.

    Jeśli planujesz często korzystać z przycisków, by ustawiać zegar, wystarczy ci najzwyklejszy przedłużacz SCART. Będąc informatykiem ogólnym, oraz sprzętowcem nie będziesz miał problemu z dodaniem obsługi IR dla uC i ustawisz sobie godzinę wygodnie pilotem. Jak widać są alternatywne rozwiązania, nawet dla ciebie; wystarczy tylko trochę pomyśleć...

  • #16 23 Cze 2009 00:11
    Marcin_xx1
    Poziom 21  

    Dodaje podstawowy kod do generowania obrazu, dotyczy tego co na zdjęciu, pierwsza duża tablica zawiera cyfry od 0do 9, cały alfabet i kilka znaków, adresy są opisane pod tablicą.
    Zegarek RGB (AVR)

    Załączniki:
  • #17 23 Cze 2009 08:24
    byrrt
    Poziom 21  

    ozman napisał:
    W BASCOMIE się nie da ze względu na precyzyjne czasy wyświetlania jednej linii sygnału. Świetnie nadaje się do tego Assembler gdzie kontroluje się każdy takt procesora.

    I tu bez obrazy widać jak kiepskie masz pojęcie o programowaniu.. Da się to i wieke innych cięższych rzeczy! Generalnie jeżeli realizujesz opóźnienia na timerach to co kogo interesuje w jakim języku programowania?

  • #18 23 Cze 2009 10:38
    Citek
    Poziom 22  

    Ciekawe po jakim czasie wypalą się pola w telewizorze? :)

  • #20 23 Cze 2009 23:08
    Warhard
    Poziom 12  

    Aż dołączę się do dyskusji.

    Cytat:

    I tu bez obrazy widać jak kiepskie masz pojęcie o programowaniu.. Da się to i wieke innych cięższych rzeczy! Generalnie jeżeli realizujesz opóźnienia na timerach to co kogo interesuje w jakim języku programowania?

    byrrt - ma racje

    Bascom jest narzędziem dla początkujących co w cale nie przeszkadza na rozwiązywaniu bardziej skomplikowanych rzeczy (w tym wypadku zgodność czasowa przebiegów).
    A to że gotowe funkcje w Bascomie to jakaś paranoja - to inna sprawa.

    ozman - poczytaj sobie literature AVT tam znajdziesz gotowe listingi dla obsługi TV



    Pozdrawiam Warhard

  • #21 24 Cze 2009 00:34
    manekinen
    Poziom 29  

    Moje gratulacje kolego, kolejny wyżyłowany avr zaprzęgnięty do ciężkiej pracy! Już łapałem za lutownice kiedy doczytałem że muzyka nie jest generowana przez urządzenie - a szkoda. Polecam zajrzeć na youtuba z hasłem "craft by lft" niech to będzie inspiracją :)

    A co do bascoma, oczywiście że można zrobić (może z niewielkimi wstawkami asm) tyle że kod może być dłuższy trzykrotnie.

  • #22 24 Cze 2009 01:30
    Marcin_xx1
    Poziom 21  

    Dzięki, z craftem nie będę się ścigać;), w takim razie pomyśle o dodaniu dźwięku.

  • #23 24 Cze 2009 10:24
    12345_1
    Poziom 13  

    a jaki koszt wykonania tego układu, Bardzo mi się to podoba doskonałe dla kogoś kto ma telewizor blisko okna i może sprawdzać temp z zewnątrz nie ruszając się z łóżka.

  • #24 24 Cze 2009 14:51
    Marcin_xx1
    Poziom 21  

    Koszty części nie powinny przekroczyć 15 zł bez zasilacza,pozostaje cena montażu .

  • #25 24 Cze 2009 15:24
    ozman
    Poziom 21  

    byrrt napisał:
    ozman napisał:
    W BASCOMIE się nie da ze względu na precyzyjne czasy wyświetlania jednej linii sygnału. Świetnie nadaje się do tego Assembler gdzie kontroluje się każdy takt procesora.

    I tu bez obrazy widać jak kiepskie masz pojęcie o programowaniu.. Da się to i wieke innych cięższych rzeczy! Generalnie jeżeli realizujesz opóźnienia na timerach to co kogo interesuje w jakim języku programowania?



    Zgadzam się, nie bardzo znam bascoma ze względu tego że pracuję na Linuxie. Chętnie zobaczę kod generujący obraz w tym języku, ale bez wstawek typu $asm.

  • #26 25 Cze 2009 20:42
    sebxx4
    Poziom 22  

    Witam !
    Ogólnie bardzo pomysłowe i ładnie wykonana obudowa :) Ale mam 2 pytania :
    1. Na rysunku poniżej zaznaczyłem przewód. Z mikrokontrolera wychodzą 3 kable - zielony, czerwony i niebieski. Po czym łączą się w jeden, a przy złączy telewizyjnym znowy się rozdzielają... Czy one są wszystkie 3 połączone w jeden czy tylko są w jednej obudowie ?
    2. Czy ten ATMEGA88 trzeba programować, czy można już kupić zaprogramowany ?

    Pozdrawiam !

  • #27 25 Cze 2009 20:49
    Marcin_xx1
    Poziom 21  

    Cześć, trzy kable łączące się w jeden to tylko rysunek, żeby układ działał akurat te kabelki nie są konieczne ponieważ miały służyć do przeprogramowania układu.
    Układ trzeba zaprogramować, są do tego odpowiednie poradniki w dziale mikro kontrolery.
    Program kompilowałem w WinAVR-20080610

    Fusebity na przykładzie programatora ISP Programmer
    Zegarek RGB (AVR)

    Dla potrzebujących mogę wykonać ten zegarek , mogę dostosować na indywidualne potrzeby.

  • #28 25 Cze 2009 21:09
    sebxx4
    Poziom 22  

    Aha. A tutaj mam na allegro mikrokontroler ATMEGA88 :
    !!!
    Tam jest mikrokontroler i pisze że ma jakąś rozszeżoną skale... Może Pan dać jakiś link do tematu, gdzie piszą jak zaprogramować taki mikrokontroler ? (nie moge takiego znaleść). A te kable jak bym chciał dac to muszę je rozdzielić ? (nie łączyć w jeden). A czym mogę zastąpić LM335 ? (nie ma takiego na allegro) i jaka powinna być wydajność prądowa zasilacza do takiego użądzenia ?

  • #29 25 Cze 2009 21:27
    Marcin_xx1
    Poziom 21  

    Ja zaczynałem od tego kursu, jest przystępnie opisane jak zaprogramować
    http://www.patron.ehost.pl/patron/artykuly/vinavr/AVR_tutorial.htm ale przykładowe kody tam podane nie zadziałają na nowszych kompilatorach.
    Rozszerzony zakres temperatur pracy dotyczy temperatury otoczenia w jakiej może pracować układ, jężeli jakiegoś elementu nie ma na allegro to należy odwiedzić inne sklepy.
    Co do zasilacza to 100mA powinno wystarczyć.

  • #30 26 Cze 2009 23:19
    22053
    Użytkownik usunął konto