Tela LCD: tudo o que você precisa saber

Tela LCD

Uma A tela LCD pode ser uma solução para aqueles projetos nos quais você precisa exibir informações sem ter que depender de um computador constantemente conectado. Ou seja, em um projeto Arduino / Raspberry Pi, você pode usar a porta serial para transmitir informações que são exibidas na tela para obter leituras de sensor, mostrar um gráfico, contas, etc. Mas se o seu projeto está constantemente em execução ou longe de onde você pode ter um computador, a tela de LCD é a sua salvação.

Por exemplo, imagine que você instale um sistema de irrigação automatizado e gostaria de verificar as leituras de umidade e temperatura quando for à sua horta ou jardim. Ter que levar o computador lá para conectar a placa Arduino ao PC não é uma solução prática. Neste caso, você pode modificar seu código para que as informações são exibidas na tela LCD e até mesmo adicionar algumas teclas ou botões para poder mostrar informações diferentes.

O que é um painel LCD?

Uma tela de cristal líquido ou LCD (Liquid Crystal Display) É uma espécie de tela plana e fina que pode exibir imagens. Cada painel é formado por um certo número de pixels coloridos ou monocromáticos que são colocados na frente de uma fonte de luz. Seu consumo é baixo, por isso são ideais para este tipo de projetos eletrônicos DIY de baixa potência.

Cada pixel na tela LCD é formado por uma camada de moléculas alinhadas entre dois eletrodos transparentes e dois filtros de polarização. Entre filtros de polarização, há uma tela de cristal líquido, daí seu nome, e evita que a luz que passa pelo primeiro filtro seja bloqueada pelo segundo.

Além disso, se você notou, quando você toca em uma dessas telas a imagem fica deformada e aparece uma espécie de mancha preta ao pressionar, isso porque você está exercendo pressão sobre o cristal líquido e não é aconselhável fazer ... Você pode acabar ficando com cores de tela de qualidade inferior, distribuição desigual da iluminação ou mesmo pixels mortos (pontos pretos ou áreas na tela que não desaparecem).

Telas LCD para Arduino e Raspberry Pi

Uma tela LCD, como os módulos que existem para eletrônica ou para Arduino, normalmente tem várias colunas para exibir caracteres alfanuméricos ou símbolos e uma ou duas linhas para exibir informações. Isso os torna muito mais interessantes do que um display de sete segmentos, que teria que conectar vários pinos para poder exibir apenas um único número, símbolo ou letra. Se você quiser mostrar mais você deve colocar vários monitores.

Em vez disso, com uma única tela LCD, você pode exibir muito mais informações. Mas você deve conhecer bem a pinagem deste tipo de módulos para conectá-los corretamente. Eu recomendo que você sempre veja a folha de dados do fabricante e modelo específico que você tem, pois eles podem variar.

Por exemplo Você pode comprar este da Adafruit na Amazon, que é um dos mais populares com teclado e contém a possibilidade de exibir até 16 caracteres em cada uma de suas duas linhas. E existem até 20 × 4, ou algo mais avançado eCores de várias polegadas para exibir imagens mais complexas.

Para tela LCD de Adafruit 16 × 2 você pode ver esta folha de dados...

Para arduino talvez um mais simples como o que é melhor Tela LCD 16x2 sem teclado. Se você olhar para esta placa, ela tem 16 pinos na parte traseira. Se você pegar a placa e virá-la de cabeça para baixo e olhar seus pinos da esquerda para a direita, você terá uma pinagem:

  • Pino 16: GND para luz de fundo
  • Pino 15: Vcc para luz de fundo
  • Pino 7-14: 8 bits (próximos 8 pinos) para transmitir as informações a serem exibidas na tela
  • Pino 6: sincronização de leitura e gravação
  • Pino 5. R / W (escrever e ler dados e comandos)
  • Pino 4: RS (seletor entre comandos e dados)
  • Pino 3: controle de contraste
  • Pino 2: Vcc de 5v para alimentação
  • Pino 1: GND (0v) para alimentação

Lembre-se que ao colocá-lo na posição correta os pinos são invertidos ...

Integração com Arduino

Diagrama de conexão de LCD 16x2 para Arduino Uno

Pára conecte-o ao arduino Não é muito complicado, você só deve considerar incluir um resistor de 220 ohms para regular a tensão de entrada para a potência da tela e um potenciômetro para modular o contraste da tela. Em seguida, conecte cada um dos pinos à placa Arduino de forma adequada e pronto. Você pode olhar para a imagem de Fritzing ...

Como você pode ver, o potenciômetro será através do qual será alimentado a tela LCD e o contraste também serão ajustados. Portanto, ele estará vinculado ao GND e ao Vcc do display, bem como à linha de controle de luz de fundo e ao controle de contraste. Talvez seja o mais complicado, então é uma questão de conectar os pinos restantes às entradas / saídas que você vai usar em seu projeto.

Programação com Arduino IDE

Para programação você deve levar em consideração algumas peculiaridades, Lembre-se de que você não deve apenas saber enviar dados, mas também movê-los, colocá-los bem na tela, etc. E você também deve usar uma biblioteca chamada Cristal Líquido.h, contanto que sua tela LCD tenha um chipset Hitachi HD44780 compatível. Você tem um exemplo de código aqui:

#include <LiquidCrystal.h>

// Definimos las constantes
#define COLS 16 // Aqui va el num de columnas del LCD, 16 en nuestro caso
#define ROWS 2 // Aqui las filas x2
#define VELOCIDAD 200 // Velocidad a la que se movera el texto

// Indicamos los pines de la interfaz donde hayas conectado el LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Para el texto que se muestra
String texto_fila = "Ejemplo LCD";

void setup() {
  // Configura el monitor serie
  Serial.begin(9600);

  // Configurde filas y columnas
  lcd.begin(COLS, ROWS);
}

void loop() {

  // Tamaño del texto a mostrar
  int tam_texto=texto_fila.length();

  // Indicamos que la entrada de texto se hace por la izquierda
  for(int i=tam_texto; i>0 ; i--)
  {
    String texto = texto_fila.substring(i-1);

    // Limpia la pantalla para poder mostrar informacion diferente
    lcd.clear();

    //Situar el cursor en el lugar adecuado, en este caso al inicio
    lcd.setCursor(0, 0);

    // Escribimos el texto "Ejemplo LCD"
    lcd.print(texto);

    // Esperara la cantidad de milisegundos especificada, en este caso 200
    delay(VELOCIDAD);
  }

  // Desplazar el texto a la izquierda en primera fila
  for(int i=1; i<=16;i++) { 
    lcd.clear();
    lcd.setCursor(i, 0); 
    lcd.print(texto_fila); 
    delay(VELOCIDAD); } 
  // Desplazar el texto a izquierda en la segunda fila 
    for(int i=16;i>=1;i--)
  {
    lcd.clear();
    lcd.setCursor(i, 1);
    lcd.print(texto_fila);
    delay(VELOCIDAD);
  }
  for(int i=1; i<=tam_texto ; i++)
  {
    String texto = texto_fila.substring(i-1);
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print(texto);
    delay(VELOCIDAD);
  }
}

Mais informação - Manual de programação do Arduino (PDF grátis)


Seja o primeiro a comentar

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.