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

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

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

Mensagempor Andre_Cruz » 07 Mai 2012 01:36

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
Editado pela última vez por Andre_Cruz em 12 Mai 2012 17:59, em um total de 1 vez.
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor FabioSom12 » 07 Mai 2012 07:30

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).
FabioSom12
Nibble
 
Mensagens: 94
Registrado em: 26 Nov 2009 14:01

Mensagempor marcelo campos » 07 Mai 2012 13:15

caramba! isto que é economia
"Há 10 tipos de pessoas: os que entendem números binários e os que não entendem..."
marcelo campos
Word
 
Mensagens: 648
Registrado em: 08 Ago 2009 08:37

Mensagempor Andre_Cruz » 07 Mai 2012 13:59

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
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor xultz » 07 Mai 2012 14:23

Cara, já liguei um led e um botão numa GPIO e ficou filé, agora dois leds o bicho pega...
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 » 07 Mai 2012 14:56

Xults,

É o bicho ta pegando kkkk !
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor chrdcv » 07 Mai 2012 15:29

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!
Editado pela última vez por chrdcv em 07 Mai 2012 15:59, em um total de 3 vezes.
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor ze » 07 Mai 2012 15:47

chr vai queimar os leds.
andre diz como controlou os 2 leds. quiçá (quiçá) se usares um canal ad...
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor Andre_Cruz » 07 Mai 2012 15:54

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

Mensagempor chrdcv » 07 Mai 2012 15:59

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:
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor Andre_Cruz » 07 Mai 2012 16:01

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
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor chrdcv » 07 Mai 2012 16:01

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.
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor xultz » 07 Mai 2012 16:06

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.
Editado pela última vez por xultz em 07 Mai 2012 16:11, em um total de 1 vez.
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 » 07 Mai 2012 16:08

chrdcv,
Você diz assim?

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

Mensagempor chrdcv » 07 Mai 2012 16:14

Andre_Cruz escreveu:chrdcv,
Você diz assim?

Imagem


Isso, mas verifique o que o xultz postou por último! Ele tem raSgão!
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Próximo

Voltar para PIC

Quem está online

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

x