Hola buenas a todos, este es mi primer proyecto que yo creo que es muy sencillo pero para mi es todo un mundo ya que de electrónica sé lo justo.
Os lo detallo a ver si me podéis echar un cable:
Tengo una tarjeta electrónica de una máquina de purificación de aguas, que tiene un buzzer de alarma que pita cuando falla algo.
El caso es que ese buzzer emite una señal intermitente de 5V - 0V. Es decir pita (5V), se para (0V), pita (5V), se para (0V)....
Con esa señal de 5V quiero meterla en un pin digital de arduino y que me active un relé, el cual quiero que se mantenga encendido hasta que yo pulse un pulsador de parada.
He hecho pruebas con los 5V propios que da arduino en el pin 5V, metiéndolos en un pin digital de entrada, con un pulsador simulando la intermitencia del buzzer y todo correcto. A la primera pulsación del interruptor "lo que sería el pitido del buzzer" se queda activado el relé y aunque suelte y apriete el pulsador el relé se queda activo.
Hasta aquí todo bien.
Pero a la hora de hacerlo con la señal real del buzzer no hace nada. he probado a ponerle una R pull down de 20K a tierra para que no me diera falsos positivos pero aun asi nada. No activa el relé.
Este es el código que he utilizado:
// Rele activado por alarma de un buzzer a 5V con parada por pulsador
int rele = 11; // En el pin 11 esta conectada la entrada que excita el relé
int buzzer = 7; // En el pin 7 está conectada la linea de 5V que da el buzzer, con una R pulldown de 20K a tierra
int puls = 3; // En el pin 3 está conectado el pulsador de parada, con una R pullup
void setup() {
// inicializar el pin rele como salida:
pinMode(rele, OUTPUT);
// inicializar el pin 7 como entrada:
pinMode(buzzer, INPUT);
//inicializar el pin 3 como entrada y con resistencia pullup;
pinMode(puls, INPUT_PULLUP);
}
void(* resetFunc) (void) = 0;
// Programa principal, se ejecuta en un bucle infinito:
void loop() {
if (digitalRead(buzzer)== HIGH)
{
digitalWrite(rele, HIGH);
}
if (digitalRead(puls)==LOW)
{
digitalWrite(rele,LOW);
resetFunc();
}
}
Puede ser problema de la intermitencia en los 5V que no llegue suficiente corriente para excitar el pin de entrada?
Comentar también que el arduino lo alimento con 12V con un 7812 con la misma fuente de la tarjeta de la máquina ,que va a 24V.
Si se os ocurre algo estaré muy agradecido.