logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bascom - problem w odliczaniu

IMEX 16 Sty 2011 00:45 816 2
REKLAMA
  • #1 9012087
    IMEX
    Poziom 20  
    Witam serdecznie

    Potrzebuje poprawy kodu do sterowania wiatrakiem ale to nie ważne

    chodzi mi o samo sterowanie

    Opisze to tak
    Mam zmienna ustalaną w menu W_czas (czas w sekundach - ustalmy że jest to 5 przykładowo)
    jeśli raz nacisnę przycisk Wl_wiatrak to wentylator chodzi 5 sek i automatycznie się wyłączy
    jeśli nacisnę 4 razy to 4 x 5 sek = 20 sekund się włączy i wyłączy po tym czasie

    Jak to nie utrudni zadania to naciśnięcie i przytrzymanie przycisku na 1 sek wyłącza wiatrak i kasuje licznik.

    proszę o pomoc

    sklecilem cos takiego ale nie działa

     If Wiatr_ena = 0 Then
    
      Incr Wiatrak_licz
          If Wiatrak_licz = W_czas Then Wiatrak_licz = 0
          Wiatrak = 0
    
        Else
    
          Wiatrak = 1
    
        End If
  • REKLAMA
  • #2 9012317
    Kuniarz
    Moderator Projektowanie
    Źle, w skrócie powinno być tak:

    jeśli wiatr_ena = 0 wtedy
    poczekaj 25 ms (eliminacja drgań styków)
    jeśli wiatr_ena = 0 wtedy
    pętla
    wyjście z pętli kiedy wiatr_ena=1 (czekanie na PUSZCZENIE przycisku
    koniec petli
    reszta Twoich instrukcji warunkowych
    endif
    endif
    Pomogłem? Kup mi kawę.
  • #3 9012516
    IMEX
    Poziom 20  
    Kurde nadal nie kumam

    włącznik (przycisk) jest oznaczony jako
    Wl_wiatrak

    Ogólny warunek czy ma działać (wł/wył)
    Wiatr_ena

    Załączanie wiatraka OUT do przekaźnika
    Wiatrak

    Ustawiany czas pracy w sekundach w menu
    W_czas

    I z tego trzeba poskładać - chyba to wszystko co jest potrzebne

    ten kod po prostu na stałe wł i wył przekaźnik
    
     If Wiatr_ena = 1 Then
    
          Wiatrak = 1
    
        Else
    
          Wiatrak = 0
    
     End If
    


    Dodano po 2 [godziny] 30 [minuty]:

    Doszedłem do tego

    Teraz mam wykonane następujące dane
    wł/wył ogólne działanie wiatraka
    ustawianie czasu w menu - niewidoczne w podanym kodzie
    po wciśnięciu przycisku Wl_wiatrak wiatrak załącza się na zadany czas (efekt osiągnięty w 50%)

    Brak jest jeszcze, gdy wielokrotnie nacisnę przycisk czas ma być powiększony o wielokrotność naciśnięć

    
    '******* Sterowanie czasowe wiatrakiem *******
    
     If Wiatr_ena = 1 Then
    
          Wiatrak = 1
          Wiatrak_licz = 0
    
        Else
    
          If Wl_wiatrak = 1 Then
    
             If Wiatrak = 0 Then
    
                Incr Wiatrak_licz
                If Wiatrak_licz = W_czas Then
                Wiatrak = 1
                Wiatrak_licz = 0
                End If
    
             End If
    
          Else
    
             Wiatrak = 0
             Gosub Beeper1
    
          End If
    
     End If
    
    '***********************************************
    


    to działa poprawnie

    Dodano po 1 [godziny] 58 [minuty]:

    Rozwiązane - Zamieszczam kod może się przyda

    '******* Sterowanie czasowe wiatrakiem *******
    
     If Wiatr_ena = 1 Then
    
          Wiatrak = 1
          Wiatrak_licz = 0
    
        Else
    
          If Wl_wiatrak = 1 Then
    
             If Wiatrak = 0 Then
    
                Incr Wiatrak_licz
                If Wiatrak_licz = W_czasq Then
                Wiatrak = 1
                Wiatrak_licz = 0
                W_czasq = 0
                Wyswietlanie = 1
                End If
    
             End If
    
          Else
    
             Wiatrak = 0
             Gosub Beeper1
             W_czasq = W_czasq + W_czas
             Wyswietlanie = 8
    
           End If
    
     End If
    
    '***********************************************
REKLAMA