Ejemplos clase 6 – Display 7 segmentos

.

// Los pines que usa la placa multifunción
#define LATCH_DIO 4
#define CLK_DIO 7
#define DATA_DIO 8
 
// numeros 0 al 9
//const byte SEGMENT_MAP[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0X80,0X90};
// digitos 0 al 3
//const byte SEGMENT_SELECT[] = {0xF1,0xF2,0xF4,0xF8};
 
void setup ()
{
// son todas salidas
pinMode(LATCH_DIO,OUTPUT);
pinMode(CLK_DIO,OUTPUT);
pinMode(DATA_DIO,OUTPUT);
}
 
void loop()
{
//envio un digito al display
SetDigito(0b11110001 , 0b1100000000);
}
 
void SetDigito(byte Segment, byte Value)
{
  // Habilito para enviar información
  digitalWrite(LATCH_DIO,LOW);
  
  // Envio la primer secuencia, correspondiente a los leds
  shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, Value);
  //shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_MAP[Value]);

  // Envio la seguna secuencia, que selecciona el digito
  shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, Segment );
  //shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_SELECT[Segment] );

  // Grabo la información y se ve en el display
  digitalWrite(LATCH_DIO,HIGH);
}