Inicialmente eu quero agradecer aos garagistas pela boa vontade e consiencia em compartilhar o conhecimento estou tentando imprimir no LCD e porta serial o sinal proveniente de um teclado membrana 4x4 acoplado ao arduino DUE bom tudo que eu acho que devia ser simples no DUE não e assim.

Eu consigo imprimir com a seguinte condição apertando o numero 1 ,10 vezes, o numero dois 30 vezes e assim por diante.

Nota eu instalei o codigo da biblioteca de exemplos Keypad / Custom ele imprime normal eu copio o o mesmo codigo para dentro do meu programa vira essa anarquia, alguem poderia por favor me ensinar como corrigir esse problema para que possa continuar com meu desenvolvimento.

O codigo que esta em desenvolvimento esta em anexo no arquivo 1

Exibições: 896

Anexos

As respostas para este tópico estão encerradas.

Respostas a este tópico

Sérgio, suas colocações estão gerando dúvidas.

"Instalando apenas esse codigo, a mesma montagem funciona perfeitamente. Transferi esse codigo para meu programa o mesmo codigo ja não funciona mais."

Boa tarde qual a Duvida? apresentei o codigo da biblioteca do arduino que funciona corretamente quando ele esta instalado sozinho, apenas o codigo de exemplo. Ai quando eu uso esse mesmo codigo do exemplo incorporado ao meu codigo gera o erro que deu origem a esse topico que estamos tentando resolver?

Você informou que o Keypad esta funcionando normalmente, quando usa o Sketch de exemplo. 

E o sketch (exclusivo) do LCD? Esta funcionando normal também? 

Boa noite colega Jose, funciona apenas o Sketch do exemplo o meu codigo sitado pelo colega com exclusivo do LCD não funciona corretamente apresenta aquela anomalia que e o centro de nossa discussão.

Sérgio, 

Faça um programa de teste somente do LCD e me informe se esta funcionando corretamente. 

\Bom dia colegas com o teste solicitado pelo colega João tambem respondi a solicitação do colega porque o programa funcionou o teclado perfeitamente.

E obrigatório a utilização de resistores PUCH/B na ligação do teclado membrana com o arduino DUE.

Faça o seguinte teste:

Comente somente a linha 93 - usb.Task(); e faça o upload do código.

Veja se o problema persiste com seu KeyPad ou se ele volta a se comportar normalmente. Nos informe o que acontece nesse caso.

Bom dia colegas conforme me solicitou comentei apenas a linha 93 do codigo:  usb.Task(); o resultado foi o seguinte o teclado passou a funcionar perfeitamente imprime todas as teclas tanto no serial como no LCD, e o leitor de código de barras parou de funcionar totalmente não da mais sinal nenhum.

De fato o leitor pararia, já que a linha 93 é a tarefa responsável pelo seu funcionamento.

Bom, então agora sabemos o que pode estar causando o problema.

Já verificou quanto ao comportamento dessa Task ? Quanto tempo essa tarefa (usb.Task()) permanece em execução após inicializada? Se ela trava seu loop e impede a verificação do keypad ?

Tarefa()

Descrição

Polls Task () conectaram dispositivos usb para atualizações de seus status.

NB: Se não houver atividade em um dispositivo USB conectado, a tarefa () bloqueará todas as outras chamadas por intervalos de 5 segundos.

É a tradução dos comentários da Task na biblioteca ?

Acredito que o problema seja por conta desse bloqueio que a Task causa. Enquanto ela estiver em execução, ao apertar alguma tecla do keypad, nada acontecerá pois seu código não passará pela linha 84.

Bom desse modo como eu crio um função auxiliar para bloquear o task por exemplo: quando eu apertar (#) broqueio o task e passo a ter acesso ao teclado e possivel fazer isso?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço