Buenas... Tengo un problema con mi proyecto, es muy sencillo, ya que solo manejo Relehes 7 en total, mas 3 salidas para sevos, fuente de alimentación para arduino uno de 12v 10A, fuente ext. para los Relehes de 5v 10A, una tercera de 24v que pasó a través de uno de los Relehes, todos los negativos unidos, en principio funciona, pero hay veces que se raya y empieza sin la orden pertinente, que es un Relehes externo que corta la señal del pin del A0 al pin 2. Y cuando se ejecuta solo luego es muy raro que vuelva a empezar con la señal original, incluso hay veces que empieza y se conectan Relehes que no toca al principio de programación.
Leyendo varios temas de por aquí, he probado ya separar los Relehes de la placa lo máximo posible, tiene filtros de anti parásitos en todos los cables de señal. He cambiado 4 veces la placa arduino uno, hace lo mismo con todas, ahora por último instale un mega y lo mismo, el almacenamiento esta a un 2% utilizada, y 7% memoria dinámica.
El Código:
#include <Servo.h>
int INICIO = 2;
int MUSICA = 3;
int LUCES = 4;
int RIO = 5;
int FLORES =6;
int PRINCIPALES_TENSION =7;
int ACCION = 8;
int BURBUJAS=9;
Servo SECUNDARIOS1;
Servo SECUNDARIOS2;
Servo SECUNDARIOS3;
int LED =13;
int repe;
int AO=A0;
void setup() {
Serial.begin(9600);
pinMode (INICIO,INPUT);
pinMode (MUSICA,OUTPUT);
pinMode (LUCES,OUTPUT);
pinMode (RIO,OUTPUT);
pinMode (FLORES,OUTPUT);
pinMode (PRINCIPALES_TENSION,OUTPUT);
pinMode (ACCION,OUTPUT);
pinMode (BURBUJAS,OUTPUT);
SECUNDARIOS1.attach(10);
SECUNDARIOS2.attach(11);
SECUNDARIOS3.attach(12);
pinMode (LED,OUTPUT);
pinMode (AO, OUTPUT);
int repe;
digitalWrite(MUSICA,HIGH);
digitalWrite(RIO,HIGH);
digitalWrite(FLORES,HIGH);
digitalWrite(BURBUJAS,HIGH);
digitalWrite(PRINCIPALES_TENSION,HIGH);
digitalWrite(LUCES,HIGH);
digitalWrite(ACCION,HIGH);
digitalWrite (LED,LOW);
}
void loop() {
Serial.begin(9600);
if(digitalRead(INICIO)==LOW)
{ digitalWrite (LED,LOW);
Serial.println("ESPERA");
delay(1000);
}
if (digitalRead(INICIO)==HIGH)
{ digitalWrite (LED,HIGH);
Serial.println("COMIENZO");
digitalWrite(PRINCIPALES_TENSION,LOW);
Serial.println("PRINCIPALES_TENSION ACTIVADO");
digitalWrite(RIO,LOW);
Serial.println("RIO ACTIVADO");
digitalWrite(MUSICA,LOW);
Serial.println("MUSICA ACTIVADA");
delay(1000);
digitalWrite(LUCES,LOW);
Serial.println("LUCES ACTIVADAS");
delay (8000);
digitalWrite(ACCION,LOW);
Serial.println("ACCION ACTIVADO");
delay(2000);
digitalWrite(ACCION,HIGH);
Serial.println("ACCION DES-ACTIVADO");
delay(40000);
digitalWrite(FLORES,LOW);
Serial.println("FLORES ACTIVADAS");
digitalWrite(BURBUJAS,LOW);
Serial.println("BURBUJAS ACTIVADAS");
int repe=70;
while(repe>0)
{
SECUNDARIOS1.write(0);
SECUNDARIOS2.write(180);
SECUNDARIOS3.write(0);
delay(1000);
SECUNDARIOS1.write(180);
SECUNDARIOS2.write(0);
SECUNDARIOS3.write(180);
delay(1000);
repe--;
}
delay(7000);
digitalWrite(MUSICA,HIGH);
Serial.println("MUSICA DES-ACTIVADA");
digitalWrite(RIO,HIGH);
Serial.println("RIO DES-ACTIVADO");
digitalWrite(FLORES,HIGH);
Serial.println("FLORES DES-ACTIVADAS");
digitalWrite(BURBUJAS,HIGH);
Serial.println("BURBUJAS DES-ACTIVADAS");
delay (3000);
digitalWrite(PRINCIPALES_TENSION,HIGH);
Serial.println("PRINCIPALES_TENSION DES-ACTIVADA");
digitalWrite(LUCES,HIGH);
Serial.println("LUCES DES-ACTIVADA");
delay(500);
digitalWrite (LED,LOW);
}
delay(1000);
}
Por favor, ya no se que hacer estoy desesperado.
Gracias de anantemano.