Baixe o app para aproveitar ainda mais
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
Compartilhar