segunda-feira, 3 de dezembro de 2012
LCD Keypad Shield + Simulino
Vamos simular o LCD Keypad Shield?
Tutorial no Youtube: http://youtu.be/Xzee937xzaE
[DOWNLOAD]
Hoje irei demonstrar mais um modo para simularmos nossos queridos projetos, e em especial aquele shield bem conhecido por nós hobbistas das plataforma Arduino, que é o KEYPAD SHIELD, aquele que possui
um display LCD 16x2 e alguns botões.
Segue imagem do mesmo abaixo:
Para quem explorou seu esquema elétrico, pode perceber que ele é bastante otimizado. Proporcionando uma boa otimização quanto à quantidade de pinos necessárias para seu funcionamento.
Observando apenas o conjunto do Display LCD, são utilizados apenas 6 pinos, sendo eles o sinal de EN, RS, D7,D6,D5 e D4. Ou seja, ele utiliza 2 pinos para o controle padrão destes displays ( EN e RS), e mais 4 pinos para o envio de dados e comandos, que são: D7, D6, D5 e D4.
Agora para o conjunto de botões, temos uma implementação bem interessante, pois para a maioria deles é utilizado uma cadeia de divisores de tensão, para assim permitir que seja utilizado apenas "1" pino da nossa placa do Arduino. Ou seja, ao invés de utilizarmos 5 pinos para controlar 5 botões, são necessários apenas 1 pino, tendo como premissa que não estaremos lendo um sinal digital e sim um sinal analógico para podermos indentificar qual foi o botão pressionado.
Mas agora alguém me pergunta: "Mas não existem 6 botões?" Responderei: "Sim meu caro Sherlock Holmes!rs", o que acontece é que o Botão de Reset não pode ser adicionado à estes divisores de tensão, pois ele precisa ir diretamente acoplado no pino de reset, por isso ele se encontra em um pino separado.
Vendo o esquema elétrico, podemos observar isto:
Vamos simular?
Como este shield é acoplado em nossas placas do Arduino, vamos nos utilizar do nosso simulador do Arduino, o SIMULINO, e dentro deste projeto eu adicionei mais um bloco de circuitos referentes ao Keypad Shield, já com seus botões de controle e LCD.
Segue um exemplo da ligação entre as placas.:
Onde são interconectados os sinais de terra (Gnd), Reset, AN0 (sinal analógico dos botões), e os sinais do Display LCD (EN,RS,D7,D6,D5 e D4).
Foi adicionado um Terminal Serial, para que sejam exibidas nossas mensagens de debug. Ele não precisa ser retirado, e funciona como nosso debug utilizado através da Serial Virtual da nossa IDE (ou plataforma de programação ).
Dentro do Keypad Shield, nos deparamos com o seguinte esquema:
Tendo a disposição dos botões parecidas com a que utilizamos em nosso shield, para ficar bem familiar.
Aqui você só precisa controlar conforme o shield, apertando os botões e verificando o seu funcionamento.
;-----------------------------------------------------------------------------------
Observação:
Existe um possível "bug" no simulador Proteus, mas tenham calma, é fácil para contorná-lo.
Ainda estou verificando se acontece em outros microcomputadores ou se é apenas no meu.
O que acontece é que quando iniciamos o simulador, devemos estar com o bloco do Keypad Shield aberto, ou seja, devemos estar dentro da planta do shield, tendo tal visão:
Pois se o simulador for aberto fora deste bloco, aparentemente a simulação referente ao Display LCD não funciona de modo à liga-lo. Aparentemente ele não liga se não estivermos vendo ele.
Então é simples, basta iniciar a simulação com esta janela aberta que tudo irá funcionar.
;-----------------------------------------------------------------------------------
Logo estarei fazendo um vídeo para mostrar como fica a simulação.
Os arquivos estão dividos em pastas, com os esquemas e a imagem do Shield.
Dentro da pasta dos fontes (source), foram adicionados dois projetos: um para as placas do Arduino com o compilador padrão dele, onde os arquivos terminam com *.ino , e outro para as placas do Chipkit, pois para o compilador deles a extensão do arquivo é o *.pde .
Observem bem antes de abri-los. ^^
;-----------------------------------------------------------------------------------
Observação:
Dentro do código fonte, foram adicionados 3 tipos de configurações de pinos para o shield,
porque já me deparei com 3 tipos de pinagens diferentes.
Caso o shield não funcione da primeira vez, tenha calma, provavelmente você precisará
verificar qual é a configuração correta para o seu shield.
As mais utilizadas já estão dentro do arquivo fonte.
;-----------------------------------------------------------------------------------
Foram adicionados os *.hex e o *.elf, para quem quiser apenas simular sem compilar, e quem sabe fazer o disassembler do projeto.
Estamos esperando seus comentários. Não deixem de comentar.
Até o próximo post.
[DOWNLOAD]
0 comentários:
Postar um comentário