Arduino - encender y apagar un rele con millis

 
Vista:

encender y apagar un rele con millis

Publicado por isaias (2 intervenciones) el 09/06/2018 05:13:01
Buenas buenas. como estan tengo un problemilla con este codigo. La cuestion es esta: quiero mantener un rele HIGH una determinada cantidad de tiempo, digamos un ejemplo 10seg (10000miliseg), con esto que les pase logro encender el rele, pero despues de transcurrido el tiempo no me apaga el rele. por favor se lo agradeceria a quien me pueda ayudar. Gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void onmotor (int Ct){
  unsigned long tactual=0;
  unsigned long tanterior=0;
  unsigned long tiempo=0;
 
  tactual = millis();
  tiempo= tactual - tanterior;
 
 
  if(Ct == 1){
        while (tiempo<=tiempo + 5000){
        digitalWrite(motor, HIGH);
        digitalWrite(ledlavar, HIGH);
        tanterior=tactual;
   }
      digitalWrite(motor, LOW);
      digitalWrite(ledlavar, LOW);
      tanterior=tactual;
   }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

encender y apagar un rele con millis

Publicado por Juan (1 intervención) el 10/06/2018 08:08:16
Tengo el mismo problema, incluso el mio es más simple y no logro ejecutarlo

1
2
3
4
5
6
7
8
9
10
void setup() {
 
 pinMode( 9, OUTPUT) ;
 digitalWrite(9, HIGH);
 delay (3000);
 digitalWrite(9, LOW);
 
}
void loop(){
}

No se desactiva El relé,Encontraste la solución?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

encender y apagar un rele con millis

Publicado por isaias (2 intervenciones) el 10/06/2018 20:15:49
hola, mira una cosa, el setup se utiliza para configurar las entradas y las salidas, esos comandos de digitalWrite y delay debes colocarlos en el loop, debido que es esa funcion loop la que se repite infinitamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

encender y apagar un rele con millis

Publicado por Juan (2 intervenciones) el 12/06/2018 14:14:48
Es que no quiero que se repita, solo quiero que se ejecute una sola vez
Aunque también lo puedo poner en el loop con un for para evitar que se repita pero no logro solucionar el problema de los milis
Le doy un delay al relé y no se apaga se queda pegado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

encender y apagar un rele con millis

Publicado por Hugo (1 intervención) el 19/10/2019 02:51:56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void setup() {
 
 pinMode( 9, OUTPUT) ;
}
 
void loop(){
 
 digitalRead(9, HIGH);
 
 delay (3000);
 
 digitalWrite(9, LOW);
 
     //se apagara pruebalo
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

encender y apagar un rele con millis

Publicado por Shepenupet (2 intervenciones) el 19/06/2019 11:25:00
Hola buenas, aunque el tema es ya viejo as probado esto:

if(Ct == 1){
while (tiempo<=tiempo + 5000){
digitalWrite(motor, HIGH);
digitalWrite(ledlavar, HIGH);
tanterior=tactual;
digitalWrite(motor, LOW);
digitalWrite(ledlavar, LOW);
tanterior=tactual;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar