Programação Eletrónica+
Espaço
Circuitos com LCD
(Introdução à Linguagem C)
O LCD 1602Interface16pinos–compatívelcomodriver
HitachiHD44780
O LCD 1602
https://www.openhacks.com/uploadsproductos/eone-1602a1.pdf
O LCD 1602
Montagem básica
O LCD 1602
Montagembásica–circuitoesquemático
A livraria LiquidCrystal
Syntax
LiquidCrystal(RS, RW, enable, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal()
Cria uma variável do tipo LiquidCrystal que permite controlar o
display usando 4 ou 8 pinos do arduino. Caso se usem só 4 pinos,
basta que sejam o omitidos os restantes pinos (d0 a d3).
O pino RW pode ser ligado à terra (GND) e, nesse caso, pode omitir-
se o respetivo parâmetro na função LiquidCrystal.
Sintax Descrição No circuito
proposto…
RS Pino do arduino ligado ao Register Select (pino 4) do display 12
RW Pino do arduino ligado ao Read/Write (pino 5) do display Ignorar (GND)
enable Pino do arduino ligado ao Enable (pino 6) do display 11
d0 a d3 Dados recebidos do arduino (caso se usem 8 pinos de
dados)
Ignorar
(opcionais)
d4 a d7 Dados recebidos do arduino (pinos 11, 12, 13, 14 do display) 2, 3, 4, 5
A livraria LiquidCrystal
Funções associadas
Função Descrição Sintaxe
begin() Inicializa a interface com o LCD e especifica as
dimensões do display.
Tem de ser chamada antes de qualquer outro comando
associado à livraria LiquidCrystal.
lcd.begin(col, rows)
Parâmetros:
lcd: uma variável do tipo LiquidCrystal;
Cols: o número de colunas que o LCD tem;
Rows: o número de linhas que o LDC tem.
A livraria LiquidCrystal
Funções associadas
Função Descrição Sintaxe
print() Imprime texto no LDC lcd.print(data)
lcd.print(data, BASE)
Parâmetros:
lcd: uma variável do tipo LiquidCrystal;
data: os dados a imprimir (char, byte, int, long, string);
BASE (opcional): a base em que os números devem ser apresentados: BIN para binários
(base 2), DEC para decimal (base 10), OCT para octal (base 8), HEX para hexadecimal (base
16).
Retorna: byte
Vamos Experimentar…
Observa…
Como em cada linha só
cabem 16 caracteres,
não foi possível
apresentar a mensagem
toda…
Como usar a 2º linha
do LCD?
A livraria LiquidCrystal
Funções associadas
Função Descrição Sintaxe
cursor() Mostra o cursor do LCD através de uma linha
underscore na posição onde o próximo caractere
será inserido
lcd.cursor()
noCursor() Esconde o cursor do LCD lcd.noCursor()
setCursor() Determina a posição do cursor do LCD a partir da
qual os caracteres serão apresentados
lcd.setCursor(col, row)
Parâmetros:
lcd: uma variável do tipo LiquidCrystal;
col: coluna onde será posicionado o cursor (sendo 0 a primeira coluna);
row: linha onde será posicionado o cursor (sendo 0 a primeira linha).
Vamos Experimentar…
Agora Tenta
Ler no cursor o valor de uma entrada analógica (ligada
a uma resistência variável, por exemplo)
Uma Solução Possível...
(Circuito)
UmaSoluçãoPossível...
(Programa)
Agora Tenta
Fazer um ohmímetro.
Sugestão1: Estuda um
pouco o circuito divisor de
tensão…
Sugestão2: Talvez precises
da função clear()…
A livraria LiquidCrystal
Funções associadas
Função Descrição Sintaxe
clear() Limpa o ecrã do LCD e Posiciona o cursor no canto
superior esquerdo
lcd.clear()
Parâmetros:
lcd: uma variável do tipo LiquidCrystal.
Uma Solução Possível...
(Circuito)
UmaSoluçãoPossível...
(Programa)
Conversão do valor analógico em A0 (0-
1023) para tensão (0-5V)
Cálculo do valor de R a partir do valor da
tensão em A0 e do valor da segunda resistência
do divisor de tensão

Arduino - iniciação à linguagem C: LCD 1602

  • 1.
    Programação Eletrónica+ Espaço Circuitos comLCD (Introdução à Linguagem C)
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    A livraria LiquidCrystal Syntax LiquidCrystal(RS,RW, enable, d0, d1, d2, d3, d4, d5, d6, d7) LiquidCrystal() Cria uma variável do tipo LiquidCrystal que permite controlar o display usando 4 ou 8 pinos do arduino. Caso se usem só 4 pinos, basta que sejam o omitidos os restantes pinos (d0 a d3). O pino RW pode ser ligado à terra (GND) e, nesse caso, pode omitir- se o respetivo parâmetro na função LiquidCrystal. Sintax Descrição No circuito proposto… RS Pino do arduino ligado ao Register Select (pino 4) do display 12 RW Pino do arduino ligado ao Read/Write (pino 5) do display Ignorar (GND) enable Pino do arduino ligado ao Enable (pino 6) do display 11 d0 a d3 Dados recebidos do arduino (caso se usem 8 pinos de dados) Ignorar (opcionais) d4 a d7 Dados recebidos do arduino (pinos 11, 12, 13, 14 do display) 2, 3, 4, 5
  • 7.
    A livraria LiquidCrystal Funçõesassociadas Função Descrição Sintaxe begin() Inicializa a interface com o LCD e especifica as dimensões do display. Tem de ser chamada antes de qualquer outro comando associado à livraria LiquidCrystal. lcd.begin(col, rows) Parâmetros: lcd: uma variável do tipo LiquidCrystal; Cols: o número de colunas que o LCD tem; Rows: o número de linhas que o LDC tem.
  • 8.
    A livraria LiquidCrystal Funçõesassociadas Função Descrição Sintaxe print() Imprime texto no LDC lcd.print(data) lcd.print(data, BASE) Parâmetros: lcd: uma variável do tipo LiquidCrystal; data: os dados a imprimir (char, byte, int, long, string); BASE (opcional): a base em que os números devem ser apresentados: BIN para binários (base 2), DEC para decimal (base 10), OCT para octal (base 8), HEX para hexadecimal (base 16). Retorna: byte
  • 9.
    Vamos Experimentar… Observa… Como emcada linha só cabem 16 caracteres, não foi possível apresentar a mensagem toda… Como usar a 2º linha do LCD?
  • 10.
    A livraria LiquidCrystal Funçõesassociadas Função Descrição Sintaxe cursor() Mostra o cursor do LCD através de uma linha underscore na posição onde o próximo caractere será inserido lcd.cursor() noCursor() Esconde o cursor do LCD lcd.noCursor() setCursor() Determina a posição do cursor do LCD a partir da qual os caracteres serão apresentados lcd.setCursor(col, row) Parâmetros: lcd: uma variável do tipo LiquidCrystal; col: coluna onde será posicionado o cursor (sendo 0 a primeira coluna); row: linha onde será posicionado o cursor (sendo 0 a primeira linha).
  • 11.
  • 12.
    Agora Tenta Ler nocursor o valor de uma entrada analógica (ligada a uma resistência variável, por exemplo)
  • 13.
  • 14.
  • 15.
    Agora Tenta Fazer umohmímetro. Sugestão1: Estuda um pouco o circuito divisor de tensão… Sugestão2: Talvez precises da função clear()…
  • 16.
    A livraria LiquidCrystal Funçõesassociadas Função Descrição Sintaxe clear() Limpa o ecrã do LCD e Posiciona o cursor no canto superior esquerdo lcd.clear() Parâmetros: lcd: uma variável do tipo LiquidCrystal.
  • 17.
  • 18.
    UmaSoluçãoPossível... (Programa) Conversão do valoranalógico em A0 (0- 1023) para tensão (0-5V) Cálculo do valor de R a partir do valor da tensão em A0 e do valor da segunda resistência do divisor de tensão