Muchas gracias carlosjq10, ya he conseguido solucionarlo utilizando millis().
Pongo por aquí lo que yo he realizado por si a alguien más le puede ayudar:
long previousMillis = 0;
// Intervalo de tiempo que queremos que se mantenga presionado el botón
long interval = 4000;
const int switchPin = 6;
void setup() {
pinMode(switchPin, INPUT);
}
void loop() {
switchState = digitalRead(switchPin);
unsigned long currentMillis = millis();
if (currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
if (switchState == HIGH) {
//Función que queremos que haga cuando se mantenga pulsado el botón
funcionARealizar();
}
}
}
;D ;D
Un saludo