Ir ao conteúdo
  • Cadastre-se

MATRIZ de LED com PIC


Posts recomendados

Poooooo ...... Pensei que meu problema estava resolvido kkkkkk

Eu ví um que o cara usou duas baterias 2032 para alimentar o circuito, e em vez de oito leds, a cada volta ele energizava apenas 4, depois na próxima volta eram os outro quatro... Pelo que estou vendo, acho que vou fazer desse jeito...

Paulo

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...

Por favor pessoal , estou tentando a dias realizar meu projeto de Matriz de led 8 x 8 e cada dia que leio mais livros parece que fica mais difícil ainda entender como isso tudo funciona !

Meu projeto é o seguinte , quero fazer um letreiro de matriz 8 x 8 com 4 matrizes que tenho aqui , tenho alguns componentes , porém Uso Arduino e a IDE do mesmo .

Seria melhor eu criar um tópico novo ou postar minhas dúvidas aqui mesmo .

Aos que puderem me ajudar agradeço muito !

Link para o comentário
Compartilhar em outros sites

Então , é apenas isso que quero fazer , mas com o Arduino e está difícil de fazer o código se alguém pudesse me ajudar com isso , agradeço muito !

estou fazendo meu projetinho com os 74HC595   , queria apenas um link com um código pronto pra usar com os 595 ou um código  de simples compreensão para que eu possa edita-lo ou alguém que pudesse me dar dicas de como faze-lo .

 

Link para o comentário
Compartilhar em outros sites

  • 8 meses depois...

Amigos.....

 

Li em vários foruns inumeras discussoes sobre matriz de led ou letreiro de led e etc..

 

Porém todos falam em matriz de 8x8 ou 8x16 e assim vai

 

então resolvi desenvolver uma matriz de 16x16 ou melhor 16 linhas e 16x4 colunas logo seria algo assim : 16x64

e para piorar um pouco pensei em criar duas linhas dessa de 16x64 

 

para encerrar o pensamento com um exemplo teriamos duas linhas de 16x64 para que pudesse ser escrita duas palavras.

 

O que me dizem???? eu impaquei e não sei criar isso tudo....rs

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

bom o princípio é o mesmo pra qualquer matriz. Mas vejamos: seria 64x16 (X,Y=linhas,colunas) certo?. Para uma palavra bastam 8 linhas (7). Mais que isso, creio eu, é mais útil para "desenhar" e não escrever. Portanto se for pra texto, sugiro 64x8 mesmo. Pra te ajudar ainda mais, mostre algo que já fez com sucesso. Não vale dizer que é em assembly ou que está começando do zero e não tem conhecimento algum e etc. rs (brinc.... ou não!)

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

como assim???

não entendi, você diz em obter brilhos diferentes com circuitos diferentes??

explique-me mais sobre isto ai :))) rsrsrsrs

flowww

Com PWMs.

Por exemplo num dos meus vídeos (Meu canal YouTube) a matriz rgb de 16x8 tem 384 PWMs.

O vídeo em questão usa TLC5940, que são PWMs de 12 bits, ou seja, qualidade vídeo, mas este outro

que era do meu canal antigo usa 192 PWMs com um simples ATmega88, 3 74HC595 + 8 transistores PNPs como drives de linhas.

Este outro é mais simples por não ser RGB.

É 24x9 porque pega o sinal DMX512 e joga na matriz, mas um universo DMX só tem 512 canais, mas daria pra juntar 2 placas e fazer 24x18. Ou seja, também um simples ATmega88 a 16MHz que, além de decodificar o sinal deste protocolo, ainda tem que fazer a varredura da matriz e gerar os 216 PWMs (24x9)

Seria simples ajudar, mas só programo AVRs e só em basic, portanto não posso. a não ser que o autor do tópico queira migrar para este micros e esta linguagem.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Não estou cumprindo bem o prometido, mas...

AQUI estou postando passo a passo como criar um projeto de matriz de LEDs 8x8.

Peço àquele que, se puder, vá "traduzido" de bascomAVR para CCS COMPILER, que o autor deste tópico diego.maga   e muitos que se interessam por projetos desta natureza,  entendam como fazerem o projeto usando o PIC.

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

caro wozniak

Sugiro usar displays maiores. rs. Mas é sério. Isso pode facilitar sua vida. Veja um exemplo. O fonte é relativamente simples pra um programador mediano o fonte c.

O projeto completo com simulação, .dsn, .hex, fontes e tal, estou tentando contribuir no tópico do amigo xycote (onde acho ser mais coerente) mas não estou vendo o campo de responder. Mais tarde eu tento de novo. Se não conseguir, posto aqui mesmo, ok?

 

Bom, o anexo era pra ser uma animação. Pelo menos no meu pc ficou desanimado... rs

 

Hmm.. agora que eu percebi.. Clique na figura, espere um pouquinho que ela se anima... e... se anime com a mensagem!

post-528815-0-36782800-1412167118_thumb.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Agora que vi o topico do amigo fechado. Então vamo colocar + lenha nesta fogueira aqui mesmo...

Anexo estão 2 projetos com .dsn e .hex com pic para acionar display matricial. Detalhes:
-Feito em hitech-c. Também era pra ser em sdcc (gratuito) mas não se obteve sucesso total
-Projeto antigo. Remonta a 2004. Houveram mudanças na sintaxe do hitech-c mas a essência c foi mantida. P.ex. atualmente sintaxe para nível baixo de interrupção foi alterada. A qualquer momento, se necessário, poderemos migrar pra versão atual.
-Na simulação proteus está 100% funcional. bem.. 99,9. ninguém é perfeito né.
-Um dos projetos consiste em enviar caracteres via terminal para o display. Envolveu o conceito de low level interrupt priority para a serial (mencionado acima).
-também foi usada variável matriz bidimensional para conter as variáveis "espelho" do display bit a bit led a led. Parece complicado mas nem tanto. Código ficou mais enxuto ainda.
-na simulação, carregue o hex apropriado no mc. Rodando, no terminal clique direita selecione echo typed characters. digite algo, pressione enter
-Usado shift register HC595 para expansão de i/o. Pra simulação não há necessidade de drivers mas se for montar algum dia, sim. Pelo menos para as linhas. Basta p.ex. um bd135 pra cada
-Não foi usado nada mastigado (do ccs, mikroc, p.ex.). Se quiser entender mais a fundo, vai ter que sujar as mãos dando uma olhadela nos datasheets
-conveniente usar mc com frequência alta devido ao hw e cálculos que o mc faz
-100% c. Código minimalista e otimizado. Facilmente migrável para qualquer microcontrolador (que tenha os recursos semelhantes, claro) de qualquer fabricante e qualquer compilador. Basta alterar pouquíssimos #defines. p.ex. onde está:
#define SH   RC0 //pro pic (veja os #defines do seu compilador)
basta colocar:
#define SH   P0.0 //ou P0_0 ou P00 pro 8051 (veja os #defines do seu compilador)
#define SH PORTA.0 //pro atmega16 (veja os #defines do seu compilador)
#define SH PORTA_Bit0 //pro attiny26 (veja os #defines do seu compilador)
etc
-Fontes: só pedir
Espero (não) ser (in)útil
 

matrizdeleds.zip

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Perdão amigo Mateus mas não seria MAX7219? rsrsrs...

Concordo com você! Melhor que o MAX, somente o TLC5940.

 

Quanto ao funcionamento básico do 74hc595, (em ccs) é isso:

   data=0b11101000;   for(i=0;i<8;i++){      //envia dado serial      output_bit(serin14, shift_right(&data,1,0)); // set data (DIN) level      output_high(srclk11);      output_low(srclk11);         }   output_high(rclk12); //ativa linha   output_low(rclk12); //   

A lógica é esta, agora, para outras linguagens é só adaptar.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Isadora Ferraz

Desculpem sobre o tópico/tutorial fechado, é que quero testar tudo, cada rotina antes de montar o programa completo. Hoje mesmo postei a tabela de caracteres e como montá-la facilmente pelo programa lá sugerido.

O próximo passo é o esquema. Com a tabela e, esquema e protótipo montado já dá pra testar as rotinas, e vocês podem acompanhar e testar também. Assim entenderão cada parte do programa. com as explicações ficará até fácil de fazer para o PIC.

Se o mantivesse aberto, iria ficar descontinuado... entende!

No final terá vários recursos, inclusive receber dados pela serial e armazenar em EEPROM. É apenas uma amostra, pois pretendo postar coisa muito maior.

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • 4 semanas depois...

GetData  


  movf   LOW(CHANNEL01),w      ; PWM 1
    addwf   FSR0L,F
    movf   HIGH(CHANNEL01),w
    addwfc  FSR0H,F
    movff   INDF0,CCPR1L        
    lfsr    0,RxBuffer          
   
    movf   LOW(CHANNEL02),w  ;PWM 2 
    addwf   FSR0L,F
    movf   HIGH(CHANNEL02),w
    addwfc  FSR0H,F
    movff   INDF0,CCPR2L          
     lfsr    0,RxBuffer    

                                
    movf   LOW(CHANNEL03),w   ;PWM 3
    addwf   FSR0L,F
    movf   HIGH(CHANNEL03),w
    addwfc  FSR0H,F

    movff   INDF0,PWM03           

    lfsr    0,RxBuffe

 
    ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PWMs
    clrf    PWM00
    movff    TMR0L,TEMPO
    movf    TEMPO,W
    CPFSEQ    PWM00,W
    bra        OKGO    
    return

OKGO
;---------------------- porta de saida-------------------
    clrf    LEDA       

    movf    TEMPO,W       
    CPFSLT    PWM03,0
    bsf        LEDA,0

    movf    LEDA,W
    CPFSEQ    LATA,W         
    movff    LEDA,LATA   

; ;como colocar essa saída(Lata) em um bit do registrador 74hc595

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...