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);
}
}
Tags:
#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;
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por