Try this:
unsigned long pressureOnTime; //millis() time when pressure switch is first turned on
const unsigned long ledOnAfterTimeThreshold = 300000; //5 minutes * 60 sec * 1000 mSec
int pressureThreshold = 1; //minimum analog reading from pressure sensor considered to be "on"
const int fsrAnalogePin = 0;
const int ledPin = 11;
int ledState = LOW;
int pressureState = LOW;
void setup() {
Serial.begin(9600);
}
void loop() {
checkPressureSwitch();
//do other stuff here
}
void checkPressureSwitch() {
if( analogRead(fsrAnalogePin) >= pressureThreshold )
{
handlePressureOn();
}
else
{
handlePressureOff();
}
digitalWrite(ledPin, ledState);
}
void handlePressureOn() {
if ( pressureState == LOW )
{
//pressure switch was off, but is now on
pressureOnTime = millis();
pressureState = HIGH;
}
else if ( millis() - pressureOnTime >= ledOnAfterTimeThesholdledOnAfterTimeThreshold )
{
ledState = HIGH;
}
}
void handlePressureOff() {
ledState = LOW;
pressureState = LOW;
}