martes, 2 de junio de 2015

Display LCD 16x2




La pantalla LCD de 16x2 hace referencia que tiene 16 columnas y 2 filas 

Lo primero que tenemos que hacer es soldar los conectores macho macho de la pantalla LCD. Es importante que se sueldan a hacer una conexión decente

Una vez esto tenemos la siguiente tabla que describe para que sirve cada pin

LCD PinSymbol FunctionArduino Pin
1Vss Ground ( 0V )GND
2Vdd Power( 4.5 - 5.5V )+5V
3Vo Ajuste de contrastePot. Middle Pin
4H/L Registro de selección de señal7
5R/W H/L seña de read/write (lectura/esctitura)GND
6E H/L enable signal/ señal de habilitación8
11DB4 H/L data bus for 4-bit mode9
12DB5 H/L data bus for 4--bit mode10
13DB6 H/L data bus for 4-bit mode11
14DB7 H/L data bus for 4-bit mode12
15A 'Back Light' Anode - Resistor to 5V - Anodo+5V
16K 'Back Light' Cathode - CatodoGND



Vamos a utilizar un potenciometro para poder ajustar el contraste
En la siguiente imagen podemos ver que en la parte izquierda el contraste es muy alto que no se puede leer las letras, en la parte derecha esta muy bajo cual tampoco se puede leer


La imagen anterior es de mero ejemplo, el ajuste de contraste es para la pantalla completa, no para un pedazo.

Para la conexión del arduino uno con el protobard y lcd, vamos a usar los siguientes colores

Wire ColourDescription
Rojo+5V (Vcc)
NegroGround / Tierra
BlancoData Lines / Linea de Datos
AzulControl Lines / Control de lineas


Nota: Para arduino mega, sería exactamente igual.

Importante: La resistencia a utilizar es de 10K
  • Pin LCD RS al pin digital 7
  • LCD Habilitar pin a pin digital 8
  • Pines D4 LCD para pin digital 9
  • Pin D5 LCD para pin digital 10
  • Pin D6 LCD para pin digital 11
  • Pin D7 LCD para pin digital 12
  • LCD R / W pin a tierra
  • Resistencia de 10K:
  • Termina a + 5V y tierra
  • wiper al pin VO LCD (pin 3)

Para obtener el código tiene que ir a 
Archivo -> Ejemplo -> LiquidCrystal -> HelloWorld (IDE en español)
Select File -> Examples -> LiquidCrystal -> HelloWorld (IDE en ingles)


En mi caso cambie un poco los pins a mi conveniencia y quedo de la siguiente manera

// include the library code:
#include <LiquidCrystal.h>
 
// Initialize the library with the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
 
void setup() {
// set up the LCD's number of columns and rows
lcd.begin(16, 2);
// Print a message to the LCD
lcd.print("Hola Daniel Diaz");
}
 
void loop() {
// set the cursor to column 0, line 1
// (line 1 is the second row, since counting begins with 0)
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}



Fuente: limetrace y garagelab


1 comentario: