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 22 maja 2025, o 22:49


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
    Autor Wiadomość
    PostNapisane: 18 lut 2022, o 09:33 
    Offline
    Nowy

    Dołączył(a): 27 wrz 2021
    Posty: 20
    Pomógł: 0

    Cześć,

    moja walka z wyświetlaczem 7 segmentowym dalej trwa. Już włosy wyrywam :lol:

    Zrobiłem sobie multipleksowanie trochę inaczej niż Pan Mirek, mianowicie:

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


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


    Jakoś to działa, ale nie do końca jestem zadowolony. Wyświetlacz nie świeci równomiernie na każdym segmencie i nie wiem dlaczego :roll:

    Nie używam mulipleksowania od Pana Mirka bo mam inny wyświetlacz i za nic świecie nie potrafię zmienić tego kodu tak, żeby to działało na moim wyświetlaczu :cry:

    Może ktoś z Was pomoże. Wyświetlacz mam również ze wspólną anodą ale układ na płytce jest inny, anody są podpięte bezpośrednio do procesora natomiast segmenty przez tranzystory npn. I tu jest problem nie potrafię dostosować kodu do innego układu elektronicznego...

    Druga sprawa, gdy napisałem sobie inną obsługę multipleksowania to gdy podłącze np. przycisk do PINU PA3 to przycisk nie działa. Anody wyświetlacza podpięte są właśnie do portu A. Co może być przyczyną, że nie działają inne PINY poru A ??



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lut 2022, o 10:27 
    Offline
    Użytkownik

    Dołączył(a): 05 sty 2015
    Posty: 393
    Lokalizacja: Mielec
    Pomógł: 14

    A czasem cały port nie ustawiłeś na wyjsciowy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lut 2022, o 11:36 
    Offline
    Nowy

    Dołączył(a): 27 wrz 2021
    Posty: 20
    Pomógł: 0

    No właśnie nie... :?

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


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


    Nigdzie więcej nie używam Portu A.

    ------------------------ [ Dodano po: 7 minutach ]

    Chyba, że tu jest problem:


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


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


    Bo jak podepnę się pod oscyloskop na wolny pin portu A to coś tam biega, co jakiś czas pojawia się szpilka :shock:



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lut 2022, o 18:55 
    Offline
    Moderator
    Avatar użytkownika

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

    anody są ustawione tak

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


    a licznik biega tak ?

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


    od 1,3,5,7 ? No przecież tu już podstawowy babol

    _________________
    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: 18 lut 2022, o 19:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1034
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Acade napisał(a):
    Wyświetlacz mam również ze wspólną anodą ale układ na płytce jest inny, anody są podpięte bezpośrednio do procesora natomiast segmenty przez tranzystory npn. I tu jest problem nie potrafię dostosować kodu do innego układu elektronicznego...
    Przecież to powinno być odwrotnie, anody, jako że wspólne, powinny być przez tranzystory, a katody mogą być bezpośrednio do pinów, oczywiście z dodatkiem rezystora ograniczającego prąd.
    Pomyśl, sam pin procka ma ograniczoną wydajność prądową, typowo 20mA, a każdy segment w wyświetlaczu może pobierać ~15-20mA, w momencie wysterowania wszystkich segmentów masz 7*15=105mA i tyle będzie chciał szarpnąć wyświetlacz wspólną anodą z pinu procka w momencie próby wyświetlenia cyfry 8. Właśnie dla tego na wspólnej anodzie powinien być tranzystor, bo sam pin uC temu nie podoła.

    ------------------------ [ Dodano po: 4 minutach ]

    Acade napisał(a):
    Druga sprawa, gdy napisałem sobie inną obsługę multipleksowania to gdy podłącze np. przycisk do PINU PA3 to przycisk nie działa. Anody wyświetlacza podpięte są właśnie do portu A. Co może być przyczyną, że nie działają inne PINY poru A ??

    Acade napisał(a):
    Nigdzie więcej nie używam Portu A.

    A zobacz co robisz tu:
    Acade napisał(a):
    Składnia: [ Pobierz ] [ Ukryj ]
    język c

    volatile uint8_t tab[]={0,4,0,2,0,1,0,128,0};
    ...
    ANODY_PORT = tab[licznik];

    GeSHi

    Przecież cały czas zerujesz m.in. pin PA3 bo wysyłasz wartość tab[] bez maskowania czyli zapisujesz cały port, a pewnie podciągnięcie przycisku masz tylko programowe (bo przecież to się załącza zapisując jedynkę do portu pod dany pin) więc stan na tym pinie sobie pływa, dla tego oscyloskop pokazuje co pokazuje.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2022, o 21:05 
    Offline
    Nowy

    Dołączył(a): 27 wrz 2021
    Posty: 20
    Pomógł: 0

    mirekk36 napisał(a):
    anody są ustawione tak

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


    a licznik biega tak ?

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


    od 1,3,5,7 ? No przecież tu już podstawowy babol


    Panie Mirku, a na czym ten babol polega? Bo jakoś nie mogę go dostrzec :roll:
    Chodzi o to że licznik nie odpowiada dokładnie temu co jest podpięte do portu?
    PortA: 2,1,5,7
    Licznik: 1,3,5,7?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2022, o 22:12 
    Offline
    Moderator
    Avatar użytkownika

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

    Cytuj:
    Chodzi o to że licznik nie odpowiada dokładnie temu co jest podpięte do portu?
    PortA: 2,1,5,7
    Licznik: 1,3,5,7?

    oczywiście że licznik nie odpowiada
    proszę sobie spojrzeć BITOWO na liczby 1,3,5,7 i BITOWO na piny 2,1,5,7 na PORTA

    _________________
    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: 23 lut 2022, o 09:47 
    Offline
    Nowy

    Dołączył(a): 27 wrz 2021
    Posty: 20
    Pomógł: 0

    mirekk36 napisał(a):
    Cytuj:
    Chodzi o to że licznik nie odpowiada dokładnie temu co jest podpięte do portu?
    PortA: 2,1,5,7
    Licznik: 1,3,5,7?

    oczywiście że licznik nie odpowiada
    proszę sobie spojrzeć BITOWO na liczby 1,3,5,7 i BITOWO na piny 2,1,5,7 na PORTA


    Faktycznie prześledziłem jeszcze raz wszystko i ustawiłem licznik dokładnie tak jak są podpięte anody i faktycznie jest znaczna poprawa. Ale dalej pozostaje problem "coś" biega na pozostałych pinach portu A.

    Może tu rację ma kolega xentis, że zeruję cału port w ten sposób:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Generalnie jak skasuję "0" to wyświetlacz już nie działa poprawnie i za bardzo nie wiem dlaczego :? Ale mimo wszystko coś pojawia się na innych pinach :x



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