collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: bit para decimal  (Lida 7819 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
bit para decimal
« 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.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: bit para decimal
« Responder #1 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.
Avr fanboy

Offline thx1011

  • Mini Robot
  • *
  • Mensagens: 80
Re: bit para decimal
« Responder #2 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....

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: bit para decimal
« Responder #3 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).

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.189
Re: bit para decimal
« Responder #4 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.

StarRider

  • Visitante
Re: bit para decimal
« Responder #5 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
« Última modificação: 08 de Agosto de 2014, 15:24 por StarRider »

Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: bit para decimal
« Responder #6 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.


Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: bit para decimal
« Responder #7 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/
Avr fanboy

StarRider

  • Visitante
Re: bit para decimal
« Responder #8 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

Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: bit para decimal
« Responder #9 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/
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?

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: bit para decimal
« Responder #10 em: 10 de Agosto de 2014, 02:24 »
Estás assim tão limitado de pinos que precises de 3 extra?

Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: bit para decimal
« Responder #11 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 )
-12 toggles
-7 push buttons
-transmissor nRF905 são 9 pinos
-leds (4 ou 5 pinos)

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: bit para decimal
« Responder #12 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.
Avr fanboy

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.224
    • Clube de Robotica
Re: bit para decimal
« Responder #13 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
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline Kristey

  • Mini Robot
  • *
  • Mensagens: 783
Re: bit para decimal
« Responder #14 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.
« Última modificação: 11 de Agosto de 2014, 17:40 por Kristey »