Ir ao conteúdo
  • Cadastre-se

Ajuda programa PIC para Chave Alavanca


Ir à solução Resolvido por tcherobin,

Posts recomendados

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.
 
 

 

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

@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. =/   

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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.

 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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!