Hize este codigo con las banderas para que me funcionara el btn1 el cual es para aumentar los numeros de un display, el btn2 que disminuyera los numeros de un display el btn3 que eligiera cualquier numero y el btn4 que reseteara el display aca el codigo en cuestion, estoy usando un arduino MEGA 2560
int conteo = 0;
int contador;
int g = 6;
int f = 7;
int a = 8;
int b = 9;
int e = 10;
int d = 11;
int c = 12;
int pt = 13;
boolean band1 = 0;
boolean band2 = 0;
byte boton1 = 2;
boolean btn1 = 0;
byte boton2 = 3;
boolean btn2 = 0;
byte boton3 = 4;
boolean btn3 = 0;
byte boton4 = 5;
boolean btn4 = 0;
void setup()
{
pinMode(boton1,INPUT);
pinMode(boton2,INPUT);
pinMode(boton3,INPUT);
pinMode(boton4,INPUT);
pinMode(g,OUTPUT);
pinMode(f,OUTPUT);
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(e,OUTPUT);
pinMode(d,OUTPUT);
pinMode(c,OUTPUT);
pinMode(pt,OUTPUT);
}
void loop()
{
btn1 = digitalRead(boton1);
btn2 = digitalRead(boton2);
btn3 = digitalRead(boton3);
btn4 = digitalRead(boton4);
if (btn1 == 1)
{
band1 = 1;
band2 = 0;
}
if (btn2 == 1)
{
band1 = 0;
band2 = 1;
}
if (btn3 == 1)
{
band1 = 1;
band2 = 1;
}
if (btn4 == 1)
{
band1 = 0;
band2 = 0;
}
if (band1 == 1 && band2 == 0)
{
contador++;
}
if (contador>9) contador=0;
if (band1 == 0 && band2 == 1)
{
contador--;
}
if (contador<0) contador=9;
if (band1 == 1 && band2 == 1)
{
contador=contador;
}
if (band1 == 0 && band2 == 0)
{
contador=0;
}
if(contador==0)
{
num0();
}
if (contador==1)
{
num1();
}
if(contador==2)
{
num2();
}
if(contador==3)
{
num3();
}
if(contador==4)
{
num4();
}
if(contador==5)
{
num5();
}
if(contador==6)
{
num6();
}
if(contador==7)
{
num7();
}
if(contador==8)
{
num8();
}
if(contador==9)
{
num9();
}
delay (250);
}
void num0()
{
digitalWrite(g,0);
digitalWrite(f,1);
digitalWrite(a,1);
digitalWrite(b,1);
digitalWrite(e,1);
digitalWrite(d,1);
digitalWrite(c,1);
digitalWrite(pt,1);
}
void num1()
{
digitalWrite(g,0);
digitalWrite(f,0);
digitalWrite(a,0);
digitalWrite(b,1);
digitalWrite(e,0);
digitalWrite(d,0);
digitalWrite(c,1);
digitalWrite(pt,1);
}
void num2()
{
digitalWrite(g,1);
digitalWrite(f,0);
digitalWrite(a,1);
digitalWrite(b,1);
digitalWrite(e,1);
digitalWrite(d,1);
digitalWrite(c,0);
digitalWrite(pt,1);
}
void num3()
{
digitalWrite(g,1);
digitalWrite(f,0);
digitalWrite(a,1);
digitalWrite(b,1);
digitalWrite(e,0);
digitalWrite(d,1);
digitalWrite(c,1);
digitalWrite(pt,1);
}
void num4()
{
digitalWrite(g,1);
digitalWrite(f,1);
digitalWrite(a,0);
digitalWrite(b,1);
digitalWrite(e,0);
digitalWrite(d,0);
digitalWrite(c,1);
digitalWrite(pt,1);
}
void num5()
{
digitalWrite(g,1);
digitalWrite(f,1);
digitalWrite(a,1);
digitalWrite(b,0);
digitalWrite(e,0);
digitalWrite(d,1);
digitalWrite(c,1);
digitalWrite(pt,1);
}
void num6()
{
digitalWrite(g,1);
digitalWrite(f,1);
digitalWrite(a,1);
digitalWrite(b,0);
digitalWrite(e,1);
digitalWrite(d,1);
digitalWrite(c,1);
digitalWrite(pt,1);
}
void num7()
{
digitalWrite(g,0);
digitalWrite(f,0);
digitalWrite(a,1);
digitalWrite(b,1);
digitalWrite(e,0);
digitalWrite(d,0);
digitalWrite(c,1);
digitalWrite(pt,1);
}
void num8()
{
digitalWrite(g,1);
digitalWrite(f,1);
digitalWrite(a,1);
digitalWrite(b,1);
digitalWrite(e,1);
digitalWrite(d,1);
digitalWrite(c,1);
digitalWrite(pt,1);
}
void num9()
{
digitalWrite(g,1);
digitalWrite(f,1);
digitalWrite(a,1);
digitalWrite(b,1);
digitalWrite(e,0);
digitalWrite(d,0);
digitalWrite(c,1);
digitalWrite(pt,1);
}
**Nota:**Editado por moderador de acuerdo a las normas. Punto 7.