Ir ao conteúdo
  • Cadastre-se

Ajuda: Teclado com divisor resistivo no PIC 12F675


Visitante

Posts recomendados

Ola Pessoal do fórum!

A um tempo atrás comecei os estudar os microcontroladores da família Pic, comecei com uma apostila básica sobre o MikroC, mas agora estou querendo partir para os periféricos do PIC (neste caso o 12f675), eu queria fazer um programa simples (para fins didáticos) onde eu utilizaria o conversor AD do Pic para Ler um teclado que utiliza o principio dos divisores de tensão, depois de acordo com a tecla pressionada o pic jogaria por outro pino uma serie de pulso que entrariam no clock de um CI contador (74390 por exemplo).

http://forum.clubedohardware.com.br/attachment.php?attachmentid=93382&d=1368880824

(o valor dos resistores eu vou ter que variar de acordo com o numero de teclas que vou utilizar, mas acho que com 4 dá para aprender...rsrs)

O problema esta na programação do teclado, eu acho que o Pic captar a diferença entra a tensão aplicada e a de referencia, pois se eu comparar a tensão recebida pelo Pic a um valor fixo eu estou sujeito a variações na rede e ruido assim o valor nunca vai ser igual. Sera que alguém poderia me ajudar nessa parte da programação do teclado (sugestões, exemplos, etc. )?? Alguém já fez isso antes? Se possível também gostaria de uma ajuda na parte da configuração dos registradores "Adcon0", "ANSEL" e "CMCON". Exemplos de programas que usem o conversor AD do Pic 12f675 também são Bem vindos!

Grato Luiz Gustavo

post-1046475-13884965816162_thumb.png

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Caro,

Ja realizei o mesmo teclado, com varias teclas e a ideia funciona, quanto a variação da rede, utilizo alguns artificios úteis...um capacitor da ordem de 100nF ligado ao pino do PIC que junto com a matriz de resistores forma um filtro passa baixas, segundo faço uma rotina de media móvel escaneando varias vezes a mesma entrada e calculo a media das leituras, assim comparo nao com um valor fixo...mas com limites superior e inferior (histerese) para cada tecla, assim meu software tambe se adapta a possiveis variações.

Veja os registradores eu configuro da seguinte forma baseado em seu esquema:

ANSEL 0x01; //AN0 como entrada analogica

ADCON0 0xC1; //conversor AD ligado com clock interno

CMCON 0x07; //desliga comparadores.

no mesmo ADCON0 imponho '1' ao bit GO/DONE e monitor ate que ele caia a '0' com isso faço a leitura do resultado numerico no par ADRESH:ADRESL

Boa sorte, duvidas pergunte!

Link para o comentário
Compartilhar em outros sites

Ola Felipe_eletronic.

Muito obrigado pela resposta, foi de muita ajuda... Já consegui desenvolver o programa corretamente, e obrigado pelas dicas, fiz como você falou e lí 3 vezes o valor do Conversor AD em intervalos de 30ms e tirei a media (fica muito mais fácil fazer isso quando se programa em C) calculei os valores de tensão do divisor resistivo converti para binário e na hora de fazer a analise comparei com uma margem de tanto para mais e tanto para menos (ex: valor entre 180 e 210 correspondem a tecla 1, e assim por diante), funcionou perfeitamente. Muito obrigado mesmo!

Caso alguém solicite eu posto o programa aqui, caso contrario o tópico pode ser dado por encerrado...

Grato Luiz Gustavo.

Link para o comentário
Compartilhar em outros sites

Você já tentou usar o comparador de tensão ao invés do conversor AD?

É uma boa alternativa ao uso do A/D, porém esta funciona bem apenas para um nível de tensão, no caso do teclado cada tecla pressionada corresponderia a um range definido de tensão. Com o comparador da pra se fazer sim, modificando a referencia dele e depois comparando com o teclado e 'pollando' descobre qual deu um valor diferente. Por outro lado usar o A/D oferece flexibilidade, a possibilidade de filtragem de amostras via software e o uso de muitas teclas.

Abs.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!