O principio de funcionamento baseia-se no multiplexing uma vez que o arduino não tem saídas suficientes, assim, as matrizes de leds vão ligando um de cada vez.
Uma vez que o consumo dos conjunto pode não ser suportado pelo arduino (<500mA), usamos um transistor
Ver como calcular o transistor em:
Display Leds com oa rduino
Como usamos conjuntos o principio é o mesmo, neste caso 5x7.
(a matriz pode ter linhas cátodo ou ânodo comum)
Com este processo não precisamos de nenhuma lib, podemos executar o código diretamente ou então definir as Letras ou Números com a Multiplex7Seg.
#include <Multiplex7Seg.h>
byte digitPins[] = {10, 11, 12}; // LSB to MSB
byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8}; // Segmento A a G
unsigned int adc;
void setup() {
Multiplex7Seg::set(1, 3, digitPins, segmentPins); // Inicia
// ver exemplos no ficheiro da lib Multiplex7Seg de exemplos de inicialização
}
void loop() {
Multiplex7Seg::loadValue(millis() / 10); //Mostra valor com o incremento
delay(247);
}
Neste link:
Multiplex 7 segmentos
Com esta lib podemos criar qualquer simbolo A,B,C ...