Olá leitores, tudo certo? hoje aprenderemos como implementar uma técnica chamada Chalieplexing (multiplexação) com Arduino UNO.

Charlieplexing leds - GIF

Segundo a Wikipedia, o Charlieplexing é uma técnica para controle de diversos dispositivos (displays, led’s) utilizando apenas alguns poucos pinos de um determinado microcontrolador. A imagem abaixo ilustra bem o conceito:

charlieplexing 2 leds

   O conceito básico do Charlieplexing diz que variando-se nível de sinal (alto, baixo ou estado Z) dos pinos de saída, consegue-se uma combinação diferente de saídas ativadas. A equação que define quantos LED’s podem ser aliementados por determinado número de pinos é  (n*n)-n, sendo n o número de pinos disponíveis e o resultado da equação o número de LED’s.

Exemplo: para n=4 (pinos) teríamos (4*4)-4 = 12 LED’s. Eu resolvi implementar um display com 8 LED’s para um projeto que está por vir (aguarde!), portanto vou precisar de 4 pinos digitais do Arduino. Veja abaixo meu circuito (me inspirei neste projeto do Instructables):

diagrama esquemático charlieplex 8 leds

Em termos de código, três coisas precisam ser feitas para que cada LED se acenda individualmente:

  • Colocar um pino em nível alto (5V) – o pino do Anodo do LED
  • Colocar um pino em nível baixo (0V) – o pino do Catodo do LED
  • Colocar TODOS os demais pinos em estado ‘Z’ (3-state) – basicamente deixar os pinos flutuando. IMPORTANTE: O ATMEGA328 não tem opção de 3-state, porém podemos simular esta condição definindo pinos como entrada ao invés de saídas!

No exemplo deste artigo eu estou utilizando uma placa chamada Fritzen Proto, que é compatível com Arduno UNO (mesmo bootloader) está disponível para compra neste link. Veja o circuito montado abaixo.

circuito charlieplexing montado

O código segue abaixo (e também está disponível no GitHub do FritzenLab).

E o resultado são os 8 LED’s piscando em sequência, no tempo definido no sketch!

   Deixo para vocês alguns exemplos de produtos comerciais da empresa ADAFRUIT utilizando (muito bem por sinal) a tecnologia do Charlieplex: link aqui.

   E não se esqueçam também: se precisarem comprar componentes eletrônicos e Arduino, utilizem os meus links! assim eu ganho um percentual sobre cada compra e invisto em melhorar o blog!!.

Chalieplexing (multiplexação) com Arduino UNO

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *