Serial.println("Looking for PN532...");
deadbolt.attach(9);
deadbolt.write(locked);
Somehow, I fail to see the relationship between what you printed and what you do.
pos = deadbolt.read();
Got a short memory, huh?
volatile boolean valid;
Why is a local variable declared volatile?
delay(100);
In a sketch based on blink without delay? Shame on you.
if (ledState == LOW)
ledState = HIGH;
else
ledState = LOW;
or
ledState = !ledState;