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 12 kwi 2025, o 20:20


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
    Autor Wiadomość
    PostNapisane: 1 maja 2019, o 21:33 
    Offline
    Nowy

    Dołączył(a): 17 sie 2015
    Posty: 20
    Pomógł: 0

    Mam problem z program . Chciałem aby na wyświetlaczu LCD w czwartej Lini zapalał się napis ZAL. kiedy SYSTEM_PIN =1 a WYL. kiedy SYSTEM_PIN = 0. Niestety mimo zmiany stanu z niskiego na wysoki SYSTEM_PIN napis na ekranie widnieje wciąż WYL. W czym tkwi problem. Jak Powinno wygladac kod. wyświetlania czwartej LINI?

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



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

    Dołączył(a): 19 lis 2015
    Posty: 219
    Pomógł: 20

    #define SYSTEM_PIN (1<<PD6)
    To zawsze bedzie prawdą. Nie zmienia sie na 0



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 maja 2019, o 22:18 
    Offline
    Nowy

    Dołączył(a): 17 sie 2015
    Posty: 20
    Pomógł: 0

    Hm... To jak inaczej zdefiniować funkcje if żeby kiedy na PD6 jest 0 było na LCD WYL. a kiedy 1 było ZAL. ??



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

    Dołączył(a): 19 lis 2015
    Posty: 219
    Pomógł: 20

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


    Albo jakas zmienna powołaj którą bedziesz zmieniac w zaleznosci od przycisku.

    Ale zauwaz, ze u Ciebie ( pomijajac to ze to nie jest zmienna tylko definicja preprocesora ) ty nigdzie nie zmieniasz jej wartosci



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 maja 2019, o 22:30 
    Offline
    Nowy

    Dołączył(a): 17 sie 2015
    Posty: 20
    Pomógł: 0

    Niestety napisanie funkcji w ten sposób nadal skutkuje ciągłym Napisem WYL.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c_mac
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



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

    Dołączył(a): 04 lut 2014
    Posty: 164
    Pomógł: 3

    @jez2000 dobrze Ci podpowiedział. Musisz używać jakiejś flagi typu bool albo nawet int choć to przerost formy. Nigdzie nie widze zmian tej zmiennej nawiasem mówiąc.

    _________________
    ::::::: C ::::::::::
    :::::: C++ :::::::::



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 maja 2019, o 06:13 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2595
    Pomógł: 128

    < czy << powinno być? :)


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 maja 2019, o 07:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 lis 2015
    Posty: 219
    Pomógł: 20

    No pewnie ze chodzilo o dwa. Zjadlo jeden :)


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 maja 2019, o 08:20 
    Offline
    Nowy

    Dołączył(a): 17 sie 2015
    Posty: 20
    Pomógł: 0

    Dziękuje problem rozwiązany. Mam jeszcze jedno pytanie do kolegów bo to mój pierwszy bardziej rozbudowany program. Gdy program był napisany tylko załącz, wyłącz (PD6) zmiana stanu odbywała się błyskawicznie. Odkąd rozbudowałem o funkcje pomiaru na ADC i wyświetlania napisów na LCD przyciski muszę trzymać około 1s żeby zmienić stan wyjścia. Czy taki jest już urok mikroprocesorów że działają linia po linii? Jak można by to usprawnić?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 maja 2019, o 08:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 lis 2015
    Posty: 219
    Pomógł: 20

    Uzywasz delay i w każdym obiegu wstrzymujesz program na 500ms. Odmierzanie czasu zastąp to jakimś timerem.
    Na YT jest poradnik Mirka nt timerów.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 maja 2019, o 20:34 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 mar 2015
    Posty: 323
    Lokalizacja: Rybnik
    Pomógł: 23

    No i ten nieszczęsny delay w tej funkcji:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Czas drgania styków realizuje się w trochę inny sposób aby nie robić sobie dodatkowych problemów.
    Zajrzyj np. tu http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-drgania-stykow-cd2.html
    Wyrzuć tego okropnego delay-a.

    _________________
    http://www.avrboss.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: 11 ] 

    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