Pages: 1 [2]   Go Down
Author Topic: Contar Pulsos de un botón para 3 Led.[RESUELTO]  (Read 1654 times)
0 Members and 1 Guest are viewing this topic.
Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 956
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No te esfuerces Pascual, es imposible descifrar lo que este hombre quiere decir...

Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Alicante
Offline Offline
Sr. Member
****
Karma: 2
Posts: 410
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues sí, es una pérdida de tiempo.
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si yo puedo tener trastorno o todo lo que ustedes, pero la diferencia es que yo se programar y ustedes no llega ni a un "hola mundo" aun que yo no sepa escribir en español, se dictarle a la maquina pequeño algún día tendrá lógica.
Logged

Anaco, Venezuela
Offline Offline
Jr. Member
**
Karma: 8
Posts: 88
Electronic Engineer
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

       Lo que le falto a tu codigo es que al presionar el boton, esperara por mas pulsos por un lapso de tiempo, una vez completado ese tiempo o numero de iteraciones sin cambio es que segun el valor del contador encienda el led adecuado y apague los otros.

Saludos.
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola a todos ya que mucho me preguntaron como lo resolví aquí se los comparto:

Como dice Luis solo necesitamos esperar un tiempo, algo así pensé yo no estoy muy familiarizado con el lenguaje pero esta fue mi manera de resolverla, seguro otros podrán compartir otros métodos, que viva la información en la red.

Code:


 int botomStatus = 0;
 int botomAnterrior = 0;
 int status = 0;
int x=0;
int concurrencia = 0;
boolean compareTo = false;
void setup(){
  pinMode(1, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(6, OUTPUT);
  
  pinMode(2, INPUT);

}
void loop(){


            
                while(true){
                    botomStatus = digitalRead(2);
                      
                      
                       if (botomStatus == HIGH && botomAnterrior == LOW) {
                              status = status + 1;                            //Condicion que verifica si el usuario a presionado el botom
                              delay(10);
                            
                        }
                        
                    x=concurrencia%2;
                          
                          
                       if(status != 0 && x==0 && concurrencia==80){  
                            
                            compareTo=true;                                 //Condicion que da luz verde a la condicion de las variables
                            
                            break;
                  
                          }
                  
                       if(status != 0){
                         delay(20);
                          concurrencia++;                                   //concurrencia o concatenacion de las veces que paso, sirve para dar unos 10 seg depues de presinar
                        }                                                   //una vez el botom para verificar si se volvera a presionar o no.
                    
                        
                    botomAnterrior = botomStatus;

              
                
              }
                

              




                
                if(compareTo == true){                                  //Aqui valora la condicion si se cumplio una anterior osea que "status" sea diferente de 0

                    switch (status)
                    {
                        case 1:
                            digitalWrite(6, HIGH);
                            digitalWrite(4, LOW);
                            digitalWrite(1, LOW);
                            status = 0;
                            compareTo=false;
                            concurrencia = 0;
                            break;
                        case 2:
                            digitalWrite(6, LOW);
                            digitalWrite(4, HIGH);
                            digitalWrite(1, LOW);
                             status = 0;
                             compareTo=false;
                             concurrencia = 0;
                            break;
                        case 3:
                            digitalWrite(6, LOW);
                            digitalWrite(4, LOW);
                            digitalWrite(1, HIGH);
                            status = 0;
                            compareTo=false;
                            concurrencia = 0;
                            break;
                        default:
                            status = 0;
                            digitalWrite(6, LOW);
                            digitalWrite(4, LOW);
                            digitalWrite(1, LOW);
                            compareTo=false;
                            concurrencia = 0;
                            break;
                    }
                
                }


                
            
    
}
« Last Edit: July 03, 2013, 03:11:02 pm by WaSoM » Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 956
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

pero la diferencia es que yo se programar y ustedes no llega ni a un "hola mundo"

Gracias Wasom, me has hecho reirme en plan sano, sobre todo con la aseveracion y despues de ver el codigo  smiley-surprise

Me has hecho saltar una sonrisa...

Me alegro que lo resolvieras.

Un saludo.
Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Alicante
Offline Offline
Sr. Member
****
Karma: 2
Posts: 410
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:




void setuprimo()                   
{
  Serial.print(" olaaa  WaSoM");
 
}

void luupa()               
{
  Serial.begin(9600); 
}

Hola. El código no me va. No se por qué...porque yo controlo mucho (por eso pido ayuda). ¿Alguien me echa una mano?

Gracias de antemano!
Logged

Pages: 1 [2]   Go Up
Jump to: