La secuencia para unir programas es primero saber que estas haciendo y no hacerlo a lo tonto si me permites la expresión.
Con ello quiero decir, no compies y pegues todo.
Comienza por el código mas grande y lo renombras y lo pones en otra carpeta
Luego vas paso a paso
1ro las librerías del 2do sketch las agregas al 1ro. Lo mismo con las variables globales.
Si hay cosas que comparten pines tendras que tomar decisiones.
Si hay variables con el mismo nombre tendras que hacer lo mismo.
2do El setup()
lo que este en el primero ya está.
Lo del segundo... vas agregando lo nuevo. Si ya se inicializó el Serial pues no lo haces de nuevo.
Asi con todo.
3ro. El loop. la parte mas complicada
Analiza el 1er loop. Yo veo en el primero muchas secuencias de LEDS encendidos a intervalos de delay, eso es un problema si en el 2do hay pulsadores.
Y justamente en el segundo tienes el PIR que lo miras como un pulsador y eso claro que esta bien, pero ahora, si caes en la secuencia esta por ejemplo
if(LDRvoltaje<=1.20){
digitalWrite(led10, HIGH);
delay(500);
digitalWrite(led11, HIGH);
delay(600);
digitalWrite(led12, HIGH);
delay(700);
digitalWrite(led13, HIGH);
delay(800);
}
Tendras 2600 mseg o 2.6 seg en que una accion sobre el PIR responda.
Te puedo explicar como resolverlo pero terminaré haciendolo yo.
Debes ir a Documentación y ver como se implementan las máquinas de estado.
Al final hay un ejemplo parecido a este en el que yo hago justamente lo que necesitas. Convierto un codigo lleno de delays en otro que no los tiene pero no demora la accion del PIR.
Leelo a ver que entiendes.