proces laten werken op een tijds interval

Status
Niet open voor verdere reacties.

beatboxer05

Gebruiker
Lid geworden
9 nov 2009
Berichten
5
Hallo iedereen,

Ik ben een bewegingssensor aan het programmeren in c++ , maar ik loop echter tegen een probleem.

Ik wil met een if statement aan kunnen geven dat deze sensor tussen tijdstip x(inschakel tijd van sensor) en y(uitschakeltijd van sensor) moet werken.

x en y zijn variabel en deze kunnen varieren van 0 tot 23. Dit is de systeem tijd die ik van mijn pc aflees in uren
Het lukt mij echter niet om hier een logisch if statement voor te bedenken.

Kan iemand mij hier bij helpen of weet iemand nog een andere manier om dit aan te pakken?

gegroet niek
 
Laatst bewerkt:
oke, ik ben een noob dus deze code bevat waarschijnlijk fouten, maar het kan je op weg helpen.
[CPP]#include <time.h>
//in de head:
if (tm_hour>=x){if (tm_hour<y){
//sensorcode
}}
[/CPP]
 
Hee die oplossing gaat niet werken:

stel de inschakeltijd is x = 22 uur en de uitschakeltijd is 07 uur.
Je gaat nu kijken op 01 uur als de sensor ook hoort te werken..Dan klopt dit if statement niet .

Gegroet niek
 
ah, dat klopt ja...
w8 ff, ik pas m ff aan.
[CPP]#include <time.h>
//in de head:
int xx,yy;
if (x<y){
xx=x;
yy=y;
}else{
xx=y
yy=x}
if (tm_hour>=xx){if (tm_hour<yy){
//sensorcode
}}[/CPP]
werkt dat wel?
edit:
ow, nee, dat klopt ook niet...
verder kan ik t ook niet bedenken.
 
Laatst bewerkt:
[cpp]if ( ( (in < uit) && (in <= tm_hour) && (uit > tm_hour) )
||
(in > uit) && ( (in >= tm_hour) || (uit > tm_hour) )
) {
//ingeschakeld
} else {
//uitgeschakeld
}[/cpp]

waar tekenen op een tijdslijn al niet handig voor is :p
 
ik heb de oplossing al gevonden:


If (inschakeltijd > uitschakeltijd)
{
If ((tm_hour < uitsckakeltijd) || (tm_hour >=inschakeltijd))
{
Voer handeling uit
}

else
{
}
}


else If (inschakeltijd < uitschakeltijd)
{
If ((tm_hour < uitsckakeltijd) && (tm_hour >=inschakeltijd))
{
Voer handeling uit
}

else
{
}
}

else (inschakeltijd == uitschakeltijd)
{
Voer een handeling uit
}


bedankt voor het mee denken,

gegroet niek
 
Werkt idd ook, heeft hetzelfde effect als mijn vloek erboven. Alleen is het mss minder handig, omdat je jouw code die moet uitgevoerd worden bij in/uitgeschakeld op meerdere plaatsen moet zetten, waardoor ze minder makkelijk te onderhouden is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan