Sei sulla pagina 1di 5

int pulsador = 10; //Variable para el pin del pulsador

int estado=1;
int numeroguardado=0;
//definimos un array de 10 elementos (digitos) x 8 segmentos (se incluye el punto)
byte Digit[10][8] =
{
{ 1,1,1,1,1,1,0,0 }, // 0
{ 0,1,1,0,0,0,0,0 }, // 1
{ 1,1,0,1,1,0,1,0 }, // 2
{ 1,1,1,1,0,0,1,0 }, // 3
{ 0,1,1,0,0,1,1,0 }, // 4
{ 1,0,1,1,0,1,1,0 }, // 5
{ 1,0,1,1,1,1,1,0 }, // 6
{ 1,1,1,0,0,0,0,0 }, // 7
{ 1,1,1,1,1,1,1,0 }, // 8
{ 1,1,1,0,0,1,1,0 } // 9
};
void setup()
{ for (int i= 2; i<10; i++)
pinMode(i, OUTPUT);
}
void loop()
{
if (digitalRead(pulsador)==HIGH)
{
for ( int k=numeroguardado ; k<10 ; k++)
func "Display"
{
Display(k);
delay(1000);
numeroguardado=0;
estado=digitalRead(pulsador);
delay(50);
if( estado==HIGH){
delay(50);
numeroguardado=k;
estado=0;
Display(k);
delay(1000);
k=10;
}
}
}
}

//llama a los digitos de 0 a 9 de la

//creamos la funcin "Display"


//le pasamos un nmero de 0 a 9, que elije la fila del array y en funcin de ese mismo
nmero busca el array (elemento) interno correspondiente
void Display(int N)
{
for (int i= 0 ; i<8 ; i++)
{ int valor = Digit[N][i] ;
int pin = i+2; //por que usamos los pines del 2 al 10
digitalWrite(pin , valor) ;
}
}

int pulsador=10;
int displayestado=0;
int displayestadoanterior=0;
int valork=0;
int salida=0;
byte Digito[10][8] =
{
{ 1,1,1,1,1,1,0,0 },
{ 0,1,1,0,0,0,0,0 },
{ 1,1,0,1,1,0,1,0 },
{ 1,1,1,1,0,0,1,0 },
{ 0,1,1,0,0,1,1,0 },
{ 1,0,1,1,0,1,1,0 },
{ 1,0,1,1,1,1,1,0 },
{ 1,1,1,0,0,0,0,0 },
{ 1,1,1,1,1,1,1,0 },
{ 1,1,1,0,0,1,1,0 }
};

// muestra el valor 0
// muestra el valor 1
// muestra el valor 2
// muestra el valor 3
// muestra el valor 4
// muestra el valor 5
// muestra el valor 6
// muestra el valor 7
// muestra el valor 8
// muestra el valor 9

void setup()
{ for ( int i= 2; i<10; i++){
pinMode(i, OUTPUT);
}
pinMode(pulsador, INPUT);
}
void loop()
{
displayestado=digitalRead(pulsador);
if(displayestado==HIGH && displayestadoanterior==LOW){
salida = 1-salida;
delay(10);
}ll
if(displayestado==LOW && displayestadoanterior==HIGH && valork==9){
salida=1;
valork=0;
}
displayestadoanterior=displayestado;

if(salida==1){
for ( int k=valork ; k<10 ; k++) //hacemos un llamado a los digitos de 0 a 9 de la
funcin que denominamos: "Display"
{
displayestado=digitalRead(pulsador);
if((displayestado==HIGH && displayestadoanterior==LOW)||k==9 ){
salida = 1-salida;
delay(10);
}
displayestadoanterior=displayestado;
if(salida==1){
Display(k);
delay(1000);
}else{
valork=k;
break;
}
if(k==9){
valork=9;
//botonestado=LOW;
}
}
//if(valork==9){
//botonestado=LOW;
//}
}else {
Display(valork);
}
}
//creamos la funcin "Display"
//le pasamos un nmero de 0 a 9, que elije la fila del array y en funcin de ese mismo
nmero busca el array (elemento) interno correspondiente
void Display(int N)
{
int valor;
int pin;
for (int i= 0 ; i<8 ; i++)
{ valor = Digito[N][i] ;
pin = i+2; //por que usamos los pines del 2 al 10
//if(pin<8){
digitalWrite(pin , valor) ;

//}
}
}

Potrebbero piacerti anche