Autor Tema: ayuda, codigo encender dos matrices de led 8x8  (Leído 156 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jesusrica10

  • PIC10
  • *
  • Mensajes: 2
ayuda, codigo encender dos matrices de led 8x8
« en: 09 de Agosto de 2018, 15:01:18 »
hola amigos del foro, estoy iniciando en esto de los pics, y necesito hacer un programa que mande cualquier mensaje (hasta ahorita llevo dos letras nada mas jaja) a dos matrices de led de 8x8 haciendo scroll,  he estado investigando y se puede usar el integrdo LS164, pero no tengo la mas minima idea de como prender la segunda matriz.
adjunto el codigo que llevo, agradeceria su ayuda el pic que estoy usando es el 18f46k22
Código: [Seleccionar]
#include <xc.h>
#pragma config FOSC = INTIO7
#define _XTAL_FREQ 4000000
int lA[8] = 
{
0b00000000,
0b00000000,
0b01111111,
0b01001000,
0b01001000,
0b01001000,
0b01111111,
0b00000000};

int lE[8] = 
{
0b00000000,
0b00000000,
0b10000001,
0b10010001,
0b10010001,
0b11111111,
0b00000000,
0b00000000};
void letraA(void);
void letraE(void);
    unsigned int i;
    int j=1;
    int  movimiento[8] = {
    0b11111111,
    0b11111101,
    0b11111011,
    0b11110111,
    0b11101111,
    0b11011111,
    0b10111111,
    0b01111111};
   
    void main(void) {
     

    ANSELD = 0;
    TRISD = 0;
    ANSELB = 0;
    TRISB= 0;
 
    while(1)
    {
        letraA();
        __delay_ms(500);
        letraE();
        __delay_ms(500);
    }
    }
   
    void letraA(void){
       while (j<=50){
            for(i=0;i<8;i++){
                LATD=(lA[i]);
                LATB= (movimiento [i]);
                __delay_ms(1);
            }
            j++;
        }
        j=0;
    }
    void letraE(void){
       while (j<=50){
            for(i=0;i<8;i++){
                LATD=(lE[i]);
                LATB= (movimiento [i]);
                __delay_ms(1);
            }
            j++;
        }
        j=0;
    }

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3250
    • Pinballsp
Re:ayuda, codigo encender dos matrices de led 8x8
« Respuesta #1 en: 09 de Agosto de 2018, 17:46:07 »
 
Mejor usa el 74HC595, con el 164 los Led te parpadearán porque no tiene buffer. En el foro tienes ejemplos de uso de ese registro de desplazamiento.

Controlas las columnas con el registro de desplazamiento, y las filas con un ULN2803 o con transistores. Eso usando matrices de Led de cátodo común.

Desconectado jesusrica10

  • PIC10
  • *
  • Mensajes: 2
Re:ayuda, codigo encender dos matrices de led 8x8
« Respuesta #2 en: 13 de Agosto de 2018, 13:44:06 »
HOLA, YA TENGO LOS ULN2803, PERO AL QUERER CONECTARLOS, NO ME MANDA VOLTAJE DE SALIDA... SI FUERA CON TRANSISTORES COMO SE CONECTARIA, ME SIRVE EL 2N2222A?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6906
Re:ayuda, codigo encender dos matrices de led 8x8
« Respuesta #3 en: 13 de Agosto de 2018, 18:25:54 »
El ULN no envia voltaje, Tu carga esta conectada a VCC y al ULN, lo que hace el ULN es poner ese otro terminal a GND, es open-colector