#define zero 0b0111111 #define uno 0b00000110 #define due 0b01011011 #define tre 0b01001111 #define quattro 0b01100110 #define cinque 0b01101101 #define sei 0b01111101 #define sette 0b00000111 #define otto 0b01111111 #define nove 0b01101111 #define PULSANTE 10 byte i = 0; byte cooldown = 0; void visualizza(byte numero) { byte conb = ~zero; switch(numero) { case 0: conb = ~zero; break; case 1: conb = ~uno; break; case 2: conb = ~due; break; case 3: conb = ~tre; break; case 4: conb = ~quattro; break; case 5: conb = ~cinque; break; case 6: conb = ~sei; break; case 7: conb = ~sette; break; case 8: conb = ~otto; break; case 9: conb = ~nove; break; default: return; } PORTD = ((conb << 3) & 0b11111000); PORTB = ((conb >> 5) & 0b111); } void setup() { for(i=3;i>9) i=0; cooldown = 1; delay(100); } }