PRINCIPIANTE, sensor de movimiento que encienda una luz

Muy buenas a todos, estoy empezando en esto y tengo ligeras nociones de java, por lo que tengo un problema de principiante, pero no consigo dar con él.
Me sale un error en la lectura del pir al compilar el siguiente código;

/*
UN SENSOR CUANDO DETECTA MOVIMIENTO ENCIENDE UNA LUZ DURANTE 1 MINUTO,
SI NO DETECTA NADA DURANTE UN MINUTO LA LUZ SE APAGA*/

int led=2; //DECLARO LA VARIABLE LED
int pir=5; //DECLARO EL PIN DEL SENSOR PIR, DE LAS TRES PATILLAS UNA VA A TIERRA, OTRA A VOLTAJE Y LA TERCERA AL PIN.
int lecturapir=0; //DECLARAMOS LA VARIABLE DE LECTURA DEL SENSOR.

void setup() {
Serial.begin(9600); //COMIENZO LA TRANSMISION DE INFORMACIÓN
pinMode(led,OUTPUT); //DECLARO EL LED COMO ELEMENTO DE SALIDA O EMISOR
pinMode(pir,INPUT); // DECLARO EL PIR COMO ELEMENTO DE ENTRADA O RECEPTOR
}

void loop() {

lecturapir=digitalRead(pir,HIGH); // EL PIR COMIENZA A DETECTAR MOVIMIENTO, LEEMOS VALOR DEL PIR

if(lecturapir>0){ //SI LEE O DETECTA ALGO EL PIR
led=digitalWrite(HIGH); //DECLARO QUE SE ENCIENDA LA LUZ
delay(60000);//DECLARO QUE AGUANTE ENCENDIDO DURANTE 1 MINUTO
}
else{ //SI NO LEE NADA EL PIR, DESPUÉS DE ESE MINUTO,
led=digitalWrite(LOW); //SE APAGARÍA LA LUZ
delay(1000); // ESPERA UN SEGUNDO
}
}
//EL PROGRAMA VOLVERÍA A REPETIR, VOLVIENDO A ESTAR ACTIVADA LA LECTURA DEL PIR.

Gracias de antemano

Hice un descanso y di con los errores, que he visto que eran varios, pero gracias a todos igualmente, seguro que sigo subiendo mis dudas, que no serán pocas jeje.

Buenas,

Cuando copias código deberías usar el botón </> así queda todo mas ordenado

Si solo vas a utilizarlo para esta función no hay problema pero si lo vas a usar para mas cosas si lo hay, cuando haces un delay estas interrumpiendo el programa por lo que si otro sensor debe actuar al mismo tiempo no lo hará, deberías leer sobre el uso de millis()