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 17 maja 2025, o 01:29


    Strefa czasowa: UTC + 1





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

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    Mam problem z napisaniem poprawnego kodu, który sprawdzał by np. co dwie sekundy poprzednią pozycje ramienia, którym steruje silnik i jeśli pomiar nie zmienił sie w tym czasie od poprzedniego, a nie osiągnął zadanej wartości to silnik powinien się wyłączyć. Oczywiście układ posiada czujnik pozycji.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lut 2021, o 18:38 
    Offline
    Użytkownik

    Dołączył(a): 29 paź 2017
    Posty: 232
    Pomógł: 26

    W 28 linijce kodu dokonałbym pewnych drobnych zmian.
    Może to by pomogło.
    Chyba że się mylę.

    _________________
    Jestem na GG 31324
    Nowy soft, nowa nadzieja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lut 2021, o 19:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 496
    Lokalizacja: Siedlce
    Pomógł: 9

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


    tak tak to musi być to xD :lol:

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lut 2021, o 19:22 
    Offline
    Nowy

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    No dobrze, oto 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.


    Ale przyznasz, że te kilka stron kodu jednak nie wiele wnosi i nie bez powodu go wcześniej nie podałem, a jeśli wszystko rozkminiłeś to rzeczywiście szacun ;)
    Moje zagadnienie jest raczej uniwersalne typu :
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Oczywiście to powyżej się nie sprawdza, ale chodzi mi o naprowadzenie jak zrobić warunki aby uzyskać pożądany efekt ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lut 2021, o 20:24 
    Offline
    Użytkownik

    Dołączył(a): 29 paź 2017
    Posty: 232
    Pomógł: 26

    Tak bym zapisał warunki które zawarłeś w pierwszym poście

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


    Można by jeszcze zrobić flagę które mówi o tym ze warunki są spełnione i wywołujemy alarm

    _________________
    Jestem na GG 31324
    Nowy soft, nowa nadzieja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lut 2021, o 07:12 
    Offline
    Nowy

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    Działa, ale nie do końca poprawnie. Rozjeżdżają się czasy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lut 2021, o 07:42 
    Offline
    Użytkownik

    Dołączył(a): 29 paź 2017
    Posty: 232
    Pomógł: 26

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

    Czy nie prościej było by napisać ją tak:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

    Nic się nie powinno rozjeżdżać.

    _________________
    Jestem na GG 31324
    Nowy soft, nowa nadzieja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lut 2021, o 17:30 
    Offline
    Nowy

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    Tak myślałem, że trzeba odliczać. Ciekawy sposób, a przyznam że nie spotkałem się jeszcze z takim ;0.
    Owszem fajnie to działa, choć z jednym mankamentem. Pierwsze zwłoka przy zatrzymaniu się silnika jest dwa razy dłuższa od kolejnych. Być może wynika z warunku (stan_poprzedni_ramienia == stan_obecny) i odlicza dwa razy, potem już idzie dobrze.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lut 2021, o 18:19 
    Offline
    Użytkownik

    Dołączył(a): 29 paź 2017
    Posty: 232
    Pomógł: 26

    Co do timerów to tu masz link to tego jak to robi Mirek,
    W porównaniu do tego co Ci napisałem, Dodał zmienną pomocniczą
    ale silnik taki sam:
    http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-zwoka-czasowa-cd3.html

    Co do tej pierwszej zwłoki
    Sprawdź czy nie należało by inicjować timera przy starcie programu jakąś wartością początkową
    Tak bez spoglądania na kod

    _________________
    Jestem na GG 31324
    Nowy soft, nowa nadzieja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lut 2021, o 22:24 
    Offline
    Nowy

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    Co innego to powodowało nie związanego z tym kodem. Dzięki za pomoc ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2021, o 08:21 
    Offline
    Użytkownik

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

    To opisz co to było.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sty 2022, o 16:26 
    Offline
    Nowy

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    A czy ktoś ma pomysł jak zabezpieczyć silnik przed nagłymi zmianami kierunku? Czyli wprowadzić jakieś stałe opóźnienie przed zmianą i najlepiej nieblokująco. U mnie zmiana obrotów nie będzie wynikała z przycisków, a z funkcji programu.

    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.



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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