W chwilach wolny wpadł mi do głowy pewien pomysł. Z racji tego, że łazienka jest miejscem gdzie notorycznie zapomina się o gaszeniu światła (moja żona), a jest tam żarówka 100W (do czytania na kibelku) no i dzieci które nie sięgają do "pstryczka", wymyśliłem coś takiego.
Załączenie światła następuje już przy otwarciu drzwi jeśli jednak nie wejdziemy do łazienki, a zostawimy otwarte drzwi to gaśnie po 10s. Jeśli jednak postanowimy wejść to czujnik ruchu załącza światło. Przy otwartych drzwiach gaśnie po 10s., przy zamkniętych drzwiach światło będzie się świecić do momentu ponownego otwarcia drzwi. Co wy na to ma to jakiś sens? Na dole podaję kod w Bascomie (oczywiście funkcje wyświetlacza są zbędne tutaj tylko dla lepszego zrozumienia)
Załączenie światła następuje już przy otwarciu drzwi jeśli jednak nie wejdziemy do łazienki, a zostawimy otwarte drzwi to gaśnie po 10s. Jeśli jednak postanowimy wejść to czujnik ruchu załącza światło. Przy otwartych drzwiach gaśnie po 10s., przy zamkniętych drzwiach światło będzie się świecić do momentu ponownego otwarcia drzwi. Co wy na to ma to jakiś sens? Na dole podaję kod w Bascomie (oczywiście funkcje wyświetlacza są zbędne tutaj tylko dla lepszego zrozumienia)
$regfile = "m8def.dat"
Dim X As Byte
Podswietlenie Alias Portd.2
Ruch Alias Pind.1
Drzwi Alias Pind.0
Config Portd = &B00000100
Portd = &B00110011
Config Lcdbus = 4
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Pb.2 , Db5 = Pb.3 , Db6 = Pb.4 , Db7 = Pb.5 , E = Pb.1 , Rs = Pb.0
Do
'----------- drzwi otwarte -----------------------------------------------'
If Drzwi = 0 Then
Cls
Lcd "drzwi otwarte"
Reset Podswietlenie 'jeśli drzwi otwarte to zaświeć
Wait 5 ' na 5 sek.
Set Podswietlenie ' a potem zgaś
Do 'jeśli czujnik ruchu
If Ruch = 0 Then 'wykryje coś
Cls 'to zaświeci na 10 sek.
Lcd "ruch otwarte"
Gosub Ruch_otwarte
End If
Loop Until Drzwi = 1
End If
'----------- drzwi zamknięte -----------------------------------------------'
If Drzwi = 1 Then
Cls
Lcd "drzwi zamkniete"
If Ruch = 0 Then
Cls
Lcd "ruch zamkniete"
Gosub Ruch_zamkniete
End If
End If
Set Podswietlenie
Loop
Ruch_otwarte:
Reset Podswietlenie
Wait 10
Set Podswietlenie
Do
If Ruch = 0 Then
Cls
Lcd "ruch otwarte"
Gosub Ruch_otwarte
End If
Loop Until Drzwi = 1
Return
Ruch_zamkniete:
Do
Reset Podswietlenie
Loop Until Drzwi = 0
Return
End