Modulo Reley enciende al momento de mandar energia al arduino UNO

Buenas noches, soy nuevo en arduino y ando haciendo un app que controle el encendido y apagado de 2 reles, el problema esta en que apenas le mando corriente a la placa de arduino, los 2 reles se encienden y no están en reposo. E visto algunos videos donde explican que el problema es que los reles están con logica inversa, quería saber como hacer que mi código funcione para esa lógica, o otra posible solución.

const int alimentador = 2;
const int oxigenador = 3;
int estado = 'n';

void setup() {
  Serial.begin(9600);
  pinMode(alimentador, OUTPUT);
  pinMode(oxigenador, OUTPUT);
  // put your setup code here, to run once:

}

void loop() {
  if (Serial.available() > 0) {
    estado = Serial.read();
  }
  if (estado == 'a') {
    digitalWrite(alimentador, HIGH);

  }
  if (estado == 'b') {
    digitalWrite(alimentador, LOW);

  }
  if (estado == 'c') {
    digitalWrite(oxigenador, HIGH);

  }
  if (estado == 'd') {
    digitalWrite(oxigenador, LOW);

  }
  
  // put your main code here, to run repeatedly:

}escribe o pega el código aquí

Hello and good morning
Post a link to the relay board in use.

Hola, si estas seguro que las placas funciona con logica inversa en tu codigo donde ponga HIGH cambialo a LOW y donde ponga LOW pon HIGH, Y añade como ultimas lineas del setup:

digitalWrite(alimentador, LOW);
digitalWrite(oxigenador, LOW);

Saludos.

Moderador:
Por favor, lee las Normas del foro y edita tu código usando etiquetas de código.
Ve a edición, luego selecciona todo el error que has publicado, lo cortas y click en </>


También corrige el título. El titulo con palabras como estas " Ayuda con " debe modificarse.
Ver punto 5 de las Normas del foro.
Por favor, no sigas respondiendo sin antes hacer las correcciones.

ya lo intente y no funciono

¿Podés poner el modelo del módulo, link a una página que tenga uno como el tuyo (tal vez donde lo compraste) o una foto en lo posible de arriba para ver los componentes y tratar de identificarlo?

ya mando una foto espera

Prueba poniendo una resistencia de 10K ohms entre cada pin de entrada (in1, in2) del módulo y 5V, a ver como se comporta en el encendido.

Recuerda que, como mencionaste antes, el módulo efectivamente tiene lógica inversa, entonces se activa con LOW y desactiva con HIGH.

Saludos

En el setup solo pone esto

void setup() {
  Serial.begin(9600);
  pinMode(alimentador, OUTPUT);
  pinMode(oxigenador, OUTPUT);
  // put your setup code here, to run once:
 digitalWrite(alimentador, HIGH); // para que arranque apagado
 digitalWrite(oxigenador, HIGH);  // lo mism
}

¡Pequeño detalle!
No me había dado cuenta que no le fijaba los estados al inicio. :man_facepalming:t2:

Bueno, pero se lo dijiste igualmente en tu comentario

Solo le hice mas fácil tu indicación.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.