Schreib das mal ungefähr so:

bool leseWert;
leseWert=digitalRead(kp);
if(leseWert==HIGH)
{
.....
.....
}

Deine Methode _müsste_ eigentlich auch funktionieren, aber aus Erfahrung weiss ich: manchmal funktioniert es eben nicht.