3708-aula_6_-__interfaces_de_entrada_e_saÍda
TRANSCRIPT
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 1/25
PROJETOS DE AUTOMAÇÃO
PROF.: ALAN KARDEK
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 2/25
Aula de hoje
• Hardware mínimo para montagens com PICs(revisão);
• Exemplos de periféricos (LEDs, Displays de 7
Segmentos, Teclado Matricial, etc.);• Leitura de Teclas e Teclados;
▫ Debounce ou Debouncing.• Apresentação de saídas em displays de 7
segmentos;• Exemplos.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 3/25
Hardware mínimo para montagens com
PICs• Circuito de alimentação.
▫ (capacitor de 100 nF).• Circuito de reset.• Circuito de clock (até 48
Mhz para PIC18F4550).▫ Varia de MCU para MCU.▫ Consultar datasheet.
• Periféricos:▫ Conexão com LEDs,
displays de 7 segmentos.▫ Conexão com botões e
interruptores.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 4/25
Hardware mínimo para montagens com
PICs• Circuitos de CLOCK.
▫ Circuito RC: proporciona baixo custo, masestabilidade também baixa. Permite obter uma
saida de frequencia F/4 no terminalOSC2/CLKOUT.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 5/25
Hardware mínimo para montagens com
PICs• Circuitos de CLOCK.▫ Circuitos com cristal de Quartzo: melhora a
estabilidade (3 configurações): LP (baixo consumo), de 0 a 200 kHz; XT, de 200 kHz a 4 MHz; HS (alta velocidade), de 4 MHz a 48 MHz.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 6/25
Hardware mínimo para montagens com
PICs• Para a interconexão de periféricos é necessário
consultar as características de hardware dasportas.▫ Resistência de pull-up da porta B, configurável por
software: port_b_pullups(true).
• Cuidado! Verifique a corrente máxima que umaporta pode entregar/absorver.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 7/25
Exemplos de Periféricos• Periféricos básicos de saída:LEDs e display de 7 segmentos.
▫ Como conectamos mais de umdisplay?
▫ Quantos displays podemosconectar?
▫ O que acontece com oconsumo?
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 8/25
Exemplos de Periféricos
• Periféricos básicos deentrada: botões einterruptores.▫
Eliminação dedebounce viasoftware.(implementação de
filtros de tempo).▫ Eliminação dedebounce viahardware.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 9/25
Exemplos de Periféricos
• Periféricos básicos de entrada: tecladomatricial.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 10/25
Exemplos de Periféricos
• Periféricos básicos de entrada: Relés e áudio.
•
Para gerar um som é necessáriogerar um sinal de onda quadradade período apropriado.• O capacitor filtra a parte
contínua e gera o tom desejado.Aplicações com pequenos relés umúnico transistor bipolar é suficiente.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 11/25
Exemplos de Periféricos
• Periféricos básicos de entrada: motores DC e depasso
• A velocidade do motor DC écontrolada com PWM e pelocircuito integrado 293D.•
A polaridade determina o sentido derotação
Motor de passo com CI decontrole e diodos.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 12/25
Leitura de Teclas e Teclados• Princípio básico:
▫ Observar o nível lógico associado a uma TECLA ou BOTÃO.▫ Se a TECLA ou BOTAO estiver pressionada, teremos um
determinado NÍVEL, caso contrario, teremos o NÍVELoposto.
•
Surgem alguns problemas:▫ Pressionar teclas, geram pulsos de RUÍDO.▫ Provocam duvida ao MCU, quantas vezes a TECLA foi
pressionada.▫ O software que esta dentro do MCU pode interpretar que a
mesma TECLA foi pressionada mais de uma vez.▫ Esse problema e conhecido como CONTACT BOUNCE.
• Tratamento do problema:▫ Por Hardware: resistores, capacitores e latches.▫ Por Software: implementação de filtros dentro do
programa.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 13/25
Leitura de Teclas e Teclados
• Falando mais sobre BOUNCE:▫ A utilização de chaves e botões como entrada de
circuitos digitais pode ocasionar uma série deproblemas. Os contatos metálicos existentes emtais elementos provocam diversas transições acada acionamento, podendo o sinal oriundo variarentre os níveis lógicos até a estabilização. Essefenômeno é reconhecido como CONTACT BOUNCE,e o ruído ocasionado pela abertura ou fechamentode contatos pode durar desde algunsmicrosegundos, até alguns milisegundos,dependendo da qualidade do contato.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 14/25
Leitura de Teclas e Teclados• Falando mais sobre BOUNCE:
▫ Isto pode ser observado com um osciloscópio digital.▫ A duração dos ruídos geralmente na ordem demilissegundos.
▫ Alguns milissegundos são uma eternidade para um
microprocessador.▫ Assim, mesmo pressionando apenas uma vez um
botão, o programa pode interpretar vários apertos.▫ Isso pode ser grave dependendo da aplicação!▫ DEBOUNCING significa uma técnica que nos dê certeza
de que o botão apertado apenas uma vez sejainterpretado corretamente como apenas UM aperto debotão.
▫ Por outro lado, se apertarmos o mesmo botão por 5vezes seguidas em um segundo, o nosso programa tem
de conseguir ler corretamente 5 apertos de botão !
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 15/25
Leitura de Teclas e Teclados
• Programa que implementa debounce:if (!botao_UP) // O botão UP está pressionado ?
{ // sim,if (!(bt_UP_press)) // O botão UP já foi tratato ?{ // não.
if (filtro0 !=0) // Fim do filtro do botão UP ?
filtro0--; // Não, então decrementa o filtroelse { // Sim, Faz a ação do botão
bt_UP_press = 1; // Marca que o botão está pressionadocontador ++; // Ação realizada ao precionar botão.}
}}
}else{ // botão 0 liberado
filtro0 = t_filtro; // inicia o filtro do botão 0bt_UP_press = 0; // marca que o botão foi liberado
}}
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 16/25
Leitura de Teclas e Teclados
• Número elevado de Teclas e Botões:▫ Demanda técnica complementar.▫ Numero de pinos do MCU reduzido → Otimização
do número de pinos usado na aplicação.• Solução:
▫ Agrupar as teclas em uma estrutura de MATRIZ.▫ Leitura por meio de um sistema de varredura de
colunas.▫ Uma coluna por vez. Uma apos a outra.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 17/25
Leitura de Teclas e Teclados
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 18/25
Apresentação de saídas em displays de
7 segmentos• Duas opções:▫ Displays de 7 segmentos▫ Displays de cristal líquido (módulos LCDs)
• Displays de 7 segmentos:▫ Composto por 8 LEDs (7 segmentos para o numero + 1 ponto)▫ Tipos: anodo comum ou catodo comum.▫ Mais adequados as aplicações que exigem VISIBILIDADE.▫ Elevado consumo de energia (media ~ 10mA por segmento).▫ Baixo custo.
• Displays LCDs:▫
Exibe informações alfa-numéricas (caracteres).▫ Vários tipos: com ou sem backlight; uma ou mais linhas decaracteres, etc.
▫ Adequados a aplicações de pequena visibilidade. Ângulo deobservação limitado. Dependência de iluminação externa.
▫ Baixo consumo de energia (da ordem de 1 mA).▫
Elevado custo.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 19/25
Apresentação de saídas em displays de
7 segmentos• Implementado em software através de uma tabela deconstantes na memória de programa.
• Exemplo:
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 20/25
Apresentação de saídas em displays de
7 segmentos• Atenção! Observar tipo de display: anodo oucatodo comum.
• Nos displays de cátodo comum, o cátodo
comum deve ser ligado ao terra e para que osleds acendam, é preciso aplicar uma tensãopositiva aos respectivos ânodos (1 lógico ). Osdisplays de ânodo comum apresentam o ânodocomum ligado a +5V e acendem quando seaplica um nível lógico zero aos cátodosrespectivos.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 21/25
Apresentação de saídas em displays de
7 segmentos• Atenção! Observar tipo de display: anodo ou catodo comum.• Como ligar mais de um display de 7 segmentos?
▫ Varredura de displays.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 22/25
Prática 3 – Display de 7 segmentos
• Objetivos:▫ Familiarizar-se com a programação em linguagem
C do PIC;▫ Familiarizar-se com configurações de delays e
timers de um microcontrolador;▫ Familiarizar-se com o uso de displays de 7
segmentos e contadores.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 23/25
Prática 3 – Display de 7 segmentos
• Conhecimentos básicos necessários:▫ Tudo que foi visto nas aulas práticas anteriores;▫ Operadores para criação de expressões lógicas e
aritméticas;▫ Criação de tabelas de constantes;▫ Diretivas de configuração para funções de atraso
(delay);▫
Diretivas de configuração do PIC;▫ Circuitos Contadores.
5/16/2018 3708-AULA_6_-__INTERFACES_DE_ENTRADA_E_SA DA - slidepdf.com
http://slidepdf.com/reader/full/3708-aula6-interfacesdeentradaesaida 24/25
Prática 3 – Display de 7 segmentos• Tarefas:• 1) Abra o arquivo contador_hexadecimal.c da aula
6 no ambiente de desenvolvimento e compile.• 2) Monte o circuito (próximo slide) no Proteus e
teste o programa.• 3) Implemente um botão de RESET para o contador.• 4) Altere a lógica do programa para que o contador
conte de 0 a 9 de forma automática (ainda com umbotão UP e outro DOWN), usando o comando
delay_ms(valor_inteiro) para que você possaobservar a contagem.• 5) Configure um timer do 18F4550 para parar a
contagem quando passar 20 segundos após umRESET.