Duvidas de como faszer uma contagem regressiva atraves de uma definição de um botao.

Galera , estou com dificuldade em fazer uma contagem regressiva atraves de uma definição de um botão

Exemplo..

Com o botão eu conto ate 5 então ele começa a conta regressivamente...

no codigo codigo abaixo eu executo o botão e ele so alterna de 0 a 1 não estou conseguindo aumentar a contagem  com o botão...

 

const int A=2;
const int B=3;
const int C=4;
const int D=5;
 const int E=6;
const int F=7;
const int G=9;
const int H=10;
int bot=12;
 int co=0;
  int bo=0;
 int cont2;
void setup() {
  pinMode(bot, INPUT);
  pinMode(A, OUTPUT); //LSB
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT); //MSB
  pinMode(E, OUTPUT); //LSB
  pinMode(F, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(H, OUTPUT); //MSB
   digitalWrite(bot,1);
 co=0;
 Serial.begin(9600);
 contador(0);
 
}
  int count = 0;
void loop() {
 
  int recebe=digitalRead(bot);
 if (recebe == 0){ //se o botão for premido na entrada A0
   count++; ///contador que é passado para as funçoes
 
    delay(200); //o delay impede multiplas contagens
    if (count == 10) //contador de 0 a 9
      count = 0;
       Serial.println(count);
       contador(count);
     //converter para binário
   
     receberbotao(count);
    }  
  if (count == 10)
    count = 0;


   
}
   
   
   void receberbotao(int count){
   for(int i=0;i<=count;i++){
    for(int x=count;x>=0;x--){
    to_BCD(x);
    if(i>=count){
i=0;
}
    }
  }
 
   
   }
    
    
 
   


    void to_BCD(int x){
      if(x == 0){
      digitalWrite(A, 0);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 1);//PINO 10
      delay(500);
        }
//     
   if (x == 1) //write 0001
    {
 
      digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 1);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 1);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 1);//PINO 7
      digitalWrite(G, 1);////PINO 9
      digitalWrite(H, 1);//PINO 10
        delay(500);  
    }
    
    if (x == 2) //write 0010
   {    
      digitalWrite(A, 0);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 1);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 1);////PINO 9
      digitalWrite(H, 0);//PINO 10
      delay(500);
    }
     
    if (x == 3) //write 0011
    {
         digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 1);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 4) //write 0100
    {
       digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 1);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 1);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 5) //write 0101
    {
     digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 1);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 6) //write 0110
    {
      digitalWrite(A, 0);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 1);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 7) //write 0111
    {
       digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 1);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 1);////PINO 9
      digitalWrite(H, 1);//PINO 10
       delay(500);
    }
     
    if (x == 8) //write 1000
    {
   digitalWrite(A, 0);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 9) //write 1001
    {
      digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 1);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
}





/////////------------------------------------contador

 void contador(int x){
      if(x == 0){
      digitalWrite(A, 0);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 1);//PINO 10
      delay(500);
        }
//     
   if (x == 1) //write 0001
    {
 
      digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 1);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 1);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 1);//PINO 7
      digitalWrite(G, 1);////PINO 9
      digitalWrite(H, 1);//PINO 10
        delay(500);  
    }
    
    if (x == 2) //write 0010
   {    
      digitalWrite(A, 0);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 1);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 1);////PINO 9
      digitalWrite(H, 0);//PINO 10
      delay(500);
    }
     
    if (x == 3) //write 0011
    {
         digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 1);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 4) //write 0100
    {
       digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 1);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 1);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 5) //write 0101
    {
     digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 1);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 6) //write 0110
    {
      digitalWrite(A, 0);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 1);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 7) //write 0111
    {
       digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 1);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 1);////PINO 9
      digitalWrite(H, 1);//PINO 10
       delay(500);
    }
     
    if (x == 8) //write 1000
    {
   digitalWrite(A, 0);//PINO 1
      digitalWrite(B, 0);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
     
    if (x == 9) //write 1001
    {
      digitalWrite(A, 1);//PINO 1
      digitalWrite(B, 1);//VAI PINO 2
      digitalWrite(C, 0);// PINO 4
      digitalWrite(D, 0);//PÍNO 5
      digitalWrite(E, 0);//PINO 6
      digitalWrite(F, 0);//PINO 7
      digitalWrite(G, 0);////PINO 9
      digitalWrite(H, 0);//PINO 10
       delay(500);
    }
}

Exibições: 217

Responder esta

Respostas a este tópico

#include <stdio.h>
#include <stdlib.h>
//Autor FLavio Ap.
int main()
{


int cont;
int botaoA;
cont=0;

while(cont<10){

printf("Pressione [1] ou [0]\n");
scanf("%d",&botaoA);

if(botaoA ==1){
printf("valor Cont = [%d]\n",cont);
cont=cont+1;

}else
botaoA=0;

if(cont==3){
printf("LED 2 Acesso! \n");
}

}

return 0;
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço