Delay de 800 al reley 5


```cpp
const int rele = 9;
const int rele2 = 10;
const int rele3 = 7;
const int rele4 = 6;
const int rele5 = 5;
const int sen = A5;
const int sen1 = A4;
int valor;
int valor1;

void setup() {
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(sen, INPUT);
  pinMode(sen1, INPUT);
}

void loop() {
  valor = digitalRead(sen);
  valor1 = digitalRead(sen1);


  digitalWrite(rele, valor);
  digitalWrite(rele2, valor);

  digitalWrite(rele3, !valor);
  digitalWrite(rele4, !valor);

  digitalWrite(rele5, !valor1);

}

(QUIERO QUE ESTE RELE TENGA 800 MILISEGUNDOS PRENDIENDO Y APAGANDO PARA QUE CUANDO SE ACTIVE EL (SEN1)
SE QUEDE PRENDIDO Y CUANDO NO ESTE ACTIVADO EL (SEN1) HAGA EL INTERVALO DE 800 MILISEGUNDOS, LES PIDO DE SU AYUDA POR QUE EL DELAY AFECTA AL (SEN) Y ES LO QUE NO QUIERO, ESCUCHE LO DEL MULTITASKING PERO NO SE COMO HACERLO. MUCHAS GRACIAS POR SU ENORME AYUDA.)

EL (SEN) Y (SEN1) SON SENSORES FOTOELECTRICOS QUE ME AYUDAN ACTIVAR LOS RELEY'S

dani_var,
¿preferirías publicar en la sección de español del foro?

https://forum.arduino.cc/c/international/espanol/48

Translation of the message after the code:

I want this relay to have 800 milliseconds on and off so that when (sen1) is activated, it stays on and when (sen1) is not activated, do the interval of 800 milliseconds.

I ask for your help because the delay affects the (sen) and that's what I don't want.
I hear about multitasking but I don't know how to do it.

Thank you very much for your huge help.
The (sen) and (sen1) are photoelectric sensors that help me activate the relays.

And the code from post #1:

const int rele = 9;
const int rele2 = 10;
const int rele3 = 7;
const int rele4 = 6;
const int rele5 = 5;
const int sen = A5;
const int sen1 = A4;
int valor;
int valor1;

void setup() {
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(sen, INPUT);
  pinMode(sen1, INPUT);
}

void loop() {
  valor = digitalRead(sen);
  valor1 = digitalRead(sen1);

  digitalWrite(rele, valor);
  digitalWrite(rele2, valor);

  digitalWrite(rele3, !valor);
  digitalWrite(rele4, !valor);

  digitalWrite(rele5, !valor1);
}

He movido esta publicación a la sección de Español

1 Like

Como has dicho, no puedes usar delay(), debes usar la función millis().

En la sección Documentación tienes un muy buen tutorial sobre el uso de millis().

1 Like

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