LCD 16x2 com Arduino

Aprende a ligar e programar um LCD 16x2 (4-bit e 8-bit)

Os LCD 16x2 são muito usados em projetos de eletrónica para mostrar mensagens, valores de sensores e estados do sistema. Este ecrã possui 2 linhas com 16 caracteres cada, podendo operar em modo 4-bit ou 8-bit.

Também é possível criar caracteres personalizados, além de usar os caracteres standard. Este tutorial utiliza a biblioteca LiquidCrystal, incluída no Arduino IDE e compatível com LCDs baseados no chipset Hitachi HD44780.

1. Ligações do LCD

O LCD possui 16 pinos, incluindo:

Imagem ilustrativa da ligação do LCD ao Arduino:

Ligações do LCD 16x2 ao Arduino

2. Código para LCD 16x2 (4-bit e 8-bit)

#include <LiquidCrystal.h>
/* Create object named lcd of the class LiquidCrystal */
LiquidCrystal lcd(13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3);    /* For 8-bit mode */
//LiquidCrystal lcd(13, 12, 11, 6, 5, 4, 3);    /* For 4-bit mode */

unsigned char Character1[8] = { 0x04, 0x1F, 0x11, 0x11, 0x1F, 0x1F, 0x1F, 0x1F };    /* Custom Character 1 */
unsigned char Character2[8] = { 0x01, 0x03, 0x07, 0x1F, 0x1F, 0x07, 0x03, 0x01 };    /* Custom Character 2 */

void setup() {
  lcd.begin(16,2);                    /* Initialize 16x2 LCD */
  lcd.clear();                        /* Clear the LCD */
  lcd.createChar(0, Character1);    /* Generate custom character */
  lcd.createChar(1, Character2);
}

void loop() {
  lcd.setCursor(0,0);                /* Set cursor to column 0 row 0 */
  lcd.print("Explica-Lab");            /* Print data on display */
  lcd.setCursor(0,1);  
  lcd.write(byte(0));                /* Write a character to display */
  lcd.write(1);
}

3. Componentes Usados

← Voltar à Eletrónica