Hola:
Estoy usando arduino UNO y un modulo rele de 8 canales 5v como este:
Esta placa la alimento con otra fuente aparte a 5V
Utilizo solo dos (por ahora) de esos reles para dar señal a unas electrovalvulas a 220V AC
Pasa lo siguiente:
Si pruebo el codigo sin conectar nada a los reles funciona perfecto.
En el momento que le meto carga a un rele este empieza a traquetear. Acaba acionandose, pero despues de unos segundos con ese ruido caracteristico.
He probrado a alimentar el arduino desde otra fuente como el ordenador portatil (dejando la alimentacion a los reles)...pero el problema persiste.
Lo curioso es que quito el blucle "for" y las acciones de otra manera, con un simple digitalWrite, funcionan los reles perfectamente.
Por lo que estube mirando parece un problema de transistorios. Pero la solucion la daban con un diodo.. y yo tengo corriente alterna.
Os dejo aqui el codigo.
int vaciado = 8;
int llenado = 6;
int puerta = 2;
void setup() {
Serial.begin(9600);
pinMode(vaciado, OUTPUT);
pinMode(llenado, OUTPUT);
pinMode(puerta, INPUT);
}
void loop() {
if (digitalRead(puerta)==HIGH){
for (int a = 0; a<=250; a++){
//bucle de vaciado
digitalWrite(vaciado, !HIGH); //vaciamos agua
Serial.println ("Vaciado");
delay (100); //tiempo de vaciado
}
digitalWrite(vaciado, !LOW); //paramos vaciado de agua
Serial.println ("Paramos vaciado");
delay (2000);
for (int a = 0; a<=350; a++){ //bucle de llenado
digitalWrite(llenado, !HIGH); //cargamos de agua
Serial.println ("Llenado");
delay (100); //tiempo de llenado
}
digitalWrite(llenado, !LOW); //paramos carga de agua
Serial.println ("Paramos llenado");
delay (2000);
}
}
Alguna idea
PD- se que tengo que usar los timers