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 maja 2025, o 12:33


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 18 lut 2021, o 23:17 
    Offline
    Nowy

    Dołączył(a): 28 sie 2020
    Posty: 2
    Pomógł: 0

    Witam wszystkich,

    Przerabiam aktualnie ćwiczenia z BB, posiłkując się przy okazji filmami z YT z profilu Pana Mirka oraz archiwalnych tutoriali z mikropasji.

    Przy ćwiczeniu z przerwań z okazji programowania obsługi wyświetlaczy 7 segmentowych natknąłem się na sytuację, którą nie jestem z powodu braków wiedzy rozwiązać, a nie chcę również przechodzić dalej z materiałem bez próby zrozumienia co się właściwie dzieje.
    Pan Mirek zachęcił mnie do opisania problemu na forum, problem może komuś się wyda znajomy i pomoże.

    Efektem ćwiczeń (książka, YT) powinno być pojawienie się czterech cyfr na wyświetlaczach (jako wartości stałe bądź odliczające się w dół od wartości 6000). W moim przypadku pojawiają się również kropki (DP). Zdjęcie pierwsze to program odliczający w dół, zdjęcie drugie to wyświetlenie cyfr 007.
    ObrazekObrazek

    Dla obu przypadków Anody podłączone były do PORTC 0-3. Zmiana na PORTD nic nie zmieniła - poniższy kod już portami D.

    Użyty kod jest to klasyczny kod z BB, wkleję tylko fragmenty, nie wiem czy upublicznianie całego jest możliwe:
    W poniższym kodzie forum ścina mi ten fragment, powinno być tak:

    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 ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    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.

    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.


    Przy podłączeniu Anod do PORTC i jednoczesnym zwarciu wszystkich 8 wyjść z wejściami LED i wprowadzeniu algorytmu na świecenie diodami jak KnightRider. kropki z wyświetlacza również się zapalają i gasną. Pokazane jest to na filmie (tylko cztery diody były podłączone do testów). Wydaje mi się, że nie powinno tak być.

    Sam kod to nic specjalnego:
    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.


    Czy mam jakiś błąd w kodzie, którego nie potrafię dostrzec lub może coś źle podłączone w zestawie ATB?

    Pozdrawiam
    Łukasz



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2021, o 04:32 
    Offline
    Moderator
    Avatar użytkownika

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

    Po pierwsze to pamiętaj proszę, że PD0 i PD1 to piny do komunikacji UART / RS232 i jeśli nie rozpiąłeś żółtych zworek nad prockiem JP6 i JP7 to jest kaszana na linii TX pomiędzy prockiem a układem FT232R. Więc jak już te piny wykorzystujesz to rozłączaj te zworki ok?

    Po drugie, zakładając że robisz coś w kodzie TYLKO na PORTC i nie używasz PORTA na którym masz podpięte zworki do segmentów wyświetlacza LED i pomimo to świecą kropki to:

    1. zdejmij zworkę z pinu PA7 (odpowiedzialnego za segment H czyli za kropkę) i zobacz czy nadal będą świecić kropki

    2. W ogóle na chwilę rozłącz od procka wszystkie segmenty i anody, weź dwa zwykłe przewody połączeniowe i zrób że najprostszy test czyli: Podłącz na początek jednym przewodem wspólną anodę pierwszej cyfry do GND. A następnie drugim przewodem podłączonym do GND sprawdzaj każdy pin segmentu czy się zapala prawidłowo. Tak można mega prosto i szybko sprawdzić sam wyświetlacz przecież.

    3. Gdyby założyć że jak pisałem wyżej, w twoim ćwiczeniu robisz coś w kodzie tylko na PORTC i świecą kropki to wyglądałoby tak jakbyś pinem PC7 sterował segmentem H czyli być może jakby np PC7 był zwarty z PA7. No ale przecież to też łatwo można i szybko sprawdzić. Rozłącz wszystkie połączenia, wyjmij na chwilę procka z podstawki i sprawdź miernikiem (brzęczykie) czy nie ma zwarcia pomiędzy PA7 i PC7 (a nie powinno być) Gdyby było to mogłoby oznaczać, że jest coś nie tak z zestawem i wtedy trzeba byłoby go do nas podesłać tzn uówić się ze mną na maila najpierw ok?

    4. Sprawdź też czy przypadkiem pin PA7 nie ma zwarcia do GND (ale raczej nie powinien mieć skoro kropki gasną czasami)

    Generalnie to nie wiem po co np gdy robisz kod na ten efekt knight ridera dla zwykłych diod LED to nadal masz podłączone anody wyświetlacza LED również do PORTC - przecież to nie ma kompletnie sensu bo używasz PORTC do zwykłych diod a w TYM SAMYM czasie cztery piny PORTC aktywują w kodzie stanem niskim bazy tranzystorów od wspólnych ANOD wyświetlacza LED. Oczywiście i tak w tym czasie nie powinny sobie migać same kropki a jeśli migają to być może dlatego, że akurat na PA7 w jakiś dziwny sposób jest stan NISKI ? nie wiem - no trzeba to sprawdzić

    _________________
    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: 19 lut 2021, o 05:34 
    Offline
    Moderator
    Avatar użytkownika

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

    Teraz tak patrzę jeszcze - no mieszanka na maxa w tym ATB ;) weź wyjmij ten ANALOG INDICATOR z microport i sprawdź wtedy te swoje kody ;)


    Autor postu otrzymał pochwałę

    _________________
    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: 19 lut 2021, o 16:46 
    Offline
    Nowy

    Dołączył(a): 28 sie 2020
    Posty: 2
    Pomógł: 0

    mirekk36 napisał(a):
    Teraz tak patrzę jeszcze - no mieszanka na maxa w tym ATB ;) weź wyjmij ten ANALOG INDICATOR z microport i sprawdź wtedy te swoje kody ;)

    Dzień dobry,

    Dziękuję za wskazanie problemu.
    Odłączenie Analog Indicatora rozwiązało problem, wcześniejsze sugestie również są cenne, postaram się w przyszłości nie pozostawiać połączeń, które mogą powodować jakieś implikacje.

    Dziękuję jeszcze raz i pozdrawiam
    Łukasz



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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