• Welcome to LusoRobótica - Robótica em Português.
 

Mux

Started by andnobre, 11 de June de 2015, 13:00

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

andnobre

Boa tarde
tenho aqui uma duvida em relação  aos mux ou demux

eu tenho um conjunto de leds que quero ativer vamos imaginar 26 e uso um arduino nano e queria ativa-los.

exemplo:

DDRD = B11111111;              //set PORTD (digital 7~0) to outputs
  PORTD = B00000000;       // off  so para exemplo

queria saber como eu faço para activar a saída 17 se o máximo é 7 ou estou a fazer uma grande confusão. se eu tenho de activar sempre 4 PORTs do arduino.

tenho de transformar alguma coisa?
para hex e depois enviar ???

alguém pode dar uma explicação?

muito obrigado

dvdt

Secalhar mandas o numero 17 em binario para ligares o led 17 ja que o bit zero nao esta bgado a nada. Compreendes um funcionamento de um mux? Não estou a ver bem o que estas a fazer ( o problema pode ser meu) mas parece que o que tu queres é um decoder de binario com um barramento de 8 bits?
Engenharia Electrotécnica e Computadores (IST)
Analyst in a Big 4

metRo_

Quote from: andnobre on 11 de June de 2015, 13:00
Boa tarde
tenho aqui uma duvida em relação  aos mux ou demux

eu tenho um conjunto de leds que quero ativer vamos imaginar 26 e uso um arduino nano e queria ativa-los.

exemplo:

DDRD = B11111111;              //set PORTD (digital 7~0) to outputs
  PORTD = B00000000;       // off  so para exemplo

queria saber como eu faço para activar a saída 17 se o máximo é 7 ou estou a fazer uma grande confusão. se eu tenho de activar sempre 4 PORTs do arduino.

tenho de transformar alguma coisa?
para hex e depois enviar ???

alguém pode dar uma explicação?

muito obrigado

que mux estas a usar?

andnobre

#3
cd74hc4067 este é o mux

eu quero ligar o led 17 como eu falo se tenho so 8 bits
PORTB = B01001000; isto quer dizer que activei a posição 7 do PORT B???  numero
o mux activa 4 entradas.
eu tenho de ter sempre 4 portas do meu arduino so para activar as posições do meu mux?

senso

Mas se é para ligar leds porque é que não usas dois 595's?
Avr fanboy

metRo_

Quote from: andnobre on 11 de June de 2015, 14:21
cd74hc4067 este é o mux

Primeiro so' consegues controlar ate 16leds, depois tens 4 bits para controlar essas 16 saidas. A tabela na pagina 2 da datasheet e' bem explicita: http://www.ti.com/lit/ds/symlink/cd74hc4067.pdf

Considerando que tens:

PORTB.0 - S0
PORTB.1 - S1
PORTB.2 - S2
PORTB.3 - S3

Quando fizeres PORTD = B00001111 tens o led ligado ao pino I15 do mux igual a entrada, se fizeres PORTD = B00000101 tens o led ligado ao pino I5 do mux igual a entrada. Se quiseres ligar os leds todos tens que fazer um for de 0 (B00000000) a 15 (B00001111) com a entrada do MUX (COMMON INPUT/OUTPUT) = 1.

Se quisers ter o led 4 desligado fazes o mesmo mas quando no for estiver no led 4 colocas a a entrada do MUX (COMMON INPUT/OUTPUT) = 0.

andnobre

#6
mas para isso tenho de ter sempre 4 portas do arduino para trabalhar com o mix

Muito obrigado a todos pela explicação.

senso

Tanto erro por metro quadrado.
Com um par de 595's só precisas de 3 pinos..
Avr fanboy

metRo_

Quote from: andnobre on 11 de June de 2015, 14:49
mas para isso tenho de ter sempre 4 postas do arduino para trabalhar com o mix

Muito obrigado a todos pela explicação.

Ate tens que ter 5, 4 para o address e 1 para o estado da saida.

Se fizeres como o senso te disse, so' precisas de 3 pinos.

senso

É que com o multiplexer a próxima duvida é como é que acende meia duzia de leds ao mesmo tempo  ::)
Avr fanboy

dvdt

Pois tambem nao estou bem a perceber o porque de um mux e nao um shiftregister com um clock, data e latch mete os leds que quiser (isto em teoria pois a partir de uma altura o refreshrate fica horrivel)
Engenharia Electrotécnica e Computadores (IST)
Analyst in a Big 4

andnobre

ja resolvi tudo obrigado pela explicações de todos.

jm_araujo

E como fizeste?