LDR + Paso a paso + Tira de leds.

Buenas. Estoy trabado con el código y no puedo avanzar en el proyecto! A ver quien me da una mano.
Tengo un módulo LDR que quiero asignarle la siguiente función:

  • Cuando hay luz (valor 400 aprox) el motor stepper gire hacia un lado 180º y la tira de led no encienda.
  • CUando NO hay luz, el motor stepper vuelva a su posición original. Y se encienda la tira de leds.

Ya el conexionado lo tengo resuelto con fuente externa para led y el paso a paso.
Ahora, las variables las deberìa declarar al principio de ambos? (LED y Stepper)

Inserto el código que ya tengo de cada uno por separado, no sé como unirlos para que funcionen en simultáneo. Gracias!

Motor:

/ *Declaramos la correspondencia entre pines del ARDUINO y el driver ULN2003. */

int motorPin1 = 8;  //pin8----1N4
int motorPin2 = 9;  //pin8----1N3
int motorPin3 = 10; //pin8----1N2
int motorPin4 = 11; //pin8----1N1

// Definimos la función que provocará el giro antihorario
/* El parámetro de entrada "delayTime" definirá la velocidad de giro     */

void gira_antihorario(int delayTime)
{
digitalWrite(motorPin1, HIGH); // Los pines se activan en secuencia
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);  
}
//Definimos la función que provocará el giro horario
void gira_horario(int delayTime)
{
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime); 
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, HIGH); // Los pines se activan en secuencia
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
}

void setup() { 
pinMode(motorPin1, OUTPUT); // Configuración de los PINes como salida digital
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);

}

void loop() 
//gira media vuelta en sentido antihorario rápido
{ 
for (int i=0; i <= 1000; i++){               //cantidad de vueltas
     gira_antihorario(5);                      // velocidad, mientras mas alto el valor, va mas lento
  } 
delay(4000);//espera 2 segundos
//gira media vuelta en sentido horario lento
for (int i=0; i <= 1000; i++){                //cantidad de vueltas
     gira_horario(2);                         // velocidad, mientras mas alto el valor, va mas lento
  } 
delay(4000);//espera 2 segundos
}

LDR y LED

// Pin donde se conectan los leds
int pinLed1 = 3;

// Pin analogico de entrada para el LDR
int pinLDR = 0;

// Variable donde se almacena el valor del LDR
int valorLDR = 0;  

void setup()
{
 // Configuramos como salidas los pines donde se conectan los led
 pinMode(pinLed1, OUTPUT);
 
 //  Configurar el puerto serial
 Serial.begin(9600);
}

void loop()
{
 // Apagar todos los leds siempre que se inicia el ciclo
 digitalWrite(pinLed1, LOW);

 // Guardamos el valor leido del ADC en una variable
 // El valor leido por el ADC (voltaje) aumenta de manera directamente proporcional
 // con respecto a la luz percibida por el LDR
 valorLDR= analogRead(pinLDR);
 
 // Devolver el valor leido a nuestro monitor serial en el IDE de Arduino
 Serial.println(valorLDR);

 // Encender los leds apropiados de acuerdo al valor de ADC
 if(valorLDR > 400)
 
}

Gracias de antemano!

Porque será que siempre que llega alguien no lee las normas del foro, al menos una vez o lee otros hilos y luego se pregunta ahhh tengo que postear usando algo que no veo.. a ver.. si las Normas deben explicarlo, y entonces descubren que existe un tag para códigos, otro para enlaces y otro para fotos y no simplemente pegar un código que no se lee y ya!!!
Esta claro que debes hacer!!
Voy a editarlo por ti esta vez pero no la siguiente.

Solo debes ser ordenado.
Todos los #include y definiciones primeros.
Luego las variables globales.
Debes juntar en el setup las definiciones y si hay dos Serial.begin() dejas 1 solo.

finalmente el loop
De nuevo, toma el mas grande (el primero) y ve sumando cosas del segundo (LDR) como leerlo del puerto A0 y luego tomar las acciones del caso (if)

Muchísimas gracias por la pronta respuesta! Y es verdad, pido disculpas porque no me esforcé en leer las reglas del foro. Eso que hace años sigo los proyectos de acá y nunca las vi!

Voy a tratar de organizarlo como decís y veo si todo resulta bien! Nuevamente muchas gracias!

Como dije toma al mayor de los dos códigos y ve sumando cosas x etapas y compila.
ejemplo sumas las globales y compila.
Luego el setup y lo mismo. Si cometes un error, será inmediatamente indicado.