Encendido de 4 rele

hola Amigos buenas tardes !! tengo esta inquietud y busco ayuda para ver si es posible, necesito manejar 4 rele
con un pulso se encenderia el rele 1 y apagaria los rele 2-3 y 4
con un pulso en otra entrada encenderia el rele 2 y apagaria el 1-3-4
con un pulso en otra entrada encenderia el rele 3 y apagaria el 1-2-4
con un pulso en otra entrada encenderia el rele 4 y apagaria el 1-2-3
el final seria que cuando ponga los 4 pulsos juntos de entrada (las 4 entradas H ) se apagarian los 4 rele
es posible esto ? desde ya muchisimas gracias a todos

Hola
Si es posible.
¿Qué has intentado hacer?

RV mineirin

la verdad soy muy nuevo en esto, tengo conocimientos de electricidad bastante avanzados pero de programación no tengo idea, conecte los cables y cargue el blink y funciono luego compre un modulo de control remoto y se me ocurrió esto pero no se por donde arranco, identifico entradas y salidas se que hay que definir los pines pero me cuesta bastante, desde ya pido disculpas, creo que este foro es para gente con conocimientos mas avanzados y mi pregunta es muy básica, desde ya muchas gracias y perdón por la molestia

Hola @norbertoreco

Este foro es democrático. Cualquiera puede usarlo.
Como fue muy sincero acerca de su competencia y dificultad en la programación, escribiré un código que hace lo que describió al principio.
Pero necesitaba saber más información sobre los productos que están disponibles y tal vez tenga que comprar más.
¿Tienes un arduino?
¿Qué control remoto compraste?
¿Qué tipo de relé piensa utilizar?

RV mineirin

muchas gracias ruilviana !! tengo un arduino uno , tengo un modulo de 4 rele y un KIT Control Remoto de 4 Canales 5 botones y Receptor Ir, probé el control remoto y con cada botón corresponde a una salida positiva, salvo el de apagado que pone positivo a las cuatro salidas

Hola
¿Puede informar (link) de su módulo de relé y su control remoto?
RV mineirin

Hola
Vea si esto es lo que necesita.
RV mineirin


#define rele1 4               // Pin al rele 1
#define rele2 5               // Pin al rele 2
#define rele3 6               // Pin al rele 3
#define rele4 7               // Pin al rele 4
#define entrada1 8
#define entrada2 9
#define entrada3 10
#define entrada4 11

//--------------------------------------------------------------------------
void setup() {
  Serial.begin(9600);         // Inicializar la serie
  pinMode(rele1, OUTPUT);     // Establecer pines como salida
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(entrada1, INPUT);
  pinMode(entrada2, INPUT);
  pinMode(entrada3, INPUT);
  pinMode(entrada4, INPUT);
  digitalWrite(rele1, LOW);   // Apaga todos los reles
  digitalWrite(rele2, LOW);
  digitalWrite(rele3, LOW);
  digitalWrite(rele4, LOW);
}
//--------------------------------------------------------------------------
void loop() {
  if (digitalRead(entrada1) == HIGH and digitalRead(entrada2) == LOW and digitalRead(entrada3) == LOW and digitalRead(entrada4) == LOW )
  {
    Serial.println(0);
    digitalWrite(rele1, HIGH);
    digitalWrite(rele2, LOW);
    digitalWrite(rele3, LOW);
    digitalWrite(rele4, LOW);
  }

  if (digitalRead(entrada1) == LOW and digitalRead(entrada2) == HIGH and digitalRead(entrada3) == LOW and digitalRead(entrada4) == LOW )
  {
    Serial.println(1);
    digitalWrite(rele1, LOW);
    digitalWrite(rele2, HIGH);
    digitalWrite(rele3, LOW);
    digitalWrite(rele4, LOW);
  }

  if (digitalRead(entrada1) == LOW and digitalRead(entrada2) == LOW and digitalRead(entrada3) == HIGH and digitalRead(entrada4) == LOW )
  {
    Serial.println(2);
    digitalWrite(rele1, LOW);
    digitalWrite(rele2, LOW);
    digitalWrite(rele3, HIGH);
    digitalWrite(rele4, LOW);
  }

  if (digitalRead(entrada1) == LOW and digitalRead(entrada2) == LOW and digitalRead(entrada3) == LOW and digitalRead(entrada4) == HIGH )
  {
    Serial.println(3);
    digitalWrite(rele1, LOW);
    digitalWrite(rele2, LOW);
    digitalWrite(rele3, LOW);
    digitalWrite(rele4, HIGH);
  }

  if (digitalRead(entrada1) == HIGH and digitalRead(entrada2) == HIGH and digitalRead(entrada3) == HIGH and digitalRead(entrada4) == HIGH )
  {
    Serial.println(4);
    digitalWrite(rele1, LOW);
    digitalWrite(rele2, LOW);
    digitalWrite(rele3, LOW);
    digitalWrite(rele4, LOW);
  }
}

Buenas tardes !! pude probarlo y funciona perfecto,pero arrancaba con los rele encendidos, al presional el control apagaba cada uno de los rele, es decir cumplia la funcion muy bien pero al revés, asi que cambie en cada uno de los Serial.println , low x higt y viceversa y arranco encendiendo los rele con cada accion del control, pero me encontre que al desconectar y conectar nuevamente los rele se encendian nuevamente todos, asi que fui a void setup y cambie los rele de low a high y quedo andando como esperaba, anda perfecto Muchisimas gracias !!!!!!

QUEDO ASI !!

#define rele1 4 // Pin al rele 1
#define rele2 5 // Pin al rele 2
#define rele3 6 // Pin al rele 3
#define rele4 7 // Pin al rele 4
#define entrada1 8
#define entrada2 9
#define entrada3 10
#define entrada4 11

//--------------------------------------------------------------------------
void setup() {
Serial.begin(9600); // Inicializar la serie
pinMode(rele1, OUTPUT); // Establecer pines como salida
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
pinMode(rele4, OUTPUT);
pinMode(entrada1, INPUT);
pinMode(entrada2, INPUT);
pinMode(entrada3, INPUT);
pinMode(entrada4, INPUT);
digitalWrite(rele1, HIGH); // Apaga todos los reles
digitalWrite(rele2, HIGH);
digitalWrite(rele3, HIGH);
digitalWrite(rele4, HIGH);
}
//--------------------------------------------------------------------------
void loop() {
if (digitalRead(entrada1) == HIGH and digitalRead(entrada2) == LOW and digitalRead(entrada3) == LOW and digitalRead(entrada4) == LOW )
{
Serial.println(0);
digitalWrite(rele1, LOW);
digitalWrite(rele2, HIGH);
digitalWrite(rele3, HIGH);
digitalWrite(rele4, HIGH);
}

if (digitalRead(entrada1) == LOW and digitalRead(entrada2) == HIGH and digitalRead(entrada3) == LOW and digitalRead(entrada4) == LOW )
{
Serial.println(1);
digitalWrite(rele1, HIGH);
digitalWrite(rele2, LOW);
digitalWrite(rele3, HIGH);
digitalWrite(rele4, HIGH);
}

if (digitalRead(entrada1) == LOW and digitalRead(entrada2) == LOW and digitalRead(entrada3) == HIGH and digitalRead(entrada4) == LOW )
{
Serial.println(2);
digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
digitalWrite(rele3, LOW);
digitalWrite(rele4, HIGH);
}

if (digitalRead(entrada1) == LOW and digitalRead(entrada2) == LOW and digitalRead(entrada3) == LOW and digitalRead(entrada4) == HIGH )
{
Serial.println(3);
digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
digitalWrite(rele3, HIGH);
digitalWrite(rele4, LOW);
}

if (digitalRead(entrada1) == HIGH and digitalRead(entrada2) == HIGH and digitalRead(entrada3) == HIGH and digitalRead(entrada4) == HIGH )
{
Serial.println(4);
digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
digitalWrite(rele3, HIGH);
digitalWrite(rele4, HIGH);
}
}

Por favor @norbertoreco edita tu ultimo post usando etiquetas
Ve a edición, luego selecciona todo el código que has publicado, lo cortas, click en </>

y pegas el código de nuevo.
Lee las Normas del foro

Gracias Surbyte !!
Edite el post y creo que esta como lo requiere el foro, si algo esta mal me lo remarcas, Muchisimas Gracias !!

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