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 3 kwi 2025, o 17:10


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
    Autor Wiadomość
     Tytuł: Magick clock
    PostNapisane: 31 maja 2017, o 20:42 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lut 2017
    Posty: 368
    Lokalizacja: Gliwice
    Pomógł: 34

    Obrazek
    1. Wstęp.
    Jak to zwykle bywa z takimi projektami, często powstają z potrzeby chwili.
    Również i u mnie pojawiła się potrzeba posiadania zegarka. Po wymianie telewizora na taki, który nie wyświetla czasu na bieżąco, stanąłem przed potrzebą zakupu zegara ściennego.
    Ponieważ poradniki Mirka na temat magick ledów miałem już za sobą, a ring ledy były w zakresie moich możliwości i pragnień, postanowiłem zbudować od podstaw taki oto właśnie zegar :)

    2. Trochę o konstrukcji
    Na początku w planach był tylko sam ring z 60 diodami, ale pustka w środku zegarka nie dawała mi spać po nocach.
    W pierwszej fazie zapełniania pustki postawiłem na wyświetlacz ledowy z matryc 8x8, ale trudności z umieszczeniem takich matryc w środku obudowy skłoniły mnie do innego rozwiązania.
    Wygrzebałem z czeluści elektronicznego dobytku wyświetlacz OLED, przypasowałem i okazało się, że pasuje jak ulał :)
    Planowałem wykonać PCB do zegarka, ale zastosowana płytka uniwersalna pozwoliła na zgrabne złożenie całości. Przy okazji powstał schemat w Eagle, więc tę niedogodność zawsze można poprawić.

    3. Nie zapominajmy o obudowie
    Już we wczesnej fazie projektowania sprzętu zacząłem zastanawiać się nad obudową.
    Na początku oczywistym stało się, że to musi być obudowa po rozwiązaniu fabrycznym, bo rzeźbienie w drewnie czy w glinie zajmuje za dużo czasu.
    Zegar w końcu ma to być ozdoba pokoju, a nie jakaś szkarada na ścianie :).

    Ostatecznie padło na zegarek wskazówkowy, kwarcowy zakupiony na portalu aukcyjny, w cenie ok 20 zł.
    Po wybebeszeniu niepotrzebnych gratów ze środka, podpiłowaniu tu i owdzie plastików, okazało się zakupiony zegar idealnie nadaje się do tego projektu.

    W dość estetyczny sposób udało się umieścić płytkę uniwersalną z całą potrzebną elektroniką (zastosowałem gotowy klon Arduino Pro Mini oraz wyświetlacz OLED 2.42 cala ).

    Fabrycznie dostarczone szkiełko zegarka przyozdobiłem folią do przyciemniania szyb, żeby nadać głębi kontrastu.
    Zastosowane diody RGB cechują się sporą jasnością, dlatego też w normalnym użytkowaniu jasność musi być ustawiona na wartość minimalną.

    Fabryczna obudowa pozwala nam na bezpośrednie powieszenie zegarka na ścianie dzięki dedykowanej w obudowie zawieszce.

    4. Teraz skromna prezentacja:


    5. Jak obsługiwać to cudo?
    Całość zegarka, w obecnej wersji, należy obsługiwać za pomocą, zabudowanego od tyłu, enkodera, choć jak będzie można zobaczyć na zdjęciach, zegarek jest również sprzętowo przygotowany na obsługę pilota. To na razie przyszłość, ale planuję zaimplementować tryby uczenia z dowolnego pilota.

    Lewo, prawo oraz magick button enkodera (short, medium, large time) pozwala na przełączanie między trybami wyświetlacza, sterowanie jasnością oraz wejściem i wyjściem z trybu ustawiania czasu.

    Taki sposób sterowania to celowe założenie, zegar bowiem miał mieć cechy zegara analogowego, ustawianego za pomocą pokrętełka :)
    Planowana obsługo pilota niestety będzie wymagała dodatkowej pracy, pewnie niezbyt szybko się to uda, bo w zanadrzu mam już inne, nie mniej ciekawe (tak myślę :) ) projekty.

    Dorzucam również szczegółowe zdjęcia dotyczące konstrukcji zegara oraz mam nadzieję, że w przyszłości cały kod, bowiem w założeniu jestem orędownikiem open hardware i open source :). Sam nie mam nic do ukrycia, nie wstydzę się tego czego nauczyłem, a mam nadzieję również bardziej zaawansowani programiści również coś podpowiedzą. :)

    Z kodem może być tylko taki problem, że ciężko będzie mi chyba wydzielić co moje, a co nie moje, ale na pewno podejmę temat.

    6. Jak pracowałem nad softem?
    Podstawą były oczywiście książki Bluebook i Greenbook oraz poradniki Mirka:
    1. Wyświetlacze Oled na SSD1306:
    https://www.youtube.com/watch?v=IDhnhCp61Ao

    2. Seria poradników na temat enkoderów:
    https://www.youtube.com/watch?v=IP5t_XzfRRM

    3. Poradniki dotyczące magick ledów:
    https://www.youtube.com/watch?v=nj_vZTQAO7k

    4. Poradnik na temat DS3231:
    https://www.youtube.com/watch?v=rPxRkYTtvYg

    5. Wpisy na temat obsługi klawiszy:
    http://mirekk36.blogspot.com/2012/10/dr ... ak-to.html


    Warto nabyć wiedzę z tych filmów, żeby lepiej rozumieć działanie zegarka.

    7. Z czego jestem zadowolony szczególnie:
    - własna biblioteka do obsługi klawiatury. Wpleciona obsługa zdarzeń i callbacków, rozwinięcie obsługi przycisków poprzez analizę czasu przyciśnięcia.
    - pisana od podstaw obsługa polskich znaków, skoncentrowana na kodowaniu znaków UTF-8. Dzięki temu podejściu, liczę na łatwiejszą przenośność w przyszłości kodów z Windows na inne platformy.
    - mocno modyfikowana obsługa WS2812, z poradników właściwie nie ruszałem tylko kodów asemblerowych, reszta to już pełna próba pisania kodu od A do Z. Od początku starałem wpleść kod oparty na strukturach.
    - właściwe praktycznie nie stosuję delayów, a moimi braćmi od dawna są soft timery :)
    - dzięki pracy nad takim, jakby nie było sporym, 22kB kodem, dość dogłębne zrozumienie przyswajanych zagadnień, co oczywiście nie oznacza, że już wszystko umiem, wręcz przeciwnie :) Większość kodu, który napisałem na pewno wymaga sporo pracy, żeby był bardziej przejrzysty i optymalny.
    Ważne jest to, że po kilku miesięcznej przerwie w pracy na zegarem, nie miałem większego problemu ze zrozumieniem tego co nabazgrałem :)
    PS. Z tym sporym kodem to trochę przesadziłem, większą część zajmują po prostu czcionki do wyświetlacza :)

    8. Co należy jeszcze poprawić?
    - mało optymalna obsługa buforowania OLED. Brak optymalizacji rysowania pojedynczych znaków (pikseli) skutkuje dużym czasem rysowania: 35-70 ms.
    - dorobić trochę bajeranckich efektów wizualnych, ale to wymaga optymalizacji kodu i przemyślenia struktury projektu
    - dołożyć czujnik światła i odległości, żeby można było sterować "ręcznie" zegarem bez użycia pilota oraz zdejmowania zegarka ze ściany.
    Mam na podorędziu prawie gotową bibliotekę do obsługi takiego czujnika VCNL4010, może kiedyś go wykorzystam.
    - lepiej rozwiązać zasilanie zegarka - dedykowane gniazdo zasilające, najlepiej mikro usb.
    - dalej pracować nad kodem, zawsze jest coś co można poprawić :)

    9. Zajrzyjmy jeszcze może do pliku main.c:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    10. Teraz jeszcze schemat oraz trochę zdjęć:


    ObrazekObrazekObrazekObrazekObrazekObrazek
    ObrazekObrazek

    Kolejne zdjęcia.
    ObrazekObrazekObrazek


    Załączniki:

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



    Ostatnio edytowano 1 cze 2017, o 20:44 przez Zealota, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 maja 2017, o 22:03 
    Offline
    Moderator
    Avatar użytkownika

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

    WOW! albo po polsku ŁAŁ! .... czekałem na to ! ;)

    Miałem okazję widzieć to CUDEŃKO na żywo podczas warsztatów w Katowicach (dokładniej mówiąc w Bojszowach) .... mówię wam rewelacja!

    Pomijam już sam pomysł i opracowanie ale staranność i precyzja wykonania tego wszystkiego "w środku" powala niejedną osobę na kolana ;) ... Zresztą inne projekty tegoż autora również.

    Ja ze swojej strony bardzo bardzo dziękuję za pokazanie tego projektu w naszym DIY , jest na czym oko zawiesić, o czym poczytać ... a tak w ogóle to dzięki warsztatom miałem okazję poznać osobiście wielu fajnych ludzi.

    Mam nadzieję, że zaprezentowany tu pięknie projekt będzie mega inspiracją dla wielu "zarażonych" pasją elektroniki i programowania ;)

    _________________
    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: 31 maja 2017, o 22:11 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

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

    No piękne cacko ALE: razi mnie ta płytka uniwersalna. Gdyby była wytrawiona byłoby 100/100 :D

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 maja 2017, o 22:31 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lut 2017
    Posty: 368
    Lokalizacja: Gliwice
    Pomógł: 34

    mirekk36 napisał(a):
    WOW! albo po polsku ŁAŁ! .... czekałem na to ! ;)

    Miałem okazję widzieć to CUDEŃKO na żywo podczas warsztatów w Katowicach (dokładniej mówiąc w Bojszowach) .... mówię wam rewelacja!


    Dzięki za słowa uznania :)
    Na pewno zdopingują mnie do zamieszczania kolejnych projektów na forum.

    Jaglarz napisał(a):
    No piękne cacko ALE: razi mnie ta płytka uniwersalna. Gdyby była wytrawiona byłoby 100/100

    Wiedziałem, że tutaj może być problem w ocenie. W rzeczywistości płytka ta lepiej wygląda niż na zdjęciach :) Na tyle lepiej, że brakło już motywacji do projektu PCB, dodatkowo schowana za przyciemnioną szybką jest niewidoczna.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 maja 2017, o 22:48 
    Offline
    Moderator
    Avatar użytkownika

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

    Zealota napisał(a):
    Wiedziałem, że tutaj może być problem w ocenie.

    Jak się patrzy na miliony różnych projektów zrobionych w oparciu o tego typu płytki andruino ... to przynajmniej mnie zawsze krew zalewa, bo zwykle widzi się taką płyteczkę andruino a dookoła niej dziesiątki kabli (przewodów połączeniowych) plączących się wszędzie - a wszystko zalane jest tzw "superglutem na gorąco"...

    Zealota napisał(a):
    W rzeczywistości płytka ta lepiej wygląda niż na zdjęciach

    Potwierdzam, i żeby tak wszyscy andruinowcy robili to byłoby już bardzo dobrze. Moim zdaniem taki projekt ma o tyle walory edukacyjne, że pokazuje, jak można porządnie zmontować cały układ na takiej płytce uniwersalnej z mini modułem andruino bez tych kabli - ANTEN i dziesiątek litrów "hot glue" ... Połączenia krótkie, precyzyjnie wykonane itp

    oczywiście, że w ostatecznej wersji przydałaby się powiedzmy gotowa zrobiona płytka PCB ... ale

    ... gdybyśmy mieli na nią czekać - to w ogóle nie zobaczylibyśmy tego projektu albo poczekalibyśmy jeszcze X czasu. A tak? ... a tak jest zrobione schludnie, precyzyjnie i może inspirować szczególnie wielu młodych andruinowców jak chodzi o samo wykonanie chociażby połączeń.

    _________________
    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: 1 cze 2017, o 06:05 
    Offline
    Nowy

    Dołączył(a): 21 kwi 2014
    Posty: 10
    Pomógł: 0

    Ja również miałem okazję potrzymać ten zegarek w rękach- mówię Wam cudo!!! Zdjęcia tak naprawdę niczego nie oddają. Na żywo wygląda to przepięknie!!! Widać ten inżynierski zmysł, taką perfekcję ,dbałość o szczegóły i jeszcze ten kodzik zamieszczony na forum - super!!! Kiedy mnie uda się osiągnąć taki poziom -ech?!
    Gratulacje dla Ciebie Zealota i gorące pozdrowienia oczywiście!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 cze 2017, o 07:05 
    Offline
    Użytkownik

    Dołączył(a): 13 lut 2012
    Posty: 174
    Pomógł: 10

    Piękne. Gratuluję pomysłu i wykonania.
    Poziom programowania godny pozazdroszczenia.
    Proszę o więcej takich projektów.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 cze 2017, o 09:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lut 2017
    Posty: 368
    Lokalizacja: Gliwice
    Pomógł: 34

    dambo napisał(a):
    super! co to za wyświetlaczyk dokładnie jest?

    Jakoś teraz nie mogę znaleźć dokładnie tego modelu.
    Na pewno jest to wyświetlacz Oled I2C 2.42 cala na sterowniku SSD1306.
    Więcej szczegółów obecnie nie znam, wyświetlacz kupowałem jakieś 2 lata temu na chińskim portalu aukcyjnym.
    Podobne wyświetlacze z przesyłką można obecnie kupić za ok 25 dolarów.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 cze 2017, o 14:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    Rewelacyjny projekt

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 cze 2017, o 15:18 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 cze 2014
    Posty: 820
    Lokalizacja: Tam gdzie PYRY są
    Pomógł: 64

    No panie.... To teraz mi rozwaliłeś system. Chciałbym powiedzieć piękne cacko ale to za mało dla tego projektu. Cud, miód i orzeszki...


    Już sobie wyobrażam efekt na żywo, bo wiem, że nawet najlepiej wykonane zdjęcia czy film nakręcony mega dobrą kamerą nie oddadzą tego jaki efekt dają te maleństwa ws2812b. Na żywo to musi być petarda. Wiem co mówię, bo zdjęcia mojego sterownika szału nie robią a na żywo napatrzeć się na te kolory nie idzie.

    KAWAŁ DOBREJ ROBOTY. WIELKI KAWAŁ.

    _________________
    IntegraMETEO
    WordCLOCK
    IntegraTOUCH



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 cze 2017, o 20:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lut 2017
    Posty: 368
    Lokalizacja: Gliwice
    Pomógł: 34

    Jeszcze raz dziękuję wszystkim za pozytywny odzew dotyczący projektu. Ochy, achy trochę mnie zaskoczyły, w końcu to kawałek plastiku i elektroniki :)
    No trochę więcej niż kawałek plastiku, bo sporo zaangażowania i serducha w to włożyłem.
    Dzięki również Mirkowi, w końcu to Jego zapał nam się udziela i powoduje, że chce się takie elaboraty pisać i przygotowywać kolejne projekty.

    JarekK napisał(a):
    Poziom programowania godny pozazdroszczenia.

    Nie trzeba zazdrościć, wystarczy wziąć się do roboty :)
    Z mojej perspektywy ten kod to obecnie nic szczególnego, nie pisałem o tym, ale sam widzę sporo niedoróbek i jest duże pole do zmian.
    Przyznam się Wam również, że programowanie bardzo ciężko mi przychodzi. To są godziny, tygodnie i miesiące zmagania się z ograniczeniami, ale tym bardziej warto jeśli odzew jest tak pozytywny.
    Mam w zanadrzu kolejne projekty, przy których, jak myślę i mam nadzieję, magic clock to zwykła zabawka :)

    PS
    Dorzucam kolejne zdjęcia, których zabrakło, żeby ostatecznie przekonać kolegę Jaglarza, że projekt PCB nie był potrzebny :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 cze 2017, o 21:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    Gdzie kupowałeś led ringi ? 60 led ?

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 cze 2017, o 21:04 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lut 2017
    Posty: 368
    Lokalizacja: Gliwice
    Pomógł: 34

    majster napisał(a):
    Gdzie kupowałeś led ringi ? 60 led ?


    U braci Chińczyków :)

    ------------------------ [ Dodano po: 2 minutach ]

    dambo napisał(a):
    Przejrzałem kod teraz przy okazji :) całkiem ładny aż się prosi ten timerek z while(1) wywalić i dac jakoś ładnie calbaczkiem - wtedy mamy sprawdzanie 4 eventów i wsio :p


    Co prawda to prawda. Dzięki za hint. Jakoś tak zafiksowany byłem z tymi softimerami, żeby na "chama" je wrzucać :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 cze 2017, o 08:27 
    Offline
    Użytkownik

    Dołączył(a): 25 cze 2015
    Posty: 97
    Lokalizacja: Gdańsk
    Pomógł: 1

    Ale Fajne. A jaki pomysł, czapka z głowy dla autora. :shock:



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 cze 2017, o 18:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 16 mar 2014
    Posty: 745
    Lokalizacja: Warszawa
    Pomógł: 32

    O kurczaki, ale zegar!!!
    Gratuluję zarówno świetnego pomysłu jak i super wykonania. Efekt końcowy petarda!

    _________________
    .



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 cze 2017, o 21:59 
    Offline
    Użytkownik

    Dołączył(a): 22 kwi 2017
    Posty: 99
    Lokalizacja: Piła
    Pomógł: 4

    Bajer. Gratki



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lip 2017, o 11:43 
    Offline
    Nowy

    Dołączył(a): 12 lip 2017
    Posty: 1
    Pomógł: 0

    Możesz udostępnić swoje biblioteki ?
    W schemacie jest mały błąd .
    WS2812 połączyłeś in z out w pętle .



    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: 17 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO