PAINEL DE
MENSAGENS COM STM32F103C8T6 Quando projetei a placa PE-STM32
eu a fiz na intenção de me auxiliar em uma série de
projetos. A ideia era facilitar e agilizar ao máximo
o desenvolvimento e testes com o microcontrolador
STM32F103C8T6. Inseri na placa uma quantidade
razoável de recursos e um deles foram 3 displays
matrizes de ponto (LEDs). Nesse artigo você poderá
ver um pouco da teoria envolvida no controle desse
tipo de matriz de ponto, sem o uso de CI's como o
MAX7219 com o controle feito literalmente "na unha"
e no final você terá um pequeno painel de mensagens
com matrizes de LEDs.
Antes de prosseguir com qualquer
explanação sobre o funcionamento do circuito, seria
interessante tentar compreender mais sobre o
principio “fisiológico” e também “psicológico” sobre
o qual este tipo de painel se apoia: a Persistência
Retiniana e o fenômeno Phi.
Para essa experiência eu utilizei a Placa
PE-STM32, disponível nesse site para consulta.
Sendo assim, recomendo a leitura do artigo a
respeito da placa. A figura acima mostra a página 3
do circuito da placa que contém os 3 displays tipo
matriz de ponto. Note que as matrizes de LEDs
utilizadas tem 5 colunas com 7 linhas, totalizando
35 LEDs por matriz. No mercado existem vários tipos,
com cores, tamanhos, e outras variantes
interessantes. As matrizes presentes na placa são
bem pequenas de 0,7 polegadas. U3 (74HC154),
é um demux de 4 para 16 linhas
. A entrada deste CI recebe um valor BCD e este
valor é refletido na sua saída na forma de posição
decimal. É importante salientar que este CI tem a
saída "barrada" (invertida), ou seja, o pino na
saída vai a nível lógico “0” sempre que selecionado,
permanecendo todos os outros em nível lógico “1.
Dessa forma fica fácil controlar até 16 colunas com
apenas 4 pinos de I/O. Nas entradas A,B,C e D foram
ligados os pinos de I/O do microcontrolador PB4,
PB5, PB6 e PB7 respectivamente. Além destes o pino
PA7 que controla o pino G1 de U3. Quando este pino é
levado ao nível lógico “1”, todas as saídas são
colocadas também em nível lógico “1”, e quando
colocado em nível lógico igual a “0” temos o dado
BCD da entrada ABCD, refletido na saída do CI na
forma de posição decimal. Os transistores Q1 a Q15 são do tipo
PNP, pois são ativados pela saída “barrada” do
74HC154. Note que não há qualquer resistor limitador
para os LEDs da matriz. Apesar de termos 3.3VDC
alimentando cada LED da matriz, devemos considerar a
queda de tensão provocada pelo transistor e a
queda de tensão provocada por U4. Somando as
mesmas a tensão cai para
perto de 2.3V, tensão próxima ao limite dos LEDs das
matrizes escolhidas. Além disso, temos também que
lembrar que devido à varredura, o tempo em que cada
LED permanece ligado é de apenas alguns
milissegundos. Nas linhas temos o CI U4 (ULN2003),
um drive com saída inversora capaz de suportar até
500mA por pino e tensões de até 50VDC. O uso de um
CI no lugar de transistores aqui é um facilitador já
que todas as linhas estão conectadas entre si. As
entradas desse CI, I1 a I7 foram ligadas aos pinos
de I/O do microcontrolador PA0 a PA6. Para comunicação RS-232 foi utilizado
um MAX3232 (alimentação 3,3V) presente na placa e
descrito na folha 2 do esquema da mesma.
A MONTAGEM
A montagem do "circuito" pode ser
vista na imagem acima. Utilizando a placa PE-STM32
ficou fácil e bastou conectar os pontos utilizando
cabinhos tipo jumper fêmea-fêmea de 20cm. Para quem
deseja refazer essa experiência sem a placa, não tem
jeito. A montagem precisa considerar todos os
componentes aqui apresentados nas imagens, além do
módulo BluePill. Essa montagem poderá ser feita em
matriz de contatos, placa padrão ou ainda em placa
de circuito impresso especificamente desenhada para
isso. Eu não vou me ater em detalhes aqui e deixo a
sua escolha!
O programa foi
desenvolvido utilizando a ferramenta SW4STM32 da ST
Microelectronics em conjunto com a biblioteca Standart Peripheral
Lib e foi ricamente comentado. Além disso, uma
breve explicação sobre o seu funcionamento (função de
controle das matrizes) está presente no vídeo.
Os conceitos
envolvidos no controle desse tipo de matriz são
bastante interessantes e estão presentes em muitos
painéis de mensagens que vemos em nosso dia-a-dia.
Compreender um conceito lhe permitirá aplicá-lo em
qualquer outra condição. Estou falando aqui de
matrizes de LEDs muito maiores que as presentes na
placa, e até mesmo com LEDs "diferentes". Espero ter
ajudado de alguma forma! Boas montagens, experiências,
etc! Até a próxima! DOWNLOADS: |
Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor. |