domingo, 3 de noviembre de 2013

Display 7 segmentos

Conexion display 7 seg. con Arduino uno




Estuve probando la conexión de un display 7 seg. al Arduino uno, y para empezar encontre un codigo muy bueno,


Primero vamos a ver de que se trata el display de 7 seg.

Basicamente tenemos dos tipos, Anodo comun y Catodo comun, en mi caso use uno de Catodo común, con lo cual, la masa es compartida entre todos los segmentos, 
Luego tenemos otra seria de segmentos, (a, b, c, d, e, f, g, dp) que a medida que lo vamos alimentando van prendiendo, 

Vean la figura:








El circuito de conexion es el siguiente:








Y el codigo, cortesia de: http://www.hacktronics.com/Tutorials/arduino-and-7-segment-led.html


/*
*** esto es para Anado Comun ****

byte seven_seg_digits[10][7] = { { 0,0,0,0,0,0,1 },  // = 0
                                 { 1,0,0,1,1,1,1 },  // = 1
                                 { 0,0,1,0,0,1,0 },  // = 2
                                 { 0,0,0,0,1,1,0 },  // = 3
                                 { 1,0,0,1,1,0,0 },  // = 4
                                 { 0,1,0,0,1,0,0 },  // = 5
                                 { 0,1,0,0,0,0,0 },  // = 6
                                 { 0,0,0,1,1,1,1 },  // = 7
                                 { 0,0,0,0,0,0,0 },  // = 8
                                 { 0,0,0,1,1,0,0 }   // = 9
                               };
                               
                               */
                           
 
 byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 },  // = 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,0,0,1,1 }   // = 9
                               };
 
void setup() {                
  pinMode(2, OUTPUT);   
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  writeDot(0);  // 
}
 
void writeDot(byte dot) {
  digitalWrite(9, dot);
}
 
void sevenSegWrite(byte digit) {
  byte pin = 2;
  for (byte segCount = 0; segCount < 7; ++segCount) {
     digitalWrite(pin, seven_seg_digits[digit][segCount]);
     ++pin;   
   } 
} 
 
void loop() {   
  for (byte count = 10; count > 0; --count) {
    delay(1000);
    sevenSegWrite(count - 1); 
  }
 
  delay(4000);   // Aguarda 4 segundos para volver a empezar
}



Lo que nos quedaria algo así:





Dicho sea de paso, hace dos días me llego el modulo Bluetooth que pedí, el cual pueden ver en el video conectado entre el arduino y el 7 seg.,  así que en unos días voy a estar subiendo las primeras pruebas con dicho modulo :)

Si tienen alguna consulta o idea, no duden en comentarla



Saludos!








3 comentarios: