Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 26 kwi 2025, o 02:45


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
     Tytuł: Matrix Clock
    PostNapisane: 15 sie 2014, o 01:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 sty 2014
    Posty: 178
    Pomógł: 24

    Witamy

    Ucząc się programowania AVR-ów postanowiliśmy, że będziemy brać "na warsztat" różne podzespoły zbierane przez lata, na tak zwane „kiedyś się przyda”. Idea była taka, żeby nauczyć się programowej obsługi danego urządzenia (elementu) i odłożyć go ponownie, ale już w oczekiwaniu na pomysł wykorzystania. Nadszedł w końcu czas na wyświetlacz matrycowy CSM-48161 (zakupiony dawno temu przez Krzycha) leżący bez pomysłu na wykorzystanie. Zaczęło się od próby wyświetlenia na nim jakiegoś znaku, Następnie zmiany koloru znaku, bo ten wyświetlacz jest dwukolorowy, a na koniec stworzenia "płynącego" napisu. Pewnie po tych próbach trafiłby także do szuflady ale pewien zbieg okoliczności zapewnił mu przyszłe wykorzystanie. Ponieważ mieliśmy już za sobą obsługę I2C a także układy RTC Tymek stwierdził, że całkiem ciekawie wyglądałby zegar z "płynącą" godziną na tym wyświetlaczu. Akurat Bartek miał na wierzchu stary polski przekaźnik typu R15 wraz z podstawką. Szybko podchwycił pomysł, wziął do ręki wyświetlacz przymierzył go z grubsza do przezroczystej obudowy przekaźnika i powiedział - Zmieści się ! Tymi słowami, jak sie później okazało, podpisał na siebie "wyrok" stworzenia pająka bo przecież oprócz samego wyświetlacza musiały się tam jeszcze zmieścić: RTC wraz z bateryjką podtrzymującą, buzzerek, 8 tranzystorów katod, przyciski i ATmega8 (dlaczego ATmega8 to za chwilę) wraz z podstawką (bo na złącze ISP już nie było szans).
    Analiza ilości potrzebnych pinów mikrokontrolera wykazała, że ATmega8 będzie w sam raz - dokładnie wszystkie piny tego AVR-ka będą wykorzystane. Bartek zawsze lubił optymalizację więc wykorzystana pinowo w 100% ATmega8 bardzo mu się spodobała, jednak biorąc sobie zawsze do serca słowa Mirka z jego książek i poradników, Bartek stwierdził, że ATmega8 jest technologicznie przestarzała więc musimy wziąć ATmegę88. Wtedy Tymek powiedział, że Mirek "zezwala" na użycie ATmegi8 jak już się ją posiada i jest pomysł na jej wykorzystanie, nie wolno jednak kupować :) (ale czy tak było naprawdę w którymś poradniku powiedziane ,czy czegoś nie przekręciliśmy,albo źle zinterpretowaliśmy, to trzeba sprawdzić (obejrzeć jeszcze raz wszystkie poradniki ;). ))
    Bartek się zgodził i tym sposobem leżąca w Tymkowych zasobach ATmega8 dostała powołanie do zegarka. Ostatecznie Tymek zaproponował, żeby zegarek ten ukończyć do urodzin Krzycha i dać mu go w prezencie. Cel był szczytny a porzeczka jak się okazało postawiona dość wysoko.
    W pierwszej kolejności na kartce papieru zapisane zostały założenia projektu oraz wszystkie niezbędne informacje odnośnie użytych pinów AVR-a i połączeń elektrycznych zastosowanych komponentów.
    Później na szybko powstał pająk kabelkowy i rozpoczęło się żmudne tworzenie kodu. Nie sposób teraz opisać wszystkich szczegółów, bo sprecyzowanie samych założeń projektu zajęło nam sporo czasu a i tak jeszcze przez kilka kuźni były delikatnie zmieniane i dopasowywane do ergonomii.
    Podobnie było z kodem: prace programistyczne rozpoczęły się w listopadzie 2013 a jeszcze po wizycie Mirka na kuźni wnosiliśmy pewne drobne poprawki do kodu zegarka. Kod rozbudowywany był z kuźni na kuźnię (a także poza kuźnią) głównie przez Tymka. Myślę, że od początku do końca Tymek stworzył kilkanaście (jak nie kilkadziesiąt) wersji kodu ale sprawdzenie ich mogło nastąpić tylko na piątkowych kuźniach (ze względu na to, że zegarkowy pająk tam spoczywał), więc jak tylko nowsza wersja działała poprawnie poprzednia została usuwana, żeby się nie pogubić.
    Jak już było widać, że zegarek ma ochotę "żyć" nadszedł czas na Bartka i tworzenie pająka :). Kilka zdjęć pokazuje jak to powstawało. Zdjęcia są nazwane literami od A do J w chronologicznej kolejności. Niestety, zdjęcia nie oddają przestrzennej struktury tego pająka, tak jak wygląda w rzeczywistości.

    ObrazekObrazekObrazekObrazekObrazekObrazekObrazekObrazekObrazekObrazek

    Każdy drucik w pająku musiał być od początku dobrze przemyślany, żeby później nie zablokował możliwości dalszej rozbudowy. Dziesiątki, setki przymierzań do przyszłej obudowy ale Bartek nie dawał za wygraną i tworzył niczym drukarka 3D skomplikowaną konstrukcję. Doprowadzenie do postaci widocznej na zdjęciach E i F zajęło jedną kuźnię. Na tym etapie RTC było podłączone do ATmegi8 za pomocą goldpinów widocznych na zdjęciu F. Kolejna kuźnia i była juz postać ze zdjęcia G i ta forma trwała najdłużej. To na niej Tymek testował kolejne wersje kodu i wnosił stosowne poprawki. Było to najwygodniejsze rozwiązanie bo dołożenie ostatnich komponentów zmusiło nas do odlutowania przewodów od ISP. Dlatego dopóki się dało zegarek testowany był z „kabelkowym” złączem ISP.
    Formę pomiędzy zdjęciami G i H widać na filmie z wizyty Mirka na kuźni, natomiast zdjęcia od H do J pokazują zegarek w finalnej postaci.

    Teraz należy wspomnieć o tym, jakie funkcje posiada ten zegarek i jak sie go używa. Tymek stwierdził, że najlepszą instrukcją obsługi jest listing programu ponieważ jest trywialny ;)
    Mimo to chociaż krótko opiszemy jak to „cudo” działa.
    Liczby godzin i minut wyświetlane są w kodzie BCD (prosto z RTC), dlatego podczas ustawiania osobno nastawia się DZIESIĄTKI godzin, JEDNOŚCI godzin, DZIESIĄTKI minut i JEDNOŚCI minut. Ten sposób nastawiania został wybrany, ponieważ zawsze widoczna może być tylko JEDNA cyfra. Jak się okazało, ułatwiło to nam zapis w odpowiednim miejscu rejestrów RTC, a także korzystanie z tablicy gotowych znaków. Ceną tego ułatwienia, była dość skomplikowana i zagmatwana procedura nastawiania drzemki, ale ostatecznie udało się :) Aby użytkownik wiedział, którą cyfrę w danej chwili nastawia, użyliśmy czterech kropek z dolnego rzędu (nieużywanego do wyświetlania cyfr) w taki sposób, że pierwsza z lewej oznacza DZIESIĄTKI godzin, druga z lewej JEDNOŚCI godzin, trzecia z lewej DZIESIĄTKI minut a czwarta z lewej (pierwsza z prawej) JEDNOŚCI minut. W ten oto pomysłowy sposób uzyskaliśmy bardzo proste GUI :)
    Dźwięk alarmu wytwarza buzzer jednak, z racji tego, że wszystkie buzzery jakie posiadaliśmy na kuźni nie posiadały generatora zmuszeni byliśmy wygenerować dźwięk programowo. Jedno z przerwań generuje nam przebieg prostokątny o częstotliwości około 2 kHz i „zmodulowany” drugim przebiegiem prostokątnym o częstotliwości 1Hz podawany jest na buzzer. Dźwięk wyszedł straszny ale za to skutecznie budzi :)
    Zegarek posiada 3 tryby pracy, a w każdym z nich przyciski otrzymują inne funkcje. Oto krótki opis trybów pracy zegarka i funkcji przycisków:

    Tryb 1: Wyświetlanie Godzin – zielony kolor cyfr i efekt „płynącego” tekstu. Aktywność alarmu oznaczają dwie środkowe czerwone kropki w dolnym rzędzie. Przyciski mają następujące funkcje:
    Przycisk 1 – Włączanie / Wyłączanie alarmu (zaświecają się / gasną dwie środkowe czerwone kropki w dolnym rzędzie)
    Przycisk 2 – Krótkie naciśnięcie to wejście w tryb ustawiania godziny alarmu a długie naciśnięcie to wejście w tryb ustawiania aktualnego czasu
    W momencie zadziałania budzika użytkownik ma dwie opcje: wyłączyć alarm, lub pozwolić sobie na 5 minutową drzemkę. W tym momencie przyciski otrzymują nowe funkcje i tak:
    Przycisk 1 – Włączanie / Wyłączanie alarmu (zaświecają się / gasną dwie środkowe czerwone kropki w dolnym rzędzie)
    Przycisk 2 – włączenie 5 minutowej drzemki. Po naciśnięciu alarm odezwie się po 5 minutach i ponownie można wybrać jedną z dwóch powyższych opcji (wyłączenie alarmu lub drzemka) i tak aż do skutku.

    Tryb 2: Nastawianie Godziny Alarmu – wyświetlana jest tylko jedna cyfra w kolorze czerwonym, zielone kropki w dolnym rzędzie oznaczają nastawianą cyfrę
    Tryb 3: Nastawianie Czasu – wyświetlana jest tylko jedna cyfra w kolorze zielonym, czerwone kropki w dolnym rzędzie oznaczają nastawianą cyfrę
    W trybach 2 i 3 przyciski mają następujące funkcje:
    Przycisk 1 – zmiana wartości cyfry
    Przycisk 2 – zatwierdzenie cyfry i przejście na ustawianie kolejnej (zaświecające się odpowiednie kropki w dolnym rzędzie oznaczają którą cyfrę nastawiamy). Po ustawieniu 4 cyfry powrót do trybu wyświetlania godziny (Tryb 1).

    Na koniec musimy napisać o jeszcze jednej trudności z jaką borykaliśmy się po około 4 kuźniach od rozpoczęcia projektu zegarka. Ponieważ Krzychu ostatnimi czasy oddawał się swojej drugiej pasji – muzyce, nie bywał z nami na kuźni. Jednak po każdym spotkaniu na kuźni Bartek i Tymek relacjonowali Krzychowi ze szczegółami co było robione, co się udało, a co nie. Jednak po kilku kuźniach musieliśmy Krzycha zacząć bajerować i to tak, żeby się niczego nie domyślił. Im dłużej to trwało tym było trudniej – ale udało się. Co ciekawe Mirek umieścił film ze spotkania na kuźni przed planowanym terminem wręczenia prezentu i wtedy nasze ściemnianie zapewne by się rypło, ale Krzychu nie dał znać po sobie, że się domyślił (po obejrzeniu filmu). Niecały tydzień poźniej prezent został wręczony a wszystkie bajerowania i „ściemniania” wyjaśnione przez obie strony :)

    W załączniku znajduje się schemat oraz listing kodu zegarka (oprócz koniecznych bibliotek autorstwa Mirka). Co do kodu, to wstyd się przyznać ale nie odpowiada on nomenklaturze Mirkowej, a w tej chwili nie ma już możliwości wgrywania porządkowanego softu do zegarka. Kod był tworzony pod presją czasu dlatego prosimy o wyrozumiałość.
    Zdajemy sobie również sprawę, że pewnie są chętni na skopiowanie tej konstrukcji, niestety użyty wyświetlacz jest już niedostępny. Dziś najczęściej dostępne są wyświetlacze 5x8 punktów i w związku z tym oznajmiamy, że trwają prace nad zegarkiem na ogólnodostępnej jednokolorowej matrycy 5x8. Żeby nie trzeba było robić pająka – w pierwszym etapie będzie zaprojektowane PCB w rozmiarze matrycy, wraz ze złączem do programowania. Jak to będzie gotowe, to chcielibyśmy taką płytkę zamówić w jakiejś sprawdzonej firmie. Niestety nasze doświadczenie w tym temacie jest zerowe i gdyby byli chętni na takie płytki to może wspólnymi siłami zrealizowalibyśmy zamówienie dla większej ilości osób. Na pewno będziemy prosić o pomoc jak projekt PCB będzie gotowy. Mając gotowe PCB przystąpimy do tworzenia kodu, a tak naprawdę do przerobienia obecnego. Po zakończeniu prac programistycznych oczywiście umieścimy wszystko, żeby inni też mogli uruchomić sobie własne zegarki.

    To by było na tyle, a w razie pytań postaramy się odpowiedzieć.

    Widzę, że zdjęcia dodały sie w przypadkowej kolejności. Oznaczenia są następujące (licząc od lewej strony górnego rzędu):
    - B
    - A
    - C
    - F
    - E
    - D
    - G
    - I
    - H
    - J


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sie 2014, o 07:21 
    Offline
    Użytkownik

    Dołączył(a): 19 sty 2013
    Posty: 322
    Pomógł: 22

    Witam

    Gratuluje pomysłu i wykonania. Możecie podać gdzie można kupić ten wyświetlacz.

    Pozdrawiam
    Elektronik



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sie 2014, o 08:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 gru 2013
    Posty: 201
    Lokalizacja: Koszalin
    Pomógł: 22

    Kuźnia napisał(a):
    Zdajemy sobie również sprawę, że pewnie są chętni na skopiowanie tej konstrukcji, niestety użyty wyświetlacz jest już niedostępny.

    Szkoda,może ktoś jednak natknie się na taki wyświetlacz w internecie to proszę o informację.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sie 2014, o 08:40 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27377
    Lokalizacja: Szczecin
    Pomógł: 1043

    A ja tam byłem, miód i mleko piłem :lol: ... aż chciałoby się powiedzieć :lol:

    Tzn byłem w KUŹNI NR.1 w Polsce, widziałem to nie tylko z bliska ale nawet miałem w ręku to cudeńko tutaj przedstawiane ... Słowo REWELACJA - słabo oddaje efekt w porównaniu z tym gdy można na własne oczy TO zobaczyć.

    Pozdrawiam całą kuźnię ;) ... a tym, którzy chcą zobaczyć mini reportaż z wizyty w kuźni i chociaż virtualnie obejrzeć ze mną także ten wyświetlacz w akcji polecam ten - ala poradnik:



    ok sprzęt sprzętem ... to co jednak nie powinno umknąć - to naprawdę niesamowici ludzie tworzący tę kuźnię. Mówię wam - gdybyście raz tam trafili - to też tak jak ja, wciąż myślelibyście jak znowu się tam z nimi spotkać, mieć możliwość tak podziałać ...

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sie 2014, o 09:36 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3228
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    Szkoda tylko że ci kowale :lol: tak rzadko bywają na forum.

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sie 2014, o 11:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 sty 2014
    Posty: 178
    Pomógł: 24

    "Szkoda tylko że ci kowale :lol: tak rzadko bywają na forum."

    Tak to już w życiu jest, rodzina ,praca i hobby. W tej chwili te dwa pierwsze maja najwiekszy priorytet. Jednak na hobby też troszkę torta zostaje :)

    A z wizytami na forum to staramy sie jak możemy, żeby bywać tu jak najczęściej.

    Pozdrawiamy całe forum ATNEL

    PS. dla wszystkich, którzy martwią się niedostępnością tego wyświetlacza - przeczytajcie końcową część tekstu i głowa do gory :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO