Menú principal

lunes, 4 de abril de 2016

Recorrido de números en display - Arduino

Hoy haremos un ejercicio en Arduino pero de forma diferente ya que utilizaremos un "display". Para conseguirlo podeis o bien comprarlo o bien hacerlo casero (como en mi caso), para ello os dejo un link donde aprendí yo a hacerlo: link.

Una vez dicho esto, os explicaré en lo que consiste el ejercicio: el programa a realizar en arduino debe imprimir todos los números (del 1 al 9) en el display mencionado anteriormente.

En el programa utilizaremos una matriz (matrices) donde asignaremos los leds que se deben encender para que aparezca el número en el display.




NOTA: El display que he utilizado lleva la siguiente estructura: Las letras de color negro son donde están colocados los leds y los números de color blanco que están al lado de las letras son os pines donde he conectado cada led al arduino. Dependiendo de donde conectéis estos habrá que modificar en cierta parte el programa.





Podéis ver un vídeo del funcionamiento en el siguiente link: vídeo

PROGRAMA RESUELTO

int matriz[10][7]={
  {
    1,1,1,1,1,1,0      }//numero 0
  ,
  {
    0,1,1,0,0,0,0      }//1
  ,
  {
    1,1,0,1,1,0,1      }//2
  ,
  {
    1,1,1,1,0,0,1      }//3
  ,
  {
    0,1,1,0,0,1,1      }//4
  ,
  {
    1,0,1,1,0,1,1      }//5
  ,
  {
    1,0,1,1,1,1,1      }//6
  ,
  {
    1,1,1,0,0,0,0      }//7
  ,
  {
    1,1,1,1,1,1,1      }//8
  ,
  {
    1,1,1,1,0,1,1      }//9
};

void setup()
{

  for(int i=2; i<9; i++)//desde entrada 2 a la 9 
  {
    pinMode(i, OUTPUT);//declarar como salida
  }

}
void loop()
{

  for(int num=0; num<10; num++)//repetir 9 veces 
  {
    for(int i=0; i<7; i++)//i representa cada led
    {
      if(matriz[num][i]==1)//si en el numero[0] el led [2]==1 enciendele si no apagale
      {
        digitalWrite(i+2, HIGH);//i+2 porque he conectado el primer led en el pin 2
      }
      else 
      {
        digitalWrite(i+2, LOW);
      }
    }
    delay(1000);//entre numero y numero espera 1 segundo

  }
}

No hay comentarios:

Publicar un comentario