display (int a, int b, int c, int d, int e, int f, int g) { //Se reciben 7 variables asignadas a cada segmento digitalWrite (2,a); digitalWrite (3,b); digitalWrite (4,c); digitalWrite (5,d); digitalWrite (6,e); digitalWrite (7,f); digitalWrite (8,g); } void contador (int sentido) { if sentido==1 { display (1,1,1,1,1,1,0); delay(pausa); display (0,1,1,0,0,0,0); delay(pausa); display (1,1,0,1,1,0,1); delay(pausa); display (1,1,1,1,0,0,1); delay(pausa); display (0,1,1,0,0,1,1); delay(pausa); display (1,0,1,1,0,1,1); delay(pausa); display (1,0,1,1,1,1,1); delay(pausa); display (1,1,1,0,0,0,0); delay(pausa); display (1,1,1,1,1,1,1); delay(pausa); display (1,1,1,0,0,1,1); delay(pausa); } else { display (1,1,1,0,0,1,1); delay(pausa); display (1,1,1,1,1,1,1); delay(pausa); display (1,1,1,0,0,0,0); delay(pausa); display (1,0,1,1,1,1,1); delay(pausa); display (1,0,1,1,0,1,1); delay(pausa); display (0,1,1,0,0,1,1); delay(pausa); display (1,1,1,1,0,0,1); delay(pausa); display (1,1,0,1,1,0,1); delay(pausa); display (0,1,1,0,0,0,0); delay(pausa); display (1,1,1,1,1,1,0); delay(pausa); } } void loop() { a= digitalRead(BOTON01); b= digitalRead(BOTON02); if (a==HIGH) { contador(ASCIENDE); a=LOW; } if (b==HIGH) { contador(DESCIENDE); b=LOW; } } Es algo mágico trabajar con botones, este es uno más de los muchos elementos que Arduino te permite utilizar, te gusta? Sigue intentando más proyectos, verás que aprendes más y que tu crecimiento en Arduino se hace cada vez mayor. Referencias [1] http://www.arduino.cc