Display OSRAM PD4437

miércoles, 8 de febrero de 2012
Estos displays son bastante buenos para el precio que tienen ya que no son una simple matriz de LEDS donde tenemos que crear nuestra propia fuente y agregar otros circuitos para el corrimiento de un letrero o el brillo de los LEDS, todo eso y más ya lo tiene integrado este pequeño display con un Datasheet muy completo y sencillo de entender.


La comunicación con estos display consiste en 8 bits para el ASCII y 3 bits para la dirección de entre los cuatro segmentos de cada display además de 2 habilitadores por display para el caso de conectar varios de estos sobre el mismo bus, se puede realizar tanto como escritura en el display y lo mejor de todo funcionan a muy poco voltaje con una buena intensidad en los segmentos.

Para hacer aun más sencilla la utilización de estos display se pueden controlar con un arduino con instrucciones tan simples como digitalWrite(); y unos cuantos delay(); .
Aquí les dejo una idea de como se inicializa y se escribe en este display.



void initDisplays(){
  digitalWrite(AD0,LOW);
  digitalWrite(AD1,LOW);
  digitalWrite(AD2,LOW);
  digitalWrite(CE1,LOW);     // Enable both displays
  digitalWrite(CE2,LOW);
   
  digitalWrite(D7,HIGH);       // Clear Display
  digitalWrite(WR,LOW);      // Send write command
  delay(1);
  digitalWrite(WR,HIGH);
  
  digitalWrite(D7,LOW);        // Set full brightness
  digitalWrite(D6,LOW);
  digitalWrite(D5,LOW);
  digitalWrite(D4,LOW);
  digitalWrite(D3,LOW);
  digitalWrite(D2,LOW);
  digitalWrite(D1,HIGH);
  digitalWrite(D0,HIGH);
  digitalWrite(WR,LOW);       // Send write command
  delay(1);
  digitalWrite(WR,HIGH);
  
  digitalWrite(CE1,HIGH);     // Disable both displays
  digitalWrite(CE2,HIGH);
}

y para escribir una letra en el primer segmento:

void writeASCII(){

  digitalWrite(AD0,LOW);
  digitalWrite(AD1,LOW);
  digitalWrite(AD2,HIGH);
  
  digitalWrite(CE1,LOW);      // Enable display
  digitalWrite(CE2,HIGH);

  digitalWrite(D7,LOW);        // Write ASCII to port
  digitalWrite(D6,HIGH);
  digitalWrite(D5,LOW);
  digitalWrite(D4,HIGH);
  digitalWrite(D3,LOW);
  digitalWrite(D2,LOW);
  digitalWrite(D1,HIGH);
  digitalWrite(D0,HIGH);
  
  digitalWrite(WR,LOW);       // Send write command
  delay(1);
  digitalWrite(WR,HIGH);
  
  digitalWrite(CE1,HIGH);        // Disable both displays
  digitalWrite(CE2,HIGH);

}

0 Comentarios, Dejar un Comentario:

Publicar un comentario en la entrada