Página 1 de 2

[RESOLVIDO] 2 Leds e 1 botão no mesmo pino é possível ?

MensagemEnviado: 07 Mai 2012 01:36
por Andre_Cruz
Pessoal estou precisando acionar dois leds 5mm e ler o estado de um push bottom no mesmo pino de um PIC.
Acionar os dois leds já usei, mas além de acionar os leds ler o botão não consigo ver uma solução em hardware para fazer isso funcionar.

Primeiramente gostaria de saber se é possível.
Abraço

MensagemEnviado: 07 Mai 2012 07:30
por FabioSom12
Até pode, mas só poderá ler o botão com o led apagado (ou só aceso). O segundo led nem sei como acender.

Uma saída seria o acionamento do led com um sinal de onda quadrado, faz com um periodo de uns 1ms por ex.
Vc acende o led por 500us, desliga, seta a porta como entrada e faz a leitura do botão.

No programa a condição pra entender o sinal do botão vai ser um "and" com o estado do led invertido.

Coloca um resistor para o sinal do botão não entrar em curto quando a porta estiver como saída.
O põe um diodo para o botão qdo acionado não apagar o led (ou acender).


É meio estranho tudo isso... não da pra por ppi, ci de logica (74hcxx) ou um pic maior?
Dá uma olhada no 74HC164 é um shift register, converte serial (2 ou 3 entradas) em paralelo (8 bits).

MensagemEnviado: 07 Mai 2012 13:15
por marcelo campos
caramba! isto que é economia

MensagemEnviado: 07 Mai 2012 13:59
por Andre_Cruz
FabioSom12,

Estou com essa limitação de acionar o segundo led.
Quanto a usar um 74HCxx ou um PIC maior é o que eu quero evitar.

Marcelo,

A ideia é essa mesmo economizar mas esta difícil encontrar a solução.

Valew

MensagemEnviado: 07 Mai 2012 14:23
por xultz
Cara, já liguei um led e um botão numa GPIO e ficou filé, agora dois leds o bicho pega...

MensagemEnviado: 07 Mai 2012 14:56
por Andre_Cruz
Xults,

É o bicho ta pegando kkkk !

MensagemEnviado: 07 Mai 2012 15:29
por chrdcv
Imagem

Considerando um pino de I/O e o mesmo possuindo um pull-up interno:

1). Ligar LED high side: configurar pino como saída em L
2). Ligar LED low side: configurar pino como saída em H
3). Ler push button: configurar pino como entrada, habilitar pull-up e ler o pino.

Considerações:
1). O primeiro resistor limita a corrente nos LEDs, o segundo resistor serve apenas para que quando alguns dos LEDs tiver habilitado, a corrente não flua para o GND quando o push-button for premido, portanto ao calcular o valor do resistor de limitador dos LEDs, faça o outro resistor bem maior que ele, mas bem menor que o "resistor de pull-up" interno do uC.

Putz está errado!

MensagemEnviado: 07 Mai 2012 15:47
por ze
chr vai queimar os leds.
andre diz como controlou os 2 leds. quiçá (quiçá) se usares um canal ad...

MensagemEnviado: 07 Mai 2012 15:54
por Andre_Cruz
Imagem

MensagemEnviado: 07 Mai 2012 15:59
por chrdcv
lellis escreveu:chr vai queimar os leds.
andre diz como controlou os 2 leds. quiçá (quiçá) se usares um canal ad...


Certíssimo, fiz a maior cagada! :oops:

MensagemEnviado: 07 Mai 2012 16:01
por Andre_Cruz
Grande lellis,
Foi assim que eu fiz para acionar os 2 leds no mesmo pino.

Imagem

O tenso esta adicionar o botão nessa história !
Cara tentei usar o CAD pra ler o estado do botão mas não tenho nada de concreto para fazer a montagem e testar.

Estou aberto a sugestões.

Abraço

MensagemEnviado: 07 Mai 2012 16:01
por chrdcv
Andre_Cruz escreveu:Imagem


do pino do uC, insira um resistor de valor alto (4k7) e depois o push-button em série e no outro pino do push button, GND.

MensagemEnviado: 07 Mai 2012 16:06
por xultz
Como que faz para apagar os dois leds? Ao colocar o GPIO como entrada, os dois leds vão acender.

Eu vejo como solução para apagar os dois leds, se colocar uns diodos em série com cada um, de forma que a tensão de junção de um led mais seus diodos fique menor que 5V, porém somando as junções dos dois fique maior que 5V. Assim, com o pino em Hi Z, os leds apagam.
Se colocar um pushbutton no pino, e ele tiver um resistor em série, durante o momento de Hi Z ele pode ser lido, mas se o botão for pressionado, um led vai acender.
É uma solução manquetola, mas funciona. Espera uns 15 minutinhos que vou ali patentear e já volto.

MensagemEnviado: 07 Mai 2012 16:08
por Andre_Cruz
chrdcv,
Você diz assim?

Imagem

MensagemEnviado: 07 Mai 2012 16:14
por chrdcv
Andre_Cruz escreveu:chrdcv,
Você diz assim?

Imagem


Isso, mas verifique o que o xultz postou por último! Ele tem raSgão!