Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

attiny13 - włącznik światła rc5

pogi13 01 Cze 2014 11:13 1464 9
  • #1 01 Cze 2014 11:13
    pogi13
    Poziom 14  

    Witam
    Planuję wykonać układ wg schematu. Jest to zmodyfikowany przeze mnie projekt z tej STRONY
    Całość ma się mieścić w puszce podtynkowej. Na programowaniu się nie znam a chciałbym dołożyć możliwość włączania światła standardowym włącznikiem.
    Co musiałbym dodać do programu by to działało? Czy w przypadku wciśniętego włącznika będzie można wyłączyć światło pilotem?

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0 9
  • #2 01 Cze 2014 11:51
    mi14chal
    Poziom 28  

    Musisz jeszcze dodać obsługę sprawdzania czy przycisk jest włączony, jeśli jest to zapalasz lampę.

    0
  • #3 01 Cze 2014 11:55
    pogi13
    Poziom 14  

    Szukam trochę po sieci i wyszło mi coś takiego - dobrze kombinuję?

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #4 01 Cze 2014 12:57
    mi14chal
    Poziom 28  

    Nie znam bascoma, ale to nie zadziała, skoro masz odbiornik rc5 podpięty do PB0 to nie możesz użyć tego pinu do sprawdzania przycisku.

    0
  • #5 01 Cze 2014 22:31
    pogi13
    Poziom 14  

    mój błąd,miał być PORTB.1

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #6 01 Cze 2014 23:58
    mi14chal
    Poziom 28  

    Pomyśl nad tym co napisałeś

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Przycisk masz podłączony do PB1 a nie PB0

    0
  • #7 02 Cze 2014 14:53
    emarcus
    Poziom 35  

    pogi13 napisał:
    Witam
    chciałbym dołożyć możliwość włączania światła standardowym włącznikiem.

    Co musiałbym dodać do programu by to działało? Czy w przypadku wciśniętego włącznika będzie można wyłączyć światło pilotem?


    Podmień standardowy dwustanowy wyłącznik światła na jednostanowy przycisk (typu: dzwonkowy). Da ci to możliwoś niezależnego sterowania odbiornikiem w trybie 'toggle'. Nie wielka modyfikacja programu załatwi sterowanie z pilota oraz bezpośrednio z wyłącznika. Przecież elementem wykonawczym jest triak sterowany processorem, zatem ta częśc układu niech tak pozostanie. Sprawdzasz tylko stan wyjścia zamiast stanu wyłącznika. Można też experymentowac z wyłącznikiem dotykowym zamiast mechanicznego "push button".

    e marcus

    0
  • #8 02 Cze 2014 17:44
    pogi13
    Poziom 14  

    emarcus napisał:
    Podmień standardowy dwustanowy wyłącznik światła na jednostanowy przycisk (typu: dzwonkowy). Da ci to możliwoś niezależnego sterowania odbiornikiem w trybie 'toggle'. Nie wielka modyfikacja programu załatwi sterowanie z pilota oraz bezpośrednio z wyłącznika. Przecież elementem wykonawczym jest triak sterowany processorem, zatem ta częśc układu niech tak pozostanie. Sprawdzasz tylko stan wyjścia zamiast stanu wyłącznika. Można też experymentowac z wyłącznikiem dotykowym zamiast mechanicznego "push button".

    e marcus


    A nie da się tego w kilku linijkach w programie uwzględnić tak by nie zmieniać włącznika?

    0
  • #9 02 Cze 2014 18:36
    emarcus
    Poziom 35  

    pogi13 napisał:

    A nie da się tego w kilku linijkach w programie uwzględnić tak by nie zmieniać włącznika?


    Wymagałoby to zastosowania instrukcji z użyciem PCINT dla pinu podpiętego pod wyłącznik, oraz dostateczny 'debouncing' aby wyeliminowac drgania styków i otrzymac każdorazowo pojedynczy sygnał zmiany jego stanu.

    e marcus

    0
  • #10 02 Cze 2014 18:44
    januss73
    Poziom 31  

    Da się, tylko wtedy będziesz miał przypadkowe ułożenie włącznika w czasie załączenia, bo raz będziesz wyłączał włącznikiem a raz pilotem.

    Cytat:
    dim flaga as bit
    if pind.1=1 then flaga=0
    if pind.1=0 then flaga=1
    do
    if pind.1=1 and flaga=1 then
    toggle portb.4
    flaga=0
    waitms 200
    end if
    if pind.1=0 and flaga=0 then
    toggle portb.4
    flaga=1
    waitms 200
    end if
    loop


    No i nie podłączaj tym wyłącznikiem czasem 230V :)

    0