logische functies programmeren?
Geplaatst: do 11 apr 2013, 00:17
Hallo,
Ik ben op zoek naar een manier om logische functies (AND, OR, NOT) te programmeren.
Concreet heb ik deze case:
* ik heb een aantal lichtpunten (in de keuken), die ik met één druk op een knop (in de living) wil kunnen uitzetten
* ik heb hiervoor een groepadres gemaakt, en voor een bepaalde knop stuur ik altijd de opdracht "UIT" naar dat groepadres
* ik zou in het status-ledje van die knop willen weergeven of het zinnig is van erop te drukken, m.a.w. of minstens één van de lichten aanstaat (dit is vooral interessant omdat mijn alles-uit-in-de-keuken-knop in de living staat...)
Ik heb hiervoor dus nood aan een OR functie, maar ik heb eigenlijk geen flauw idee hoe ik hieraan kan beginnen...
Ik heb ook nog een tweede probleem (niet echt AND, OR, NOT maar wel "logisch programmeren"):
* Ik heb één ventilatiesysteem voor twee wc's.
* In de wc's hangen bewegingsmelders met een timer: het licht+ventilatie gaat aan als je binnenkomt en na 5 minuten zonder beweging gaat alles weer uit.
* Als je (in de huidige situatie) eerst in wc 1 binnengaat, en even later in wc 2, dan zal de ventilatie uitgaan op het moment dat de timer van wc 1 afloopt, terwijl het licht in wc 2 nog steeds brandt. (als de sensor van wc 2 beweging detecteert, gaat de ventilatie weer aan)
Ik zou hiervoor een soort teller willen bijhouden, en de ventilatie moet aan staan zolang de teller niet op 0 staat:
* initiele waarde: teller = 0, ventilatie = UIT
* wc 1: ON --> teller + 1 = 1 --> ventilatie = AAN
* wc 2: ON --> teller + 1 = 2 --> ventilatie = AAN
* wc 1: OFF --> teller - 1 = 1 --> ventilatie = AAN
* wc 2: OFF --> teller - 1 = 0 --> ventilatie = UIT
Ook hier heb ik geen flauw idee hoe eraan te beginnen...
(Los van het feit dat ik niet weet waar zo'n teller zou moeten zitten, lijkt het mij een probleem dat de sensor bij elke beweging een AAN signaal stuurt, en maar één keer UIT. Maar dat kan misschien opgelost worden met een tussenliggend groepadres of zo...)
Of zijn er andere/betere manieren om deze dingen te verkrijgen?
Alvast bedankt voor jullie reacties!
groenten,
geronimo
Ik ben op zoek naar een manier om logische functies (AND, OR, NOT) te programmeren.
Concreet heb ik deze case:
* ik heb een aantal lichtpunten (in de keuken), die ik met één druk op een knop (in de living) wil kunnen uitzetten
* ik heb hiervoor een groepadres gemaakt, en voor een bepaalde knop stuur ik altijd de opdracht "UIT" naar dat groepadres
* ik zou in het status-ledje van die knop willen weergeven of het zinnig is van erop te drukken, m.a.w. of minstens één van de lichten aanstaat (dit is vooral interessant omdat mijn alles-uit-in-de-keuken-knop in de living staat...)
Ik heb hiervoor dus nood aan een OR functie, maar ik heb eigenlijk geen flauw idee hoe ik hieraan kan beginnen...
Ik heb ook nog een tweede probleem (niet echt AND, OR, NOT maar wel "logisch programmeren"):
* Ik heb één ventilatiesysteem voor twee wc's.
* In de wc's hangen bewegingsmelders met een timer: het licht+ventilatie gaat aan als je binnenkomt en na 5 minuten zonder beweging gaat alles weer uit.
* Als je (in de huidige situatie) eerst in wc 1 binnengaat, en even later in wc 2, dan zal de ventilatie uitgaan op het moment dat de timer van wc 1 afloopt, terwijl het licht in wc 2 nog steeds brandt. (als de sensor van wc 2 beweging detecteert, gaat de ventilatie weer aan)
Ik zou hiervoor een soort teller willen bijhouden, en de ventilatie moet aan staan zolang de teller niet op 0 staat:
* initiele waarde: teller = 0, ventilatie = UIT
* wc 1: ON --> teller + 1 = 1 --> ventilatie = AAN
* wc 2: ON --> teller + 1 = 2 --> ventilatie = AAN
* wc 1: OFF --> teller - 1 = 1 --> ventilatie = AAN
* wc 2: OFF --> teller - 1 = 0 --> ventilatie = UIT
Ook hier heb ik geen flauw idee hoe eraan te beginnen...
(Los van het feit dat ik niet weet waar zo'n teller zou moeten zitten, lijkt het mij een probleem dat de sensor bij elke beweging een AAN signaal stuurt, en maar één keer UIT. Maar dat kan misschien opgelost worden met een tussenliggend groepadres of zo...)
Of zijn er andere/betere manieren om deze dingen te verkrijgen?
Alvast bedankt voor jullie reacties!
groenten,
geronimo