Bien, primero error conceptual que veo.
Un PIR entrega valores digitales asi que no hay nada que tengas que hacer con una entrada analógica.
Usa un pin digital 2 a 13 para leerlo.
La conversión de valores AD a float no tiene sentido y el uso de floats menos
Tu buffer como minimo debería ser de bits y sus estados como un registro de desplazamiento.
Y otro error conceptual. Si usas el AD que ya dije que esta mal no necesitas esto
pinMode(A1, INPUT);
Pero si puedes usar eso y olvidarte del AD, se comprende porque ahi lo defines como entrada digital pero luego no usas la función digitalRead(A1) que te daría el estado digital.
Luego te daré una idea de como corregir tu código