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? 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 13 cze 2025, o 11:36


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
    Autor Wiadomość
    PostNapisane: 6 sty 2015, o 19:56 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 23 lip 2014
    Posty: 12
    Pomógł: 0

    Hej
    Chciałbym pracować na matrycy Led 16x16. Potrafię przesłać dane do wyświetlania
    rejestrem przesuwnym przez SPI. I tu oszczędzam prawie 2 porty.
    Ale do multipleksowania potrzebuję kolejne 2 pełne porty, które też chcę oszczędzić.
    I pytanie(a) brzmi(ą): czy ma sens poprzez driver mocy (np. ULN2803) i za pomocą
    kolejnych rejestrów przesuwnych multipleksować?
    Czy ustawić aż 4 rejestry szeregowo i słać 32 bity - pół na dane a pół na multipleksowanie?
    Czy po dwa rejestry równolegle (jeden dla danych, drugi do multipleksowania) i
    jakoś na przemian przełączać (jak albo czym bo jest jedno MOSI) i na nie podawać po 16 bitów?
    A może jeszcze inaczej?
    Pozdrawiam wszystkich.

    _________________
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sty 2015, o 21:32 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Ja bym rozwiązał to tak, jak piszesz. Osiem wierszy po 32 bity. Ja jakiś czas temu robiłem matrycę 21x20. Zrobiłem 7 wierszy po 60led i całkiem nieźle to śmiga. Oczywiście ULNy na kolumnach i wiersze sterowane przez Mosfety.
    Rejestry na wierszach i kolumnach to chyba kiepski pomysł. Oszczędzisz ze trzy piny a zamieszania w kodzie programu za dużo według mnie.


    Autor postu otrzymał pochwałę

    _________________
    IntegraMETEO
    WordCLOCK
    IntegraTOUCH



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 sty 2015, o 15:35 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 23 lip 2014
    Posty: 12
    Pomógł: 0

    Dzięki skalarro za odpowiedź, ale.... nie bardzo ją zrozumiałem.
    Do obsługi wspólnej anody (i dalej multipleksowania kolejnych anod) potrzebuję 2 porty (16 pinów ) i tu rejestr oszczędzi kilkanaście pinów.
    Na katody podaję 16 bitów aby coś się zapalało, tu też widziałbym rejestr przesuwny.
    A moje pytanie jest o praktyczne rozwiązanie. Zapytam więc jeszcze raz pomijając sprawy prądu i napięć.
    1. Czy ustawić 4 rejestry w kaskadzie i słać 32 bity - pół na dane a pół na multipleksowanie?
    2. Czy po dwa rejestry równolegle (jeden dla danych - 16 bitów , drugi do (anod) multipleksowania - 16 bitów) i
    jakoś na przemian przełączać (jak albo czym bo jest jedno MOSI w atmedze) i na nie podawać po 16 bitów?
    3. A może jeszcze inaczej?
    ozdrawiam

    _________________
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 sty 2015, o 16:31 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Każdy sposób jest dobry jak zadziała. Zależy co chcesz osiągnąć. Zając jak najmniej pinów procka czy jak najmniej skomplikować program. Ja wybrałbym rozwiązanie pośrednie.
    Podziel matrycę na pół żeby była 8×32. Kolumny zapalają przez rejestry a wierszami steruj z procka (multipleks)
    Według mnie tak najprościej - zapalasz wiersz i wysyłasz zawartość jakiejś tablicy. Potem drugi wierz trzeci i aż do 8.
    Mam nadzieje ze jasno w miarę tym razem

    _________________
    IntegraMETEO
    WordCLOCK
    IntegraTOUCH



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 sty 2015, o 20:08 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2013
    Posty: 647
    Zbananowany użytkownik

    Pomógł: 101

    A ja bym to zrobił na jednym pinie i czterech rejestrach. Albo na trzech rejestrach i demultiplekserze.
    Nie wydaje się to bardziej skomplikowane softwarowo...za to o wiele ciekawsze ;-)

    ...Z drugiej strony...gdybym chciał uprościć hardware do maksimum, zmniejszając tym samym koszty, zużycie energii, pracochłonność montażu itd to pomyślałbym o charlieplexingu, gdzie tę matrycę być może dało by się wysterować za pomocą 17 pinów, a więc praktycznie dowolną atmegą.


    Autor postu otrzymał pochwałę

    _________________
    +++++[>++++<-]>[>++++++<-]>.---------.+++.



    Ostatnio edytowano 8 sty 2015, o 20:54 przez xor, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 sty 2015, o 20:19 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Ja multipleksuje aktualnie 16 katod i 8 anod na 3 rejestrach przesuwnych wysylajac 24bity powiem ze latwiej bylo mi to opanowac niz kombinowac multipleksowanie na pimach uc

    Namazane ze smarta.


    Autor postu otrzymał pochwałę

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 sty 2015, o 21:58 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 23 lip 2014
    Posty: 12
    Pomógł: 0

    Dzięki wszystkim
    Korzystam z gotowych matryc 16x16 ze wspólną anodą.

    Chyba w końcu Cię zrozumiałem skalarro. To faktycznie najprostsze podejście. I tak robiłem z matrycą 8x8.
    Wybacz ale uczę się też zadawać pytania.

    Xor Twoja podpowiedź to jak głos z innego wymiaru. Teraz to mam klina z demultiplekserem
    oraz charlieplexingiem (Maxim?). Postaram się zgłębić.

    Majster multipleksujesz katody (16sz.) jak rozumiem ? Z jaką częstotliwością odświeżania?

    jeszcze raz dzięki wszystkim

    _________________
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 sty 2015, o 07:24 
    Offline
    Użytkownik
    Avatar użytkownika

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

    W ukłedzie mam 3 rejestry przesuwne gdzie

    1 rejestr to 8 katod
    2 rejestr to 8 katod
    3 rejestr to 8 anod

    Ty musiałbyś dodać jeszcze 1 rejestr by mieć dodatkowo 8 anod.

    Wysyłam za 1 razem 24 bity w 32 bitowej zmiennej 800 razy na sekundę dla 2 wyświetlaczy 7 seg. Co daje mi 100x na sek dla jednego znaku czyli 8 katod.

    Namazane ze smarta.

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



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

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