postagem fixa

Ola pessoal neste blog vou postar e informar as necessidades básicas para um Iniciante, como tambem sites nacionais e internacionais para comercio de peças, este blog e destinado ao grupo Arduino BR e de apoio ao meu canal www.youtube.com.br/noobtronik

segunda-feira, 21 de julho de 2014

Aprendendo a Multiplexar

Ola galerinha neste post vou ensinar você a como multiplexar leds com esse post voce vai aprender realmente de como funciona.

A multiplexação consiste no ato de acender um conjunto de leds, um por vez, com um intervalo de tempo muito pequeno dando a inpresão que os leds estao acesos ao mesmo tempo, nao entendeu? vou desenhar

olhe a imagem abaixo:



os leds acima estao sendo acesos um por vez com um intervalo de tempo muito curto entre um e outro dando a impressao que todos estao acesos ao mesmo tempo, na imagem abaixo eu mostro como o circuito esta funcionando:



na imagem acima perceba que cada led e aceso individualmente acelerando esse intervalo de tempo o resultado e como o da 1 imagem


vamos para outro exemplo:

digamos que temos o circuito abaixo:





Entenda que sem usar multiplexação nao conseguimos acender todos os leds de apenas uma só vez, entenda também que para que acendamos um determinado led ao menos 1 porta ficara neutra (INPUT), ou seja não sera nem HIGH nem LOW

Olhando este mesmo circuito vemos que conseguimos acender um led de cada vez alternando o jeito em que ligamos as portas. (observe a tabela ao lado do circuito)



Ligamos cada terminal dos leds no arduino nas portas 8,9,10.

na IDE do arduino criamos variaveis e atribuimos os terminais:



no void Setup() chamamos uma função que criaremos mais pra frente


A função apagaTudo() seta todas as entradas como INPUT sendo assim apaga todos os LEDS





Lembra que falei que para acendermos um led ao menos uma porta vai estar com INPUT? então
chamamos a função apagaTudo() e em seguida a função setar(); que tem a função de colocar apenas
as 2 portas que serao ultilizadas pra acender o determinado LED








Nesta proxima função o parametro x e o led que quer acender de 1 à 6 note que no switch case
tem um tipo de "codigo" para cada LED que no caso sao diferentes, note tambem que dentro de cada
"case" existe a função setar() com as portas que serao ultilizadas para aquele determinado LED



neste ultimo passo e o void loop()  a função do void loop e nada mais nada menos que acender um led 
esperar um delay e apagar este led, e seguir para o proximo:


peceba que colocamos um delay de 1 millisegundo ou seja o intervalo de cada piscada e 1 milli para voce ver o projeto funcionando coloque dellay(200) e voce vai poder acompanhar o funcionamento

e agora PARABENS voce já sabe como multiplexar

Galera qualquer duvida so comentar aqui que tiro todas as suas duvidas ou me mande um email melque_ex@yahoo.com.br

valew galera e bons estudos.











3 comentários:

  1. Gostei da pratica de criar uma porta tri state, para poder polarizar os diodos invertidos, mas ainda sim prefiro usar um conversor binário para decimal como o cd4028, deixa o código mais ágil e menor, e serve de drive para os leds.
    http://www.cdef.com.br/arduino-cia/arduino/arduino-ligando-um-display-paralelo

    ResponderExcluir
    Respostas
    1. Verdade Max posso usar este CI, mas a intenção foi apenas ensinar como funciona a multiplexação, mas realmente podemos fazer isso =D

      Excluir
  2. Sensacional isso aqui... Parabéns!!!

    ResponderExcluir