Ir ao conteúdo
  • Cadastre-se

Circuito com matriz de leds


CIS

Posts recomendados

Vi este projeto na net a achei bem legal e intuitivo para quem esta começando com matrizes de leds...

http://microcontrolandos.blogspot.com.br/2013/04/texto-rolante-com-matriz-e-pic.html?showComment=1366740245277#c3140929314763515448

gostaria de ajuda para tentar colocar mais matrizes, de forma que eu consiga vizualizar 3 caracteres rolando nas matrizes. Eu tentei, mas os caracteres ocuparam as duas matrizes colocadas e continuarão a passar um por vez...

Preciso de ajuda pessoal...

scroll_text_matriz.png

Imagem original do projeto. Preciso de ajuda para implementar pelo menos mais dua matrizes.

char colPort at PORTD;
char rowPort at PORTB;

void print_chr(char c, char time){
char i;

while(time--){
for(i=0;i<8;i++){
rowPort=255;
colPort = 1<<(i);
rowPort = ~Font8x8[c-32][i];
delay_us(125);
}
}
}


void scroll_text(char *str){
char i=0;
char k=0;//deslocamento no buffer
char s=0,t=0;//recupera um caracter da string
char cnt=100;
char l=0,len=0;//tamanho da string
char buff[20];//variavel buffer

//limpa o buffer
for(i=0;i<20;i++) buff[i] = 0;

//recupera o tamanho da string
for(i=0;i<64;i++){
if(str[i] != 0) len++;
}

for(l=0;l<len;l++){
s = str[l];
t = str[l+1];

//armazena dois caracteres da string no buffer
for(i=0;i<16;i++){
if(i<8) buff[i] = Font8x8[s - 32][i];
else buff[i] = Font8x8[t - 32][i-8];
}



for(k=0;k<8;k++){
for(cnt=60;cnt>0;cnt--){
for(i=0;i<8;i++){/escreve os 8 bytes do buffer para formar o caracter
rowPort=255;
colPort = 1<<(i);
rowPort = ~buff[i+k];
delay_us(125);
}
}
}
}

rowPort = 255;
colPort = 0;
}


void main() {
TRISD = 0;
TRISB = 0;
colPort = 0;
rowPort = 0;

while(1){
scroll_text(" 0123456789 ");
delay_ms(300);
}
}

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Valeu aphawk !! eu sei que é, mas não conseguindo entender o codigo estou tentando buscar ajuda. Eu ja li bastante sobre o 74hc595, endenti o seu funcionamento, mas a minha dificuldade no codigo... agora eu ja sei como enviar um byte serialmente para ele, consegui entender uma função para isso... agora vem outra dúvida, qual a melhor maneira para fazer a varredura do painel, linhas ou colunas ?? o codigo pra mim ainda é um "bicho de sete cabeças" mas to tentando...

qualquer ajuda é sempre bem vinda.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!