[SOLUCIONADO] Encendido de luces del coche automatico

Buenas noches... lo primero decir que soy muy novato en Arduino e intento aprender poco a poco.

Quiero montar un circuito que encienda las luces de mi coche automaticamente cuando la luz baja de cierto valor. Hasta aqui creo que es sencillo y facil de encontrar el codigo.
El caso es que una vez ajustado el valor de encendido, no quiero que se enciendan directamente cuando baja la luz, si no que se enciendan si esa luz esta en nivel bajo unos 3 segundos, esto es pra que no enciendan al pasar debajo de algun puente.
Tambien quiero que una vez encendidas, esten un minimo de 8 segundos antes de apagarse.

He hecho un codigo que creo que me podria funcionar, pero el primer tiempo de 3 segundos a veces no se cumple.... Igual estoy haciendo algo mal.. no se.

Os pego el codigo que he creado por si alguien me lo puede revisar....

Un saludo y muchas gracias.

/* Este codigo sirve para encender y apagar un led cada vez que ocurre un cambio 
en la intensidad de la luz.
Especial para encendido automatico de luces de coche
Tenemos 2 tiempos de espera, el que primero aparece delay 8000 (8 segundos)
es el tiempo que tardan en apagarse las luces cuando aumenta la luz, 
el primer delay 3000 (3 segundos) es el tiempo seguido que tiene que estar 
en penumbra para encenderse
La salida digital del sensor debe ir conectada al pin A0, y el led debe ir
conectado al pin 3.
*/

int PinSensor = A0; // entrada analoga para nuestro sensor de luz
int PinSalida = 3; // salida digital para realizar la conexion de un led
int LecturaSensor=0; /* variable para almacenar el valor del sensor, 
                       este valor hay que modificarlo al instalar el circuito
                       en el coche, hacerlo a la hora del crepusculo cuando 
                       pensemos que hace falta encender las luces */

void setup() {
       pinMode(PinSalida, OUTPUT); // declarar la PinSalida como salida:
       pinMode(PinSensor,INPUT); // declarar la relayPin como salida:
}

void loop() {
    LecturaSensor = analogRead(PinSensor); // Leemos el valor del sensor

    if (LecturaSensor <800) // Verificamos si el la entrada del sensor a tomado el valor de A0
       {
       digitalWrite(PinSalida,HIGH); // Encendemos el led
       delay(8000); // Tiempo de espera para apagarse la luz
       }
       else
       {
       digitalWrite(PinSalida, LOW); // Encendemos el led
       delay(3000); // Tiempo seguido en penumbra para encenderse 
       }
}

Hola javicuenca, mira creo que te quedaria asi el loop

asumiendo que <800 significa que hay poca luz

(para la siguiente etapa en tu aprendizaje de arduino lee sobre la funcion millis() que reemplaza los delay() )

void loop() {
    LecturaSensor = analogRead(PinSensor); // Leemos el valor del sensor

    if (LecturaSensor <800) // entra en el if cuando hay poca luz
       {
       delay(3000); //paramos el programa por 3 seg

    LecturaSensor = analogRead(PinSensor); // Leemos el valor del sensor

    if (LecturaSensor <800) // si luego de 3 seg sigue en <800
       {   
       digitalWrite(PinSalida,HIGH); // luego de  3seg encendemos el led
       delay(8000);       //     una vez encendido el led paramos el programa por 8 seg
                                // y nos aseguramos que como minimo se encuentre encendido por 8 seg
              }
       }
     else 
        {
           digitalWrite(PinSalida, LOW); // apagamos el led
        }

muchas gracias "hypernovat", como ves estoy muy verde en programacion... pero ire aprendiendo.

El circuito lo montaré con un Arduino NANO que active un modulo de rele de 5V.

lo de los tiempos de espera y valor de la luz, pues cuando lo haga funcionar en el coche sera cuestion de probar valores para adaptarlo a lo que yo quiero.

Me leere lo de la funcion millis que me comentas.

Un saludo desde Cuenca (España)

EDITO: Hola amigos, abro de nuevo este post a ver si me podéis ayudar.

Hice el circuito y funciona perfectamente con el código.
El problema está a la hora de conectarlo al coche.
He conectado los bornes del relé al circuito de luces, he encontrado un cable que he cortado y he intercalado el circuito.
Lo malo es que con el mando de luces encendido, pero las luces apagadas por haber suficiente luz, la centralita del coche detecta circuito abierto y enciende testigo y se pone en modo seguridad encendiendo las cortas y antiniebla.

Mi pregunta es si habría algún componente electrónico, no se, tipo condensador o resistencia... Que pudiera conectar en paralelo y sirviera para que no detectará el circuito abierto.

Gracias por vuestra ayuda.

Ya he solucionado el problema, la cuestion estaba en que dejaba el circuito de luces abierto y daba fallo en Can Bus del coche. He localizado otros dos cablesa los que les conecto el contacto del rele en paralelo..y todo va fenomeno.