Maximização de pino como fazer ???

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Maximização de pino como fazer ???

Mensagempor Andre_Cruz » 15 Out 2009 10:45

Estou utilizando um 12F675 e programando no Hitech.
Uso o pino GPIO0, GPIO1 e GPIO2 para acionar três transistores BC337, gostaria de usar o mesmo pino como entrada para ler o estado de um botão, o software eu sei o que eu devo fazer que é, alternar a configuração do pino hora como saída hora como entrada, mas o hardware não sei como fazer isso.

Por isso peço a ajuda de todos, qualquer ajuda será bem vinda.

Muito obrigado.
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor xultz » 15 Out 2009 11:17

O problema de fazer isso é que quando o sinal que você quer ler estiver em nível alto, vai acionar teu transístor. Se isso não for um problema, é simples, mas se for, vai precisar de um IO expander ou um micro maior.
De qualquer maneira, quando quiser maximizar alguma coisa é só clicar no botão com símbolo de um quadrado, do lado daquele com um X, no canto superior direito da janela.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor Andre_Cruz » 15 Out 2009 11:24

xultz,

Acionar o transistor quando o botão estiver pressionado não é problema na minha aplicação.

Tem como dizer como fazer essa maximização de pino ?

Muito obrigado por responder
Abraço
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor _blackmore_ » 15 Out 2009 12:39

André,

No livro "Conectando o PIC" da editora érica tem exemplo de como fazer o que tu precisa, mas a programação é em assembly e uma teoria para desenvolver o hardware (apesar de não ser algo complexo), o exemplo é para acender um LED e acionar um botão no mesmo pino.
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor vtrx » 15 Out 2009 12:53

André,isso é fácil,mas depende de como está o seu hardware,poste o esquema dos Transistores para poder ver como está polarizando eles.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2240
Registrado em: 20 Abr 2008 21:01

Mensagempor verd » 15 Out 2009 17:31

você quer expandir suas saidas? utilize um 4094!
verd
Byte
 
Mensagens: 262
Registrado em: 28 Ago 2008 10:15

Mensagempor Andre_Cruz » 15 Out 2009 18:32

Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor vtrx » 15 Out 2009 19:23

André,não repare na imagem pois usei a sua mesmo.
O código,se precisar,é em assembler,não sei se em C os tempos vão ficar perfeitos.
http://www.mandeibem.com.br/?cod=1510200919195993340
Avatar do usuário
vtrx
Dword
 
Mensagens: 2240
Registrado em: 20 Abr 2008 21:01

Mensagempor Andre_Cruz » 15 Out 2009 20:17

vtrx,

Não tinha visualizado essa possibilidade de configurar o botão dessa maneira, vou testar qualquer coisa eu uso um PIC com mais I/O.

Agradeço a todos.

Abraço
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor vtrx » 15 Out 2009 20:54

André,dependendo do seu HardWare e Linguagem de programação,voce não precisa de expandir portas ou muito menos um pic 'maior',é só esquantar um pouco a cabeça,no final das contas o resultado será excelente.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2240
Registrado em: 20 Abr 2008 21:01

Mensagempor Sergio38br » 15 Out 2009 21:59

Vc pode configurar um pino como A/D e vendo a tensão sobre o pino saber qual chave esta pressionada.

[ ]`s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor Andre_Cruz » 15 Out 2009 22:07

Sergio38br

Eu aciono 3 leds, GPIO0, GPIO1 e GPIO2.
No pino GPIO3 entra meu sinal.
GPIO4 e GPIO5 esta o cristal de 20 MHz.

Minha idéia era colocar 2 push botom junto com o led, que é rapido, ja efetuar a leitura do A/D é mais lento.

Mas a idéia de usar uma rede R2R com botões e apenas 1 pino é muito boa.

Muito obrigado pela ajuda.
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor _blackmore_ » 15 Out 2009 23:35

pensou em utilizar o oscilador interno do pic?
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor Andre_Cruz » 16 Out 2009 09:53

_blackmore_

Já pensei mas eu necessito do oscilador externo de 20 MHz, porque o software faz bastante conta e com o oscilador interno de 4 MHz não da conta do recado.

VAlew
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor fabim » 16 Out 2009 10:32

Andre, veja bem. Não sei se você conhece a téncnica mais não custa explicar.
Existe uma técnica de der 2 botões em um mesmo pino.

a técnica é simples, vou dar os passos e você da seus pulos com o restante.

Uma porta como entrada pode ler 3 niveis "lógicos".
Sendo 0
Sendo 1
Sendo H/Z.

mais eim ? HZ, não é hertz é do ingreizi High Z, ou alta impedância.

pino do pic.(resistor tipo 10K) (capacitor de 10nF para terra)

Neste arranjo aí, tu vai ter duas chaves.

uma do cap para VDD, e outra em paralelo com o cap.

Como funca ?

continua numa proxima duvida.
Lembre-se o R+C se você setar a porta como saida, colocar este pino como 1 o R+C mai armazenar 5V, e ja colocar o pino como entrada, você vai ler este pino como 1 lógico, mais se o botão a 0 estiver precionado..? ou se o botão a 1 estiver precionado ??

eim eim ?
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x