LusoRobótica - Robótica em Português

Electrónica => Componentes Genéricos => Tópico iniciado por: Kristey em 08 de Agosto de 2014, 13:29

Título: bit para decimal
Enviado por: Kristey em 08 de Agosto de 2014, 13:29
Boas sei que existem Ci's que fazem o descodificação de bits para os visores de sete segmentos.

O que gostava de saber é se existe algum Ci para que possa ligar a um dip switch de 4 valores e que ele diga ao uC o número em decimal.
Porque assim poupança 4 portas i/o para ler os pinos do dip switch 1 a 1.
Posso usar um multiplexer mas neste caso precisava de pinos de selecção na mesma logo ia dar ao mesmo.
Título: Re: bit para decimal
Enviado por: senso em 08 de Agosto de 2014, 13:35
E como é que um dip switch diz ao micro o valor em decimal com menos que 4 pinos?
O que podes fazer é usar uma entrada analógica e cada botão tem um peso diferente, assim é só ler a adc e ver por onde anda o valor.
Título: Re: bit para decimal
Enviado por: thx1011 em 08 de Agosto de 2014, 14:27
Podes utilizar um PISO -> Paralel IN / Serial Out como o 75HC589 ou o 74HC166...

Cada dip liga a um pino do Paralel in, e quando queres ler dás clock ao chip e lês do Serial out um a um/bit a bit o estado dos interruptores....
Título: Re: bit para decimal
Enviado por: jm_araujo em 08 de Agosto de 2014, 14:36
Eu gosto da solução analógica, muito usada em produtos comerciais (comandos de fio de leitores mp3 e paineis de controlo de autorádios e TVs por exemplo).
Título: Re: bit para decimal
Enviado por: dropes em 08 de Agosto de 2014, 14:43
É uma boa solução, ter uma leitura de 16 valores analógicos nem é problemático o ruído.
Agora passar de binário para decimal implicava ter 15 entradas, há quem faça o inverso, e usar um protocolo mais um IC dedicado só para se pouparem 2 entradas é descabido.
Título: Re: bit para decimal
Enviado por: StarRider em 08 de Agosto de 2014, 15:18
Boas,

Usas um I2C Port Expander (TCA9554PWR) ... gastas 2 IOs mas ficas com mais 16 (ou 8 ), e poder
ler/escrever e reg destes IOs por I2C, logo é decimal por natureza.

Se não tiveres portas I2C livres no teu MCU podes usar bitbang I2C, funciona 5 estrelas.

Abraços,
PA
Título: Re: bit para decimal
Enviado por: Kristey em 08 de Agosto de 2014, 22:33
Penso que nao me expliquei correctamente.
Tenho um circuito que vai ter um dip_switch para poder escolher o numero do modulo.
Esse mesmo dip vai estar ligado a um 74ls47 para mostrar num visor de 7 segmentos.
Mas para o modulo "saber qual o endereço" ou ligo cada "bit" ao uC (4 pinos), e uso uma função para saber que o valor 0010 é o modulo 2, ou então poderia existir um Ci qualquer que me desse o valor em decimal do binario que la fosse ligado.
Neste caso por i2c como foi sugerido, so poupo 2 pinos, mas este ensinamento daria para projectos futuros.
(https://imagizer.imageshack.us/v2/895x411q90/538/Ql7hfW.png)
Título: Re: bit para decimal
Enviado por: senso em 08 de Agosto de 2014, 23:02
E uma escada de resistencias R-2R nessas saidas ligadas a um pino analógico faz exactamente o que tu queres!
Em arduinês  :-X

http://tronixstuff.com/2012/02/29/tutorial-analog-input-for-multiple-buttons-part-two/ (http://tronixstuff.com/2012/02/29/tutorial-analog-input-for-multiple-buttons-part-two/)
Título: Re: bit para decimal
Enviado por: StarRider em 09 de Agosto de 2014, 02:26
Boas,

Sim, um divisor de tensão em cascata, dá até para aproveitar as pull-down que já existem no circuito.

Abraços,
PA
Título: Re: bit para decimal
Enviado por: Kristey em 10 de Agosto de 2014, 01:15
E uma escada de resistencias R-2R nessas saidas ligadas a um pino analógico faz exactamente o que tu queres!
Em arduinês  :-X

http://tronixstuff.com/2012/02/29/tutorial-analog-input-for-multiple-buttons-part-two/ (http://tronixstuff.com/2012/02/29/tutorial-analog-input-for-multiple-buttons-part-two/)
Já tinha pensado nisso senso, a minha questão prende-se com aquele "range" que existe de nivel para nivel.
Será seguro para a aplicação que é (o meu ignitor) ter um metodo destes?
Título: Re: bit para decimal
Enviado por: jm_araujo em 10 de Agosto de 2014, 02:24
Estás assim tão limitado de pinos que precises de 3 extra?
Título: Re: bit para decimal
Enviado por: Kristey em 10 de Agosto de 2014, 21:56
(se não me falham as contas)
Modulo de ignição:
-transmissor nRF905 são 9 pinos
-1 para cada foguete (6 pinos)
-leds (3 pinos)
-visor 7 seg/dip switch

Modulo de controlo:
(ainda estou pior de pinos porque quero meter um LCD Graphic (http://www.ebay.com/itm/5V-12864-LCD-Display-Module-128x64-Dots-Graphic-Matrix-LCD-Blue-Backlight-/200940399471?pt=LH_DefaultDomain_0&hash=item2ec8fb2b6f) )
-12 toggles
-7 push buttons
-transmissor nRF905 são 9 pinos
-leds (4 ou 5 pinos)
Título: Re: bit para decimal
Enviado por: senso em 10 de Agosto de 2014, 22:13
Porque é que não usas 595's para os leds e para os relés(juntamente com um ULN2806), são 25 centimos cada um em soic.
Título: Re: bit para decimal
Enviado por: LuísR.A. em 11 de Agosto de 2014, 01:48
Porque é que não usas 595's para os leds e para os relés(juntamente com um ULN2806), são 25 centimos cada um em soic.

Ai esta uma ideia, 3pins por cada 595 se nao me engano e muitos outputs à disposição
Título: Re: bit para decimal
Enviado por: Kristey em 11 de Agosto de 2014, 11:29
Descartei estas hipoteses porque a primeira vez que tentei algo do genero foi por i2c, e o circuito integrado nesse caso tinha uma caracteristica que era "inicio a 1".
E entao deixei de pensar nisso.

Vou ver esses.

Ja agora os ULN2806 que sugeres são diodos supressores ou os transistores para activação dos reles?
É que nas datasheets que eu ando a ver ha "arrays das duas coisas" com essa referencia.
Título: Re: bit para decimal
Enviado por: senso em 11 de Agosto de 2014, 18:35
São transistores, em colector aberto, e com diodos de clamping, que podes ou não usar.
Ou a opção dois em um, que é basicamente shift-register mais os diodos, ou melhor mosfets canal N, TPIC6B595, existem em 3 sabores, A, B e C, conforme a corrente máxima, e á os SPIC, os TPIC é da TI, o SPIC é da Stm se não estou em erro, tudo vai dar ao mesmo, mas os pin-outs são diferentes.
Título: Re: bit para decimal
Enviado por: Kristey em 11 de Agosto de 2014, 21:02
Ja tinha posto os mosfets de lado pela sua "fragilidade electromgnetica"...
Vou observar esse array de transistores, eu estava a pensar meter um individual de qualquer das maneiras, pelo menos assim fica tudo mais junto e pequeno.
Título: Re: bit para decimal
Enviado por: senso em 11 de Agosto de 2014, 22:14
Não sei como é que metes 8 transistores mais pequenos que um chip soic, nem que sejam transistors em encapsulamento sot-232.
Fragilidade eletromagnética?
Explica lá isso melhor, então os milhões de fontes comutadas por este mundo fora, é tudo com mosfets e nenhum se queixa de ter uma bobine ou um transformador á saida.
Título: Re: bit para decimal
Enviado por: LuísR.A. em 11 de Agosto de 2014, 22:28
Não sei como é que metes 8 transistores mais pequenos que um chip soic, nem que sejam transistors em encapsulamento sot-232.
Fragilidade eletromagnética?
Explica lá isso melhor, então os milhões de fontes comutadas por este mundo fora, é tudo com mosfets e nenhum se queixa de ter uma bobine ou um transformador á saida.

É porque supostamente como os mosfets sao controlados por voltagem e os transistors bipolares sao por corrente (apesar de ligarem a 0,5V)
Título: Re: bit para decimal
Enviado por: Kristey em 12 de Agosto de 2014, 02:34
Ja estamos a misturar assuntos. ahaha
Lembras-te quando o jm_araujo me explicou porque devo usar transistores e não mosfets, no topico do ignitor?
Era a isso que me referia.