Go Down

Topic: Ayuda proyecto flash led (Read 343 times) previous topic - next topic

borjadfm

Hola, estoy haciendo unas luces tipo disco y tal y por ahora me las he apañado para hacer 3 efectos diferentes, pero el problema esta en que me gustaría cargarlos al arduino y con pulsadores, interruptores o l o que sea poder cambiar la función, como  poderia hacerlo?
Aqui os dejo un ejemplo de uno de los 3 programas que tengo realizado

int ledDelay = 60; // delay by 50ms
int l1 = 2;
int l2 = 3;
int l3 = 4;
int l4 = 7;
int l5 = 8;
int l6 = 9;

void setup() {
pinMode(l1, OUTPUT);
pinMode(l2, OUTPUT);
pinMode(l3, OUTPUT);
pinMode(l4, OUTPUT);
pinMode(l5, OUTPUT);
pinMode(l6, OUTPUT);
}

void loop() {

digitalWrite(l1, HIGH);
digitalWrite(l2, HIGH);
digitalWrite(l3, HIGH);
delay (ledDelay);

digitalWrite(l1, LOW);
digitalWrite(l2, LOW);
digitalWrite(l3, LOW);
delay(ledDelay);

digitalWrite(l1, HIGH);
digitalWrite(l2, HIGH);
digitalWrite(l3, HIGH);
delay (ledDelay);

digitalWrite(l1, LOW);
digitalWrite(l2, LOW);
digitalWrite(l3, LOW);
delay(ledDelay);

digitalWrite(l1, HIGH);
digitalWrite(l2, HIGH);
digitalWrite(l3, HIGH);
delay (ledDelay);

digitalWrite(l1, LOW);
digitalWrite(l2, LOW);
digitalWrite(l3, LOW);

digitalWrite(l1, HIGH);
digitalWrite(l2, HIGH);
digitalWrite(l3, HIGH);
delay (ledDelay);

digitalWrite(l1, LOW);
digitalWrite(l2, LOW);
digitalWrite(l3, LOW);
delay(ledDelay);


digitalWrite(l4, HIGH);
digitalWrite(l5, HIGH);
digitalWrite(l6, HIGH);
delay (ledDelay);

digitalWrite(l4, LOW);
digitalWrite(l5, LOW);
digitalWrite(l6, LOW);
delay(ledDelay);

digitalWrite(l4, HIGH);
digitalWrite(l5, HIGH);
digitalWrite(l6, HIGH);
delay (ledDelay);

digitalWrite(l4, LOW);
digitalWrite(l5, LOW);
digitalWrite(l6, LOW);
delay(ledDelay);

digitalWrite(l4, HIGH);
digitalWrite(l5, HIGH);
digitalWrite(l6, HIGH);
delay (ledDelay);

digitalWrite(l4, LOW);
digitalWrite(l5, LOW);
digitalWrite(l6, LOW);
delay(ledDelay);

digitalWrite(l4, HIGH);
digitalWrite(l5, HIGH);
digitalWrite(l6, HIGH);
delay (ledDelay);

digitalWrite(l4, LOW);
digitalWrite(l5, LOW);
digitalWrite(l6, LOW);
delay(ledDelay);

}


Code: [Select]
int efecto = 1;
#define ultEfecto 3
#define pinPulsador 7


void efecto1()
{
   // Codigo del efecto 1
}

void efecto2()
{
   // Codigo del efecto 2
}

void efecto3()
{
   // Codigo del efecto 3
}


void setup()
{
   pinMode(pinPulsador, INPUT);
}

void loop()
{
   if( digitalRead(pinPulsador) )
   {
      while( digitalRead(pinPulsador) );
   
      if( efecto < ultEfecto )
         efecto++;
      else
         efecto = 1;
   }


   switch(efecto)
   {
      case 1: efecto1(); break;
      case 2: efecto2(); break;   
      case 3: efecto3(); break;         
   }
}
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy