Go Down

Topic: 1 Pulsador 2 Led´s (Read 7 times) previous topic - next topic

Nataly

Ese ultimo código compila bien, pero si se asignan los valores de los pines correspondientes a las variables pinBoton, pinLed1 y pinLed2 al compilarlo me da error y no se por qué.
You can do it, If you want!

fermg

Hola te importaría pobrar este codigo? ya se que es mucho más simple y poco sofisticado que el de los demas pero compilar compila y a mi me a funcionado no se si es lo que quieres pero tienes la base para hacerlo. puedes cambiar los if por swicht como hiciste tu, espero haberte ayudado yo tampoco se mucho más de esto, pero bueno entre todos seguro que lo hacemos.

Code: [Select]


int boton = 5;     
int led1 = 10;   
int led2 = 11;   
int estado = 0; 
int x = 1;       

void setup() {
  // initialize the LED pin as an output:
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(boton, INPUT);     
}

void loop(){
  // read the state of the pushbutton value:
  estado = digitalRead(boton); // miramos como esta el estado del boton

    if(estado == HIGH)        // si está alto entra en el bucle
  {
    delay(50);                          //para que no cuente varias veces un delay
    x++; //le suma 1 a x.
    if(x > 2) // aqui si x es mayor de 2
    {
      x = 1; // x igual a 1.
    }
  }

  if (x == 1) // si x es igual a 1 enciende el led1 y el led2 apagado
  {
    digitalWrite(led1, HIGH);
    digitalWrite(led2, LOW);
  }
  if ( x == 2) // si x es igual a 2 enciende el led2 y el led1 apagado
  {
    digitalWrite(led1, LOW);
    digitalWrite(led2, HIGH);
  }
}


un saludo a todos y gracias por compartir vuestros conocimientos

un saldo Fermg.

Nataly

Ese codigo Fermg, lo compilé con mi arduino, pero al probarlo en la plca, cada vez que presiono el interruptor, ambos led´s parpadean muy rapido, cambiando de posición pero lo hacen muy rápido.
El código que hace realmente lo que buscaba en el experimento es el siguiente:

Code: [Select]
int led1=10,led2=11,pulse=5;

void setup()
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(pulse,INPUT);
}

int x=3;
boolean y= true;

void loop()
{
  if (digitalRead(pulse)==HIGH && y==false){x++;y = true;}
  else if (digitalRead(pulse)!=HIGH) {y = false;}

if ( x > 3){x=0;}

switch(x)
{
case 0:
  digitalWrite(led1,HIGH);
break;
case 1:
  digitalWrite(led1,LOW);
break;
case 2:
   digitalWrite(led2,HIGH);
break;
case 3:
   digitalWrite(led2,LOW);
break;
}
}


De igual forma Fermg, infinitas gracias por estar pendiente. Ahorita estoy en practicas con la conexión Arduino - Processing. Te invito a que leas el post y compartas tus ideas, a ver que podemos lograr hacer.

http://arduino.cc/forum/index.php/topic,123909.0.html

Muchos besos.

Nataly.
You can do it, If you want!

Go Up