Ir ao conteúdo

Ajuda programa PIC para Chave Alavanca


tcherobin

Posts recomendados

Postado

Olá pessoal, 

 

 

Estou montando um cockpit caseiro, para FSX (flight simulator x) e estou utilizando o chip de um teclado usb para emular as teclas, pois como elas já estão configuradas no fsx é mais fácil, até ai tudo certo.
Vou utilizar uma chave de alavanca ON/ON, para algumas teclas, ex: iluminação, ignição, trem de pouso, para dar uma melhor experiência na simulação.
(Chave ON/ON de 3 terminais, o do meio é o negativo e as extremidades é o positivo, então sempre que acionar tanto para cima quanto para baixo ele irá enviar um sinal positivo)
O problema é o seguinte:
Neta chave o sinal fica continuo, (o mesmo que ficar pressionando uma tecla do teclado) mas preciso de apenas um pulso (ideal de 1  a 2 segundos), então pensei em utilizar um pic para fazer isso.
 
Possuo em casa os pic 16F84 e o pic 16F877 e gostaria do programa em assembly pois é o que consigo entender um pouco. 
 
Passo 1: Exemplo do trem de pouso: Ao clicar na tecla G o trem de pouso abaixa. 
como quero fazer:
Ao acionar a chave alavanca para cima, irá enviar o sinal + (5v) contínuo para uma entrada do pic, o programa receberá esse sinal contínuo e enviará um único sinal/pulso de 1 ou 2 segundos para uma saída do pic, nessa saída do pic ligo na entrada do chip do teclado que corresponde a tecla G.
Passo 2: Recolher o trem de pouso:
Ao acionar a mesma chave alavanca, mas desta vez para baixo, fará o mesmo procedimento do passo 1.
 
Espero ter sido claro no que preciso e que alguém possa me ajudar.
 
 

 

Postado
tcherobin

 

 Fiz algo parecido uma vez, vou deixar um link com um circuitinho usando um 12f675 e um 16f84a, vê se é isso mesmo que você precisa, (ta o projeto no mikroC mais o HEX e os arquivos de simulação no proteus)...

 Você tem o proteus ai? Se tiver dá uma simulada no circuito e se for isso mesmo que você quer é só montar, pois o projeto ta praticamente pronto.

Ele da um pulso positivo de aproximadamente 100 mili segundos toda vez que a chave é mudada de posição

ai vai o Link:

http://www.4shared.com/rar/DYjg4ZH1ce/chave_estatica-oneshot.html 

 

 Espero que te ajude com seu projeto.

Grato Luiz Gustavo.

Postado
tcherobin

 

 De nada cara!!!

Mas em fim, era isso mesmo que você precisava? Já montou? Funcionou?

Se tiver mais alguma duvida, ou querer ajuda com a parte pratica é só falar.

 

A)Luiz Gustavo.

Postado

@LuizGBarrio Isso mesmo que preciso, vou aumentar um pouco o tempo. Não testei ele no painel ainda, pois estou esperando chegar as chaves, e outros componentes que comprei no dx.  Agora vou adaptar o código para mais chaves e mais saídas. Outra coisa, você sabe programar em assembly? Se sim, conseguiria passar esse programa para assembly, pois não entendo nada de C. =/   

Postado
tcherobin

 

para o que você precisa, acho que não vale a pena refazer em assembly, instale o MikroC, abra o projeto e onde esta escrito delay_ms(100); você altera o numero 100 pelo valor em mili sengundos de tempo que você quer, por exemplo, se quiser um pulso de meio segundo você coloca, delay_ms(500); depois clica em Build e pronto!!!! valor de tempo alterado. Acho que fica mais fácil para você, apesar que a meu ver 100 mili segundos é um tempo razoável pera o acionamento de uma tecla... Se quer minha sugestão: acho que você deveria montar o projeto do jeito que esta e caso tenha problemas por conta do pulso muito curto, ai sim pensar em alterar a temporização, e não se esqueça que se o pulso for largo demais, o PC pode achar que você esta mantendo a tecla pressionada, dando justamente o problema que você quer evitar.

 

 Espero ter ajudado.

Grato Luiz Gustavo.

Postado

@LuizGBarrio Entendi, vou lhe pedir outra ajuda se não for abusar, como eu não sei programar em C, se eu quiser adicionar mais 1 ou 2 chaves, como ficaria o programa? 
Se puder alterar o programa e adicionar mais uma "chave" acredito que depois eu consiga entender o programa e adicionar quantas mais eu precise (e claro, quantas o pic suportar)... 

Postado

tcherobin

 

 Refiz um código bem simples para duas chaves, também comentei o código inteiro para você (e quem mais quiser conferir) ter um melhor entendimento.

Para usar mais de uma chave basta analisar o estado e criar um flag para indicar ao programa qual é esse estado da chave, assim detectar as mudanças e mandar o pulso de maneira correta... Acho que você não vai ter dificuldade em entender o código e até adicionar mais chaves ao circuito, só que quanto mais chaves, menor sera o tempo de resposta do PIC pois sera necessário fazer mais analises e o PIC analisa cada entrada uma por uma, só que essa analise ele faz em alguns microssegundos, então pode ser praticamente desconsiderado esse retardo a cada chave inserida no programa.

 

 Link do Projeto com duas chaves, simulação e código comentado:

http://www.4shared.com/rar/-dTO7nhwce/16F84A_Chave_estatica-_One_sho.html

 

 Se precisar de mais é ajuda é só falar.

Grato Luiz Gustavo.

 

 

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...