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 21 maja 2025, o 14:07


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
    Autor Wiadomość
    PostNapisane: 1 lut 2014, o 21:29 
    Offline
    Użytkownik

    Dołączył(a): 06 lis 2013
    Posty: 44
    Pomógł: 0

    Nie mogę sobie poradzić z załączeniem pinu na stan wysoki na czas1 i wyłączaniem go na czas2. Korzystam z funkcji milis() z forum ale ona włącza i wyłącza stan na ten sam czas a ja potrzebuje dwa rożne czasy. Nawet nie wiem po jakiej frazie mam szukać mojego rozwiązania.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lut 2014, o 21:59 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 09 kwi 2013
    Posty: 22
    Pomógł: 1

    delay(1000);

    Wartość w nawiasie w milisekundach.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lut 2014, o 22:31 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    daj sobie delay(200); dla jednego , a dla innego delay(500); co za różnica

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lut 2014, o 22:37 
    Offline
    Użytkownik

    Dołączył(a): 06 lis 2013
    Posty: 44
    Pomógł: 0

    Tyle to wiem ale moje czasy to kilka minut. Dopiero zaczynam ale wydaje mi się że jak da długi delay to w tym czasie blokuje się cały kod?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lut 2014, o 22:42 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    delay zawsze blokuje ....

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lut 2014, o 22:45 
    Offline
    Użytkownik

    Dołączył(a): 06 lis 2013
    Posty: 44
    Pomógł: 0

    To może mała podpowiedź jak się za to zabrać?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lut 2014, o 23:05 
    Offline
    Użytkownik

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

    Pomógł: 101

    Definiujesz zmienną, dajmy na to

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    , w której będziesz zapamiętywać moment od którego trzeba zacząć odmierzać czas i stałe czasowe (np. 8 minut)

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

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

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    Przy każdym obrocie pętli głównej sprawdzasz czy upłynął wymagany okres czasu

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    jeśli tak to robisz co trzeba zrobić i

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    i znów w pętli głównej sprawdzasz czy upłynął, tym razem drugi ocinek czasu

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    jeśli upłynął to robisz co innego i wpisujesz nową wartość tlapsebegin. I tak w kółko.

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lut 2014, o 23:42 
    Offline
    Użytkownik

    Dołączył(a): 06 lis 2013
    Posty: 44
    Pomógł: 0

    Czytałem kilka razy i nie za bardzo chyba zrozumiałem. Poniżej to co wywnioskowałem i oczywiście nie działa.
    Chciałbym aby mieszał wodę 5 min a przerwy było 10 min.
    Składnia: [ Pobierz ] [ Ukryj ]
    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  
    PostNapisane: 2 lut 2014, o 12:11 
    Offline
    Użytkownik

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

    Pomógł: 101

    Zmienna tlapsebegin musi zachowywać wartość między wywoływaniami funkcji przerwa(). W tej chwili, jako zmienna automatyczna jest przy każdym wywołaniu funkcji tworzona, z przypadkową wartością i niszczona przy wyjściu. Nic dziwnego więc że nie działa. Zmienna musi być albo statyczna albo globalna. To jedno.
    Drugie, że jak już zdefiniujesz własciwą zmienną to w obecnej postaci i tak nie zadziala. Sprawdzasz oba warunki jednocześnie, zauważ, że warunek sprawdzający krótszy interwał nigdy nie pozwoli na spełnienie drugiego warunku. Trzeba sprawdzać raz jeden raz drugi warunek. Urządzenie działa w dwóch stanach: "mieszanie wody", "przerwa w mieszaniu". Kiedy urządzenie jest w stanie "mieszanie wody" trzeba sprawdzać czy upłynęło 5 minut. Kiedy upłynie zapisuje się nową wartość tlapsebegin i zaczyna sprawdzać czy upłynęło 10 minut. I tak w kółko.


    Autor postu otrzymał pochwałę

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lut 2014, o 14:43 
    Offline
    Użytkownik

    Dołączył(a): 06 lis 2013
    Posty: 44
    Pomógł: 0

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

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

    Wygląda na to że działa tylko chciałbym się upewnić że moje rozwiązanie nie zawiera błędów logicznych na przyszłość.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lut 2014, o 09:19 
    Offline
    Użytkownik

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

    Pomógł: 101

    I jeszcze jedno: jeśli urządzenie ma pracować cały czas to trzeba pamiętać, że po ok. 49 dniach licznik millis() się przekręca i jakoś to uwzględnić w programie.

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



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