Buscar

Aula 09 - Programação e Simulação - P9

Prévia do material em texto

Aula 09
Programação e Simulação Projeto 9
DISPLAY LCD
CIRCUITOS 
MICROCONTROLADOS
“SISTEMAS DIGITAIS”
1Prof. Eng. Fernando Tomas Sanchez
Curso Técnico em Automação Industrial
Módulo III - Noturno
23/06/2022
CONTEÚDO PROGRAMÁTICO
1. Display LCD
2
NÍVEIS DE REPRESENTAÇÕES
Prof. Eng. Fernando Tomas Sanchez
3
Diagrama de programação:
Prof. Eng. Fernando Tomas Sanchez
4
Entradas/Saídas
ANALÓGICO E DIGITAL IO
Prof. Eng. Fernando Tomas Sanchez
5
 O Arduino UNO tem 14 pinos IO digitais e 6 
analógicos 
Entradas/Saídas
ANALÓGICO E DIGITAL IO
Prof. Eng. Fernando Tomas Sanchez
6
 O Arduino UNO tem 14 pinos IO digitais e 6 
analógicos 
DISPLAY LCD7
Prof. Eng. Fernando Tomas Sanchez
Introdução
 Imagem é formado pela polarização da luz;
 Pixel formado pela retenção da luz;
 Geralmente tem um controlador integrado;
 Hitachi HD44780
 Formato de 7 segmentos ou matricial;
 No formato matricial é possível a representação de 
símbolos;
Displays LCD
 Existem vários tipos de LCD no mercado atualmente 
e são descritos
 por AxB onde A é o número de colunas e B o 
número de linhas;
 Exemplo:
 08x02 – oito colunas e duas linhas;
 16x01 – 16 colunas e uma linha;
 16x02 – 16 colunas e duas linhas (kit)
Displays LCD
Displays LCD
 Os modelos mais comuns se comunicam através de 
pinos de I/O de seu microcontrolador chamados de 
LCDs paralelos.
 Outros exemplos:
 I2c;
 SPI;
 outro protocolo;
Displays LCD
 Display 16x2 (32 
células)
 Cada “célula” é 
composta por uma 
matriz de 8x5
pontos (pixels).
Comunicação
 O LCD possui um microcontrolador soldado a sua 
placa. A comunicação com o LCD é feita através 
dos pinos de I/O digitais do seu microcontrolador.
Comunicação
 Para haver compatibilidade com firmwares que 
usavam LCDs antigos, existem duas formas de 
comunicação:
 1- Enviar um byte (8 bits) por vez com a 
configuração ou caractere a ser escrito.
 2- Enviar dois nibbles (4 bits) com a configuração 
ou caractere a ser escrito.
Esquema de Ligação
Comunicação por 4 bits
 Enviar dois 
nibbles (4 bits) 
com a 
configuração ou 
caractere a ser 
escrito.
Projeto 9: Display LCD16
Prof. Eng. Fernando Tomas Sanchez
Projeto 9: Display LCD
 Neste Projeto será explorado a implementação de 
um Display de LCD 16x2 para que possamos 
mostrar nossos dados e mensagens ao mundo 
externo
 Para utilizar o LCD, devemos utilizar a biblioteca do 
Arduino chamada:
 #include <LiquidCrystal.h>
Biblioteca:
#include <LiquidCrystal.h>
FUNÇÃO DESCRIÇÃO
LiquidCrystal [nome](rs, en, d4, d5, d6, d7);
Função para inicializar o LCD e 
designar um nome. Também se 
definem em que pinos o display está 
conectado.
[nome].begin([colunas], [linhas]);
Função para declarar o tamanho do 
LCD
[nome].print([mensagem]);
Função para imprimir uma 
mensagem no LCD
[nome].clear(); Função para limpar o LCD
[nome].write([dado]);
Função para imprimir um dado no 
LCD
[nome].setCursor([coluna],[linha]);
Função para posicionar a mensagem 
ou dado que se deseja mostrar
Projeto 9: Display LCD
 Esquema do LCD 16x2
Projeto 9: Display LCD
 Exemplo de Implementação
Projeto 9: Display LCD
 DESCRITIVO OPERACIONAL
1- Ao energizar o Display deverá aparecer a 
seguinte mensagem:
2- Linha 1: “Hello World”
3- Linha 2: “SENAI Automação”
A ESCRITA DEVE SER FEITA SEM ACENTUAÇÕES
Projeto 9: Display LCD
Configuração dos Pinos do LCD
 LCD pino RS no pino digital 12
 LCD pino Enable no pino digital 11
 LCD pino D4 pin no pino digital 5
 LCD pino D5 pin no pino digital 4
 LCD pino D6 pin no pino digital 3
 LCD pino D7 pin no pino digital 2
 LCD pino R/W no terra (GND)
LCD FUNÇÃO
1 VSS Terra GND
2 VCC Positivo normalmente 5V
3 VD Contraste do LCD. As vezes também é chamado de Vee
4 RS Register Select
5 R/W Read/Write (GERALMENTE Aterrado)
6 E Enable
7 DB0 Bit 0 (NÃO SERÁ UTILIZADO)
8 DB1 Bit 1 (NÃO SERÁ UTILIZADO)
9 DB2 Bit 2 (NÃO SERÁ UTILIZADO)
10 DB3 Bit 3 (NÃO SERÁ UTILIZADO)
11 DB4 Bit 4 do dado a ser escrito no LCD ou lido dele 
12 DB5 Bit 5 do dado a ser escrito no LCD ou lido dele 
13 DB6 Bit 6 do dado a ser escrito no LCD ou lido dele 
14 DB7 Bit 7 do dado a ser escrito no LCD ou lido dele 
15 LEDA Anodo do back-light
16 LEDK Catodo do back-light
Projeto 9: Display LCD
Pinagem e função de cada pino :
 pino 1 – VSS – Pino de alimentação (zero volts – GND)
 pino 2 – VDD – Pino de alimentação de +5V
 pino 3 – VO – Pino de ajuste do contraste do LCD – ajustável pela tensão aplicada
 pino 4 – RS – Seleção de Comandos (nível 0) ou Dados (nível 1)
 pino 5 – R/W – Read(leitura – nível 1) / Write (escrita – nível 0)
 pino 6 – E – Enable (Ativa o display com nível 1 ou Desativa com nível 0)
 pino 7 – D0 – data bit 0 (usado na interface de 8 bits)
 pino 8 – D1 – data bit 1 (usado na interface de 8 bits)
 pino 9 – D2 – data bit 2 (usado na interface de 8 bits)
 pino 10 – D3 – data bit 3 (usado na interface de 8 bits)
 pino 11 – D4 – data bit 4 (usado na interface de 4 e 8 bits)
 pino 12 – D5 – data bit 5 (usado na interface de 4 e 8 bits)
 pino 13 – D6 – data bit 6 (usado na interface de 4 e 8 bits)
 pino 14 – D7 – data bit 7 (usado na interface de 4 e 8 bits)
 pino 15 – A – Anodo do LED de iluminação (+5V CC)
 pino 16 – K – Catodo do LED de iluminação (GND)
Projeto 9: Display LCD
Software de Programação Desktop
 Arduino 1.8.15 clique aqui
https://www.arduino.cc/en/Main/Software
Projeto 9: Display LCD
 DESCRITIVO OPERACIONAL
1- Ao energizar o Display deverá aparecer a 
seguinte mensagem:
2- Linha 1: “Hello World”
3- Linha 2: “SENAI Automação”
A ESCRITA DEVE SER FEITA SEM ACENTUAÇÕES
Projeto 9: Display LCD
 Para utilizar o LCD, devemos utilizar a biblioteca do 
Arduino chamada:
 #include <LiquidCrystal.h>
Projeto 9: Display LCD
DEFINIÇÃO DE IDENTIFICADORES
 Serve para facilitar o nome dos pinos do ARDUINO
ou valores, substituindo os mesmos por um
“identificador” ou nome mais “amigável”:
Projeto 9: Display LCD
 SETUP:
 Utilizamos a partir da biblioteca
Biblioteca:
#include <LiquidCrystal.h>
FUNÇÃO DESCRIÇÃO
LiquidCrystal [nome](rs, en, d4, d5, d6, d7);
Função para inicializar o LCD e 
designar um nome. Também se 
definem em que pinos o display está 
conectado.
[nome].begin([colunas], [linhas]);
Função para declarar o tamanho do 
LCD
[nome].print([mensagem]);
Função para imprimir uma 
mensagem no LCD
[nome].clear(); Função para limpar o LCD
[nome].write([dado]);
Função para imprimir um dado no 
LCD
[nome].setCursor([coluna],[linha]);
Função para posicionar a mensagem 
ou dado que se deseja mostrar
Projeto 9: Display LCD
 SETUP:
 Utilizamos a partir da biblioteca
Projeto 9: Display LCD
 LOOP:
 Utilizamos também algumas funções a partir da 
biblioteca “LiquidCrystal.h”
Ambiente de Programação:
Arduino 1.8.13 
 COMPILANDO E VERIFICANDO O PROGRAMA:
 Após VERIFICAR se não há ERROS seu será salvo 
com a extensão .ino na mesma pasta do projeto. 
Ambiente de Simulação Online:
TINKERCAD
 Clique Aqui
https://www.tinkercad.com/
Ambiente de Simulação Online:
TINKERCAD
Ambiente de Simulação Online:
TINKERCAD
Ambiente de Simulação Online:
TINKERCAD
Ambiente de Simulação Online:
TINKERCAD
Ambiente de Simulação Online:
TINKERCAD
Ambiente de Simulação Online:
TINKERCAD
Ambiente de Simulação Online:
TINKERCAD
Ambiente de Simulação Online:
TINKERCAD
Projeto 09: Display LCD44
Prof. Eng. Fernando Tomas Sanchez
Entregar
CÓDIGOS EM FORMATO “.ino”
SIMULADO no TINKERCAD

Continue navegando