Go Down

Topic: [SOLUCIONADO] Problema con envío de pulso a módulo relé arduino (Read 184 times) previous topic - next topic

enriquerebolledo

Hola a todos, de paso a presentarme les doy las gracias por las ayudas que dejan aquí, en el foro, mucho material interesante para leer respecto a domotica y temas afines.

Les cuento el problema que tengo, quiero accionar el pulsador para cambiar el canal de TV de forma controlada. Entonces, es un pulsador común y corriente que al apretarlo hace la subida o la bajada de canal.

Soldé dos cables a cada polo del pulsador y al unirlos puedo hacer el cambio de canal, ahora bien, cuando intento pasarlo a una placa para poder empezar a armar tengo el inconveniente, estoy utilizando un módulo de relé para arduino (en mi caso usando arduino UNO), conecté en C uno de los cables provenientes del pulsador y en NO el otro, por ende estaría bien.

Luego paso a enviar un pulso desde Arduino, estoy enviando desde el ejemplo blink y cambiando sólo la duración del delay, pero al conectar la salida 13 del PWM aun que no esté exitado aun el relé me comienza a juntar C y NO, por ende no se detiene el envío de pulsos y cambia de canal sin parar.

El código usado es éste:
Code: [Select]
#define ledPin 2

void setup() {
 
  pinMode(ledPin, OUTPUT);
}


void loop() {
  digitalWrite(ledPin, HIGH);   
  delay(1000);                       
  digitalWrite(ledPin, LOW);   
  delay(1000);                       
}


Alguna idea de cómo solucionar el problema ?

El módulo de relé es tiene una bobina sensible a 5VDC por lo que con la señal enviada en HIGH sí se activa y desactiva el relé.

Gracias!!

rodripelto

Hola,
Normal,  loop es un bucle infinito que esta dando vueltas por lo que activas y desctivas el rele infinitas veces. Por cierto hablas del pin 13 y el programa esta definido el pin 2. Algo no cuadra en tus explicaciones.
Si alguna respuesta ha solucionado tu problema, da las gracias marcándola como solucionada.

enriquerebolledo

Gracias Rodripelto, es que estaba probando con otros pines de salida cuando hice el comentario.

Les cuento que logré que funcione, lo que hice fue cambiar el orden de funcionamiento, para ello realizo el cambio de señal en LOW y en HIGH dejé mayor tiempo de delay, dejo el código.

Gracias!!

Code: [Select]
#define ledPin 3

void setup() {
 
  pinMode(ledPin, OUTPUT);
}


void loop() {
  digitalWrite(ledPin, HIGH);   
  delay(5000);                       
  digitalWrite(ledPin, LOW);   
  delay(30);
}

Go Up