Arduino - Parpadear leds a diferentes velocidades al mismo tiempo

 
Vista:

Parpadear leds a diferentes velocidades al mismo tiempo

Publicado por José cruz (1 intervención) el 11/06/2019 22:49:39
Hola amigos, tengo un problema que tal vez para ustedes sea fácil , quiero prender 4 leds con botones diferentes. Pero que al prender vaya aumentando la velocidad del parpadeo..lo intenté hacer con dos leds y no puede, ya que si está prendido uno y derrepente prendo otro no hace nada hasta que detengo el otro ciclo...quisiera que cada led empezará a parpadear (de más lento a más rápido) cada vez que mantenga pulsado un botón , cada uno a su ritmo individual y pues que puedan estar prendido los 4 a la vez parpadeando individualmente .

Intenté hacer este código para dos :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
int boton1= 7;
int boton2=6;
int led1 =12;
int led2=11;
int tiempo=1000;
int tiempo1=1000;
int tiempo2=1;
int tiempo3=1000;
int tiempo4=1;
void setup()
{
Serial.begin(9600);
pinMode(boton1,INPUT);
pinMode(boton2,INPUT);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
}
void loop()
{
int pulsador1 = digitalRead(boton1);
 
while(pulsador1==HIGH)
{
digitalWrite(led1,HIGH);
delay(tiempo1-tiempo2);
digitalWrite(led2,HIGH);
delay(tiempo1);
pulsador1=digitalRead(boton1);
}
inf (pulsador1==LOW)
{
digitalWrite (led1,LOW);
tiempo1=tiempo;
}
 
int pulsador2 = digitalRead(boton2);
 
while(pulsador2==HIGH)
{
digitalWrite(led2,HIGH);
delay(tiempo3-tiempo4);
digitalWrite(led2,HIGH);
delay(tiempo3);
pulsador2=digitalRead(boton2);
}
inf (pulsador2==LOW)
{
digitalWrite (led2,LOW);
tiempo3=tiempo;
}

Me dicen que use milles para que puedan trabajar cada uno por su cuenta estilo multitarea, pero soy demasiado nuevo en esto y no entiendo casi
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