Autor Tema: De matriz de leds, a letrero electronico  (Leído 294982 veces)

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

Desconectado killer

  • PIC10
  • *
  • Mensajes: 4
matriz de leds de 7 filas por 55 columnas
« Respuesta #375 en: 12 de Marzo de 2013, 20:01:19 »
[move] :-/ ((:-)) :lol: :o :shock:
alguien me podria apoyar en lo que es un letrero  de pasamensajes. bueno lo que pasa mi idea es crear un pasamensajes de 7 filas por 55 columnas, lo que es la matriz de leds ya lo tengo hecho solo que se me complica en la programacion y algunas dudas que tengo en el circuito les agradeceria mucho si alguien me podria proporcionar el codigo y el diagrama.   soy estudiante del instituto tecnologico de tuxtepec y ahorita llevamos lo que es la materia de microcontroladores y estamos utilizando el pic16f877. bueno le agradeceria si alguien me podria ayudar.. gracias

Desconectado ke44si

  • PIC10
  • *
  • Mensajes: 1
Re: De matriz de leds, a letrero electronico
« Respuesta #376 en: 10 de Septiembre de 2014, 23:30:50 »
nesecito ayuda de como empezar hacer una matriz de 8x8 con dezplazamiento

Desconectado JORGE 500000

  • PIC10
  • *
  • Mensajes: 7
Re: De matriz de leds, a letrero electronico
« Respuesta #377 en: 08 de Marzo de 2015, 10:47:19 »
Aqui puedes encontrar un ejemplo que está completo con fuentes y todo en ccs compiler y la simulación en proteus, para uno más complejo
con efectos y todo con el pic 18f4550, el Proteus se quedaba chico tuve que hacerlo básico.
http://proyectosmicrocontroladores.blogspot.com/2014/12/matriz-de-leds-con-pic18f4550.html

Desconectado neciito

  • PIC10
  • *
  • Mensajes: 1
Re:De matriz de leds, a letrero electronico
« Respuesta #378 en: 21 de Diciembre de 2015, 20:21:43 »
Bueno la humilde colaboracion!  - Adjunto no válido -

Código: CSS
  1. #INCLUDE <16F88.H>
  2. #FUSES HS,NOWDT,NOMCLR
  3. #USE DELAY(CLOCK=20000000)
  4. #USE I2C(Master,SDA=PIN_A3,SCL=PIN_A4)
  5. #BYTE ANSEL=0X9B
  6. #BYTE PORTB=0X06
  7. #BIT CLK=0X05.0
  8. #BIT DS=0X05.1
  9. #BIT ST=0X05.2
  10.  
  11. CONST INT8 Fila[8]={1,2,4,8,16,32,64,128};
  12. CONST CHAR MSJ[35]="VERANO 2016 CON FUERZA DIGITALES 3";
  13. INT8 P[24],L[7];
  14. INT8 I,J,K,M,TL;
  15. INT16 T,N;
  16.  
  17. VOID ESCRIBE_EEPROM(INT16 ADDRESS, INT8 DATO)
  18. {
  19.    I2C_START();                  //Inicio de la transmisión...
  20.    I2C_WRITE(0xA0);              //... con la dirección I2C correspondiente a la eeprom en modo escritura
  21.    I2C_WRITE(ADDRESS>>8);        //Envío parte alta dirección
  22.    I2C_WRITE(ADDRESS);           //Envío parte baja direción
  23.    I2C_WRITE(dato);              //Envío del dato
  24.    I2C_STOP();                   //Finalización de la transmisión
  25. }
  26.  
  27. INT8 LEE_EEPROM(INT16 ADDRESS)
  28. {
  29.    INT8 DATO;
  30.    I2C_START();               //Inicio de la transmisión...
  31.    I2C_WRITE(0xA0);           //...con la dirección correspondiente a la eeprom en modo escritura
  32.    I2C_WRITE(ADDRESS>>8);     //Envío parte alta dirección
  33.    I2C_WRITE(ADDRESS);        //Envío parte baja dirección
  34.    I2C_START();               //Reinicio...
  35.    I2C_WRITE(0xA1);           //...con eeprom en modo lectura
  36.    DATO=I2C_READ(0);          //Lectura del dato de la dirección enviada
  37.    I2C_STOP();                //Fin de la transmisión
  38.    RETURN(DATO);              //La función devuelve el dato leído
  39. }
  40.  
  41.  
  42. VOID CODIFICA(char LETRA)
  43. {
  44.    SWITCH (LETRA)
  45.    {
  46.       CASE 'A':
  47.          TL=8;
  48.          L[0]=0; L[1]=127; L[2]=255; L[3]=204; L[4]=204; L[5]=255; L[6]=127; L[7]=0;
  49.          BREAK;
  50.       CASE 'B':
  51.          TL=8;
  52.          L[0]=0; L[1]=255; L[2]=255; L[3]=219; L[4]=219; L[5]=255; L[6]=102; L[7]=0;
  53.          BREAK;
  54.       CASE 'C':
  55.          TL=8;
  56.          L[0]=0; L[1]=126; L[2]=255; L[3]=195; L[4]=195; L[5]=195; L[6]=195; L[7]=0;
  57.          BREAK;
  58.       CASE 'D':
  59.          TL=8;
  60.          L[0]=0; L[1]=255; L[2]=255; L[3]=195; L[4]=195; L[5]=255; L[6]=126; L[7]=0;
  61.          BREAK;
  62.       CASE 'E':
  63.          TL=8;
  64.          L[0]=0; L[1]=255; L[2]=255; L[3]=219; L[4]=219; L[5]=219; L[6]=195; L[7]=0;
  65.          BREAK;
  66.       CASE 'F':
  67.          TL=8;
  68.          L[0]=0; L[1]=255; L[2]=255; L[3]=216; L[4]=216; L[5]=216; L[6]=192; L[7]=0;
  69.          BREAK;  
  70.       CASE 'G':
  71.          TL=9;
  72.          L[0]=0; L[1]=126; L[2]=255; L[3]=195; L[4]=219; L[5]=219; L[6]=223; L[7]=30; L[8]=0;
  73.          BREAK;  
  74.       CASE 'H':
  75.          TL=8;
  76.          L[0]=0; L[1]=255; L[2]=255; L[3]=24; L[4]=24; L[5]=255; L[6]=255; L[7]=0;
  77.          BREAK;  
  78.       CASE 'I':
  79.          TL=8;
  80.          L[0]=0; L[1]=195; L[2]=195; L[3]=255; L[4]=255; L[5]=195; L[6]=195; L[7]=0;
  81.          BREAK;  
  82.       CASE 'J':
  83.          TL=9;
  84.          L[0]=0; L[1]=6; L[2]=199; L[3]=195; L[4]=255; L[5]=254; L[6]=192; L[7]=192; L[8]=0;
  85.          BREAK;  
  86.       CASE 'K':
  87.          TL=8;
  88.          L[0]=0; L[1]=255; L[2]=255; L[3]=24; L[4]=60; L[5]=103; L[6]=195; L[7]=0;
  89.          BREAK;  
  90.       CASE 'L':
  91.          TL=8;
  92.          L[0]=0; L[1]=255; L[2]=255; L[3]=3; L[4]=3; L[5]=3; L[6]=3; L[7]=0;
  93.          BREAK;  
  94.       CASE 'M':
  95.          TL=9;
  96.          L[0]=0; L[1]=255; L[2]=127; L[3]=48; L[4]=24; L[5]=48; L[6]=127; L[7]=255; L[8]=0;
  97.          BREAK;  
  98.       CASE 'N':
  99.          TL=9;
  100.          L[0]=0; L[1]=255; L[2]=127; L[3]=56; L[4]=28; L[5]=14; L[6]=255; L[7]=255; L[8]=0;
  101.          BREAK;  
  102.       CASE 'Ñ':
  103.          TL=8;
  104.          L[0]=0; L[1]=127; L[2]=191; L[3]=156; L[4]=142; L[5]=127; L[6]=127; L[7]=0;
  105.          BREAK;  
  106.       CASE 'O':
  107.          TL=8;
  108.          L[0]=0; L[1]=126; L[2]=255; L[3]=195; L[4]=195; L[5]=255; L[6]=126; L[7]=0;
  109.          BREAK;
  110.       CASE 'P':
  111.          TL=8;
  112.          L[0]=0; L[1]=255; L[2]=255; L[3]=204; L[4]=204; L[5]=252; L[6]=120; L[7]=0;
  113.          BREAK;
  114.       CASE 'Q':
  115.          TL=9;
  116.          L[0]=0; L[1]=126; L[2]=255; L[3]=195; L[4]=199; L[5]=255; L[6]=126; L[7]=3; L[8]=0;
  117.          BREAK;
  118.       CASE 'R':
  119.          TL=8;
  120.          L[0]=0; L[1]=255; L[2]=255; L[3]=204; L[4]=206; L[5]=251; L[6]=113; L[7]=0;
  121.          BREAK;
  122.       CASE 'S':
  123.          TL=8;
  124.          L[0]=0; L[1]=114; L[2]=251; L[3]=219; L[4]=219; L[5]=223; L[6]=78; L[7]=0;
  125.          BREAK;
  126.       CASE 'T':
  127.          TL=8;
  128.          L[0]=0; L[1]=192; L[2]=192; L[3]=255; L[4]=255; L[5]=192; L[6]=192; L[7]=0;
  129.          BREAK;
  130.       CASE 'U':
  131.          TL=8;
  132.          L[0]=0; L[1]=254; L[2]=255; L[3]=3; L[4]=3; L[5]=255; L[6]=254; L[7]=0;
  133.          BREAK;
  134.       CASE 'V':
  135.          TL=8;
  136.          L[0]=0; L[1]=252; L[2]=254; L[3]=3; L[4]=3; L[5]=254; L[6]=252; L[7]=0;
  137.          BREAK;  
  138.       CASE 'W':
  139.          TL=9;
  140.          L[0]=0; L[1]=255; L[2]=255; L[3]=6; L[4]=12; L[5]=6; L[6]=255; L[7]=255; L[8]=0;
  141.          BREAK;
  142.       CASE 'X':
  143.          TL=9;
  144.          L[0]=0; L[1]=195; L[2]=231; L[3]=60; L[4]=24; L[5]=60; L[6]=231; L[7]=195; L[8]=0;
  145.          BREAK;
  146.       CASE 'Y':
  147.          TL=8;
  148.          L[0]=0; L[1]=224; L[2]=240; L[3]=63; L[4]=63; L[5]=240; L[6]=224; L[7]=0;
  149.          BREAK;
  150.       CASE 'Z':
  151.          TL=8;
  152.          L[0]=0; L[1]=195; L[2]=199; L[3]=207; L[4]=219; L[5]=243; L[6]=231; L[7]=0;
  153.          BREAK;
  154.       CASE '0':
  155.          TL=8;
  156.          L[0]=0; L[1]=126; L[2]=255; L[3]=203; L[4]=211; L[5]=255; L[6]=126; L[7]=0;
  157.          BREAK;
  158.       CASE '1':
  159.          TL=6;
  160.          L[0]=0; L[1]=32; L[2]=96; L[3]=255; L[4]=255; L[5]=0;
  161.          BREAK;
  162.       CASE '2':
  163.          TL=8;
  164.          L[0]=0; L[1]=99; L[2]=231; L[3]=207; L[4]=219; L[5]=243; L[6]=99; L[7]=0;
  165.          BREAK;
  166.       CASE '3':
  167.          TL=8;
  168.          L[0]=0; L[1]=195; L[2]=219; L[3]=219; L[4]=219; L[5]=255; L[6]=102; L[7]=0;
  169.          BREAK;
  170.       CASE '4':
  171.          TL=8;
  172.          L[0]=0; L[1]=248; L[2]=248; L[3]=24; L[4]=24; L[5]=255; L[6]=255; L[7]=0;
  173.          BREAK;
  174.       CASE '5':
  175.          TL=8;
  176.          L[0]=0; L[1]=251; L[2]=251; L[3]=219; L[4]=219; L[5]=223; L[6]=206; L[7]=0;
  177.          BREAK;
  178.       CASE '6':
  179.          TL=8;
  180.          L[0]=0; L[1]=62; L[2]=127; L[3]=251; L[4]=219; L[5]=223; L[6]=206; L[7]=0;
  181.          BREAK;
  182.       CASE '7':
  183.          TL=8;
  184.          L[0]=0; L[1]=192; L[2]=192; L[3]=207; L[4]=223; L[5]=240; L[6]=224; L[7]=0;
  185.          BREAK;
  186.       CASE '8':
  187.          TL=8;
  188.          L[0]=0; L[1]=118; L[2]=255; L[3]=219; L[4]=219; L[5]=255; L[6]=118; L[7]=0;
  189.          BREAK;
  190.       CASE '9':
  191.          TL=8;
  192.          L[0]=0; L[1]=112; L[2]=248; L[3]=217; L[4]=219; L[5]=255; L[6]=126; L[7]=0;
  193.          BREAK;
  194.       CASE ' ':
  195.          TL=4;
  196.          L[0]=0; L[1]=0; L[2]=0; L[3]=0;
  197.          BREAK;
  198.    }
  199. }
  200.  
  201.  
  202. VOID MAIN()
  203. {
  204.    SET_TRIS_A(0);
  205.    SET_TRIS_B(0);
  206.    ANSEL=0;
  207.    M=32;
  208.    T=0;
  209.    
  210.    FOR(K=0;K<=33;K++)
  211.    {
  212.       CODIFICA(MSJ[K]);
  213.       FOR(I=0;I<TL;I++)
  214.       {
  215.          ESCRIBE_EEPROM(T,L[I]);
  216.          T=T+1;
  217.          DELAY_MS(10);
  218.       }
  219.    }
  220.    N=T;
  221.    
  222.    DO
  223.    {
  224.       FOR(T=1;T<=N+M+20;T++)
  225.       {
  226.          FOR(K=M-1;K>=1;K--)
  227.          {
  228.             P[K]=P[K-1];
  229.          }
  230.          IF(T<=N)
  231.             P[0]=LEE_EEPROM(T-1);  
  232.          ELSE
  233.             P[0]=0;
  234.            
  235.          FOR(K=1;K<=10;K++)
  236.          {
  237.             FOR(I=1;I<=8;I++)
  238.             {
  239.                FOR(J=M;J>=1;J--)
  240.                {
  241.                   IF(T>=J && T<J+N)
  242.                      DS=BIT_TEST(P[J-1],I-1);
  243.                      //DS=1-BIT_TEST(P[J-1],I-1);
  244.                   ELSE
  245.                      DS=0;
  246.                      //DS=1;
  247.                   CLK=0; DELAY_US(2); CLK=1;
  248.                 }
  249.                
  250.                PORTB=255;
  251.                ST=0; DELAY_US(2); ST=1;
  252.                PORTB=255-Fila[I-1];
  253.                //DELAY_MS(1);
  254.             }
  255.          }
  256.            
  257.       }  
  258.    }WHILE(TRUE);
  259.      
  260. }[attachment id=1 msg=380908][attachment id=1 msg=380908]
- Adjunto no válido -

Desconectado rafapic2015

  • PIC10
  • *
  • Mensajes: 4
Re:De matriz de leds, a letrero electronico
« Respuesta #379 en: 29 de Marzo de 2016, 17:30:07 »
hola gente como estan?. queria agradecer a todos los que comparten informacion y ayudan a solucionar los distontos problemas para armar una matriz como es el caso, yo arme una de 8x8 con registros tanto para filas como columnas como publicaron aqui en este mismo foro y anda perfecto :-/les dejo el linck del video asi la ven, saludos y de nuevo gracias a todos  ((:-)).

Desconectado Moechh

  • PIC10
  • *
  • Mensajes: 16
Re: De matriz de leds, a letrero electronico
« Respuesta #380 en: 19 de Abril de 2016, 19:02:16 »
Aqui un video de como se ve esto (para el caso de las columnas)...  Poco, pero se ve como digo.

Finalmente, decir que para el aumento de filas para estas matrices, almenos yo, NO recomiento el 74LS164 :5] Ah! y tampoco estoy usando transistores, aunque en caso de que se aumente MAS las filas, creo que ya seria necesario, desde ahora, siento que la intensidad ha bajado regularmente, pero bueno.
 
Por otro lado, el PIC (18F2550) se calienta regularmente, cosa rara  :?


Epa, aqui el video:

[/youtube]


Salu2.
Hola amigo disculpa yo también are una matriz de esa dimencion pero no tengo ni idea de como hacer la programación crees que podrías ayudarme sólo tengo los conceptos básicos de programacion

Desconectado rafapic2015

  • PIC10
  • *
  • Mensajes: 4
Re:De matriz de leds, a letrero electronico
« Respuesta #381 en: 24 de Agosto de 2016, 12:38:15 »
Hola de nuevo a todos los foreros, hoy les quiero enseñar mi prototipo de una matriz que realice de 8x72; la misma consta de 192 leds verdes + 192 leds rojos y otros 192 leds azules, utilizando registros de desplazamiento 74hc164  por lo pronto esta funcional  :D tanto en simulación como en lo físico claro esta, faltan algunos detalles y depurar un poco mas todo. les comparto la simulación en proteus y el código en ccs para la matriz de 8x72 con las modificaciones respectivas. todavía me faltan agregar algunas cosas para que quede bien completamente en fin, espero les agrade los avances y si alguien ve algo que se me escape le estaré agradecido como siempre gracias a todos los que ayudan en este hilo como en general. gracias ((:-))
ha y el video con la matriz funcionando, prototipo recien.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:De matriz de leds, a letrero electronico
« Respuesta #382 en: 24 de Agosto de 2016, 12:47:01 »
Lo que me causa mas impresion no es el tablero, los leds, o que lo pudieron hacer, sino es la cantidad de proboards con todos los cablecitos. Es como para volverse loco! Ni hablar de conectar un mal y revisar una por uno que este todo correcto.

Felicidades por el logro!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re:De matriz de leds, a letrero electronico
« Respuesta #383 en: 24 de Agosto de 2016, 13:23:53 »
Uffff, sí, qué miedo a que se suelte alguno. Enhorabuena.

Desconectado rafapic2015

  • PIC10
  • *
  • Mensajes: 4
Re:De matriz de leds, a letrero electronico
« Respuesta #384 en: 26 de Agosto de 2016, 21:27:13 »
así es me paso eso varias veces y renegué  :5] jaja pero luego buscando encontré el error y eran las resistencias de los registros que se tocaban y salia mal el mensaje, pero en fin se pudo y ahora estoy haciendo el pcb;bien termine y este todo listo les compartiré los archivos (ya subí la simulación y los archivos .c y .hex también en un comentario anterior para el quiera extender la misma)para que alguien que quiera o necesite pueda armarla. saludos y gracias a todos los que aportan información constantemente en este foro en general.

Desconectado rafapic2015

  • PIC10
  • *
  • Mensajes: 4
Re:De matriz de leds, a letrero electronico
« Respuesta #385 en: 16 de Septiembre de 2016, 17:47:10 »
hola de nuevo a todos, aquí les dejo la carpeta donde esta todo para hacer funcionar la matriz de 8x72, tanto simulación como las conexiones en fisico y algun datasheet, también el pcb en el programa pcb wizard listo para planchar y armar. bien tenga tiempo continuare y tratare de agregar otras cositas en fin gracias a todos los foreros y espero les ayude. :-/