This is an old revision of the document!


Regresa a codigos

/* 
 *  Simple siete segmentos
 *  Muy sencillo para ejemplo de taller
 *  Autor: Leonardo Yamasaki
 *  GPL */
 
#define dA 7
#define dB 8
#define dC 9
#define dD 10
#define dE 11
#define dF 12
#define dG 13
 
//Display de siete segmentos a to g is 7 to 13
// D   abcdefg
// 0 = 1111110
// 1 = 0110000
// 2 = 1101101
// 3 = 1111001
// 4 = 0110011
// 5 = 1011011
// 6 = 1011111
// 7 = 1110000
// 8 = 1111111
// 9 = 1111011
 
int displayDigito(int i){
  if(i==0){
    digitalWrite(dA,LOW);
    digitalWrite(dB,LOW);
    digitalWrite(dC,LOW);
    digitalWrite(dD,LOW);
    digitalWrite(dE,LOW);
    digitalWrite(dF,LOW);
    digitalWrite(dG,HIGH);
  }
  if(i==1){
    digitalWrite(dA,HIGH);
    digitalWrite(dB,LOW);
    digitalWrite(dC,LOW);
    digitalWrite(dD,HIGH);
    digitalWrite(dE,HIGH);
    digitalWrite(dF,HIGH);
    digitalWrite(dG,HIGH);
  }
  if(i==2){
    digitalWrite(dA,LOW);
    digitalWrite(dB,LOW);
    digitalWrite(dC,HIGH);
    digitalWrite(dD,LOW);
    digitalWrite(dE,LOW);
    digitalWrite(dF,HIGH);
    digitalWrite(dG,LOW);
  }
  if(i==3){
    digitalWrite(dA,LOW);
    digitalWrite(dB,LOW);
    digitalWrite(dC,LOW);
    digitalWrite(dD,LOW);
    digitalWrite(dE,HIGH);
    digitalWrite(dF,HIGH);
    digitalWrite(dG,LOW);
  }
  if(i==4){
    digitalWrite(dA,HIGH);
    digitalWrite(dB,LOW);
    digitalWrite(dC,LOW);
    digitalWrite(dD,HIGH);
    digitalWrite(dE,HIGH);
    digitalWrite(dF,LOW);
    digitalWrite(dG,LOW);
  }
  if(i==5){
    digitalWrite(dA,LOW);
    digitalWrite(dB,HIGH);
    digitalWrite(dC,LOW);
    digitalWrite(dD,LOW);
    digitalWrite(dE,HIGH);
    digitalWrite(dF,LOW);
    digitalWrite(dG,LOW);
  }
  if(i==6){
    digitalWrite(dA,LOW);
    digitalWrite(dB,HIGH);
    digitalWrite(dC,LOW);
    digitalWrite(dD,LOW);
    digitalWrite(dE,LOW);
    digitalWrite(dF,LOW);
    digitalWrite(dG,LOW);
  }
  if(i==7){
    digitalWrite(dA,LOW);
    digitalWrite(dB,LOW);
    digitalWrite(dC,LOW);
    digitalWrite(dD,HIGH);
    digitalWrite(dE,HIGH);
    digitalWrite(dF,HIGH);
    digitalWrite(dG,HIGH);
  }
  if(i==8){
    digitalWrite(dA,LOW);
    digitalWrite(dB,LOW);
    digitalWrite(dC,LOW);
    digitalWrite(dD,LOW);
    digitalWrite(dE,LOW);
    digitalWrite(dF,LOW);
    digitalWrite(dG,LOW);
  }
  if(i==9){
    digitalWrite(dA,LOW);
    digitalWrite(dB,LOW);
    digitalWrite(dC,LOW);
    digitalWrite(dD,LOW);
    digitalWrite(dE,HIGH);
    digitalWrite(dF,LOW);
    digitalWrite(dG,LOW);
  }
}
 
void setup(){
  int i;
  for(i=7;i<14;i++){
    pinMode(i,OUTPUT);
  }
}
 
void loop(){
  int i;
  for(i=0;i<10;i++){
    displayDigito(i);
    delay(500);
  }  
}