miércoles, 18 de octubre de 2017

Bitácora: Secuencia de números


Para la secuencia de números o cuenta regresiva se usa el siguiente código:

int boton = 2;
void setup()
{
  for(int i=3;i<=10;i++)
    pinMode(i, OUTPUT) ; //display 7 segmentos
  pinMode( boton  , INPUT) ; //botón  como entrada
}
void display(int a,int b, int c, int d, int e, int f, int g, int punto)
{
  digitalWrite(3,a);  
  digitalWrite(4,b);  
  digitalWrite(5,c);  
  digitalWrite(6,d);  
  digitalWrite(7,e);  
  digitalWrite(8,f);  
  digitalWrite(9,g);  
  digitalWrite(10,punto);  
}
void loop()
{
  display(0,0,0,0,0,0,0,1);
  int valor = digitalRead(boton) ; // leemos el valor de boton, si está presionado será HIGH y sino será LOW.
  if(valor==HIGH)//si el boton está enviando voltaje alto al pin del Arduino  
  {
    //cuenta regresiva
    display(0,0,0,1,1,0,0,0);//9
    delay(2000);//el programa espera 5 segundos
    display(0,0,0,0,0,0,0,0);//8
    delay(2000);//el programa espera 5 segundos
    display(0,0,0,1,1,1,1,0);//7
    delay(2000);//el programa espera 5 segundos
     display(0,1,0,0,0,0,0,0);//6
    delay(2000);//el programa espera 5 segundos
     display(0,1,0,0,1,0,0,0);//5
    delay(2000);//el programa espera 5 segundos
     display(1,0,0,1,1,0,0,0);//4
    delay(2000);//el programa espera 5 segundos
     display(0,0,0,0,1,1,0,0);//3
    delay(2000);//el programa espera 5 segundos
     display(0,0,1,0,0,1,0,0);//2
    delay(2000);//el programa espera 5 segundos
     display(1,0,0,1,1,1,1,0);//1
    delay(2000);//el programa espera 5 segundos
  }  display(0,0,0,0,0,0,1,0);//0
    delay(2000);//el programa espera 5 segundos
}

Para que los números vayan disminuyendo en el display lo único que debes hacer es anular el paso de energía a los pines, para formar el número, en mi caso se usa 1 para anular y 0 para dejar pasar energía a los pines.
Los pines enumerados en la sección de " digitalWrite", pero si no entiendes asi aqui esta una imagen de como estan los pines, deacuerdo a esta imagen solo cambias un 0 por un 1 para que tengas de resultado un número del 9 al 0.


No hay comentarios:

Publicar un comentario