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



Teraz jest 29 mar 2024, o 11:09


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: 369
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 ]
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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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: 3187
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 89

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



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: 369
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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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: 163
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: 369
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: 369
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: 369
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 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