TODOPIC

Misceláneas - Interés General => Uso y aplicaciones de los PIC / Curiosidades electrónicas => Mensaje iniciado por: jfmateos2 en 17 de Enero de 2008, 13:43:05

Título: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfmateos2 en 17 de Enero de 2008, 13:43:05
Tengo una pequeña matriz de LEDs compuesta por 7 filas y 6 columnas y deseo mostrar en ella mensajes de texto.

He pensado utilizar una fuente mayúscula con 5 píxeles de altura y, siempre que sea posible, sólo 3 píxeles de anchura. Algunas letras de ejemplo:

A


OOO
O O
OOO
O O
O O


M

O   O
OO OO
O O O
O   O
O   O



¿Conoce alguien algún sitio donde encontrar la definición binaria/hexadecimal de una fuente de este estilo? ¿o algún sitio para inspirarme viendo fuentes similares?

Gracias
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfmateos2 en 17 de Enero de 2008, 13:49:55
A falta de algo mejor, me inspiraré en esta minifuente de un panel LCD.

(http://img242.imageshack.us/img242/5265/minifuentefm2.th.jpg) (http://img242.imageshack.us/my.php?image=minifuentefm2.jpg)
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Nocturno en 17 de Enero de 2008, 13:59:21
No te pegues la currada del siglo dibujando letras. En cuanto llegue a casa te paso un programita que genera las definiciones de todas las letras que quieras mientras estén en Windows. Sólo tienes que elegir la fuente de un desplegable y decirle el tamaño de salida.
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfmateos2 en 17 de Enero de 2008, 14:02:14
Gracias Nocturno, llevaba ya un par de letras cuando he leído tu mensaje. Me has ahorrado un buen rato de cálculo binario.

Hoy seguro que estoy deseando yo más que nadie que llegues a casa.
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: todopic en 17 de Enero de 2008, 14:25:05
Yo también me apunto al programita!  :-/

Norberto
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Cryn en 17 de Enero de 2008, 14:27:04
una vez, con la misma intención, y sin exito en encontrar un programa (pero para matrices 8x8), yo las hice :mrgreen:, en excel, y ya solo es copiar y copiar la formula, no salio tan bien, pero sirve

desafortunadamente, estas letras las hice para una matriz 8x8, pero seguramente puedas hacer unas nuevas letras de esas dimensiones, con mi archivito en excel, jeje

haber si te sirve, Juanfe, un saludo
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfmateos2 en 17 de Enero de 2008, 14:40:17
Un método muy ingenioso Cryn, muchas gracias  :-/. Voy a aprovecharlo para crear otros caracteres que no son letras ni números, sino pequeños iconos animados. Gracias de nuevo.
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Cryn en 17 de Enero de 2008, 14:57:42
 :mrgreen: que bueno que te sirva Juanfe, mientras Manolo llega a su casa, puedes estar haciendo algo, jeje :D

un saludo
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: LABmouse en 17 de Enero de 2008, 15:18:04
Yo también quiero ese programita..  :mrgreen:
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfh900 en 17 de Enero de 2008, 15:30:02
Hola Cryn, he modificado la hoja de cálculo para que cambie de color al poner el "0" o el "1"

Un saludo
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Cryn en 17 de Enero de 2008, 15:35:58
 :shock: orale, muchas gracias, yo lo hacia manualmente :mrgreen:

gracias, creo que buscare un tutorial para excel, pues a veces ayuda bastante :mrgreen:

y como lo hiciste?? :roll:
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfh900 en 17 de Enero de 2008, 15:37:22
Mira en el menú de formato la opción de "formato condicional"

Un saludo
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Cryn en 17 de Enero de 2008, 16:29:52
ohh si ahi esta! :mrgreen: muchas gracias :-/
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: JCC40 en 17 de Enero de 2008, 16:36:21
Para evitar ése tipo de trabajos (muy engorrosos y quitan mucho tiempo) de estar convirtiendo fuentes en binario, en la práctica lo generalmente ideal es que tu circuitería de matriz de leds no "conozca" los datos que está desplegando a nivel de caracteres, sino que sólo se limite a hacer un volcado directo de datos binarios desde tu "cerebro" central o controlador. De esta forma puedes usar cualquier programa de animación en la PC y lo que se está visualizando en el monitor es lo que se visualiza en la matriz de leds. Aquí te dejo un ejemplo de como lo hago en mis pantallas

(http://www.geocities.com/jcarlosmor/temporal/Imagen23.JPG)

(http://www.geocities.com/jcarlosmor/temporal/Imagen18.JPG)
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Cryn en 17 de Enero de 2008, 16:40:47
 :shock: no entendi, como se logra eso :(
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfmateos2 en 17 de Enero de 2008, 17:49:03
Hola JCC, me parece muy buena tu idea. Sin embargo, el mío es un proyecto muy humilde, en el que sólo hay un PIC (no hay ningún cerebro central aparte del propio PIC).

Entre que Nocturno llega a casa, me he creado una páginita Web para generar caracteres de matrices:

http://www.villatic.org/carpetaJuanfe/generadorCaracteres.html

Calcula los valores en decimal y por columnas. He situado el origen en la fila inferior, pero en un comentario del código indico cómo trasladarlo a la fila superior.

Aquí les dejo el código:
Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <title>Generador de caracteres para matrices</title>
        <meta name="author" content="jfmateos2"/>
        <meta name="description" content="Generador de caracteres de matrices inspirado en todopic.com.ar"/>
        <meta http-equiv="Reply-to" CONTENT="jfmateos@lycos.es">
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
        <style type="text/css">
            div {width: 20px;
                height: 20px;               
                background-color: black;
                font-size: 0px;
            }
        </style>       
        <script type="text/javascript">
            tablero=new Array();       
            function actualizar(filaRecibida,columnaRecibida){           
                tablero[columnaRecibida][filaRecibida]=!tablero[columnaRecibida][filaRecibida];
                var vector=document.getElementById("vector");
                vector.value="{";               
                for (i=0;i<anchura;i++){
                    totalColumna=0;
                    for(j=0;j<altura;j++){
                        totalColumna+=Math.pow(2,j)*tablero[i][altura-j-1];
                       
                        //Sustituir la línea anterior por la siguiente si se desea
                        //situar el origen en la fila superior en lugar de la inferior
                        //totalColumna+=Math.pow(2,j)*tablero[i][j];
                    }
                    vector.value=vector.value+totalColumna;
                    if (i<anchura-1){
                        vector.value=vector.value+",";
                    }else{
                        vector.value=vector.value+"}";
                    }
                }
            }           
            function crearIcono(){           
                anchura=parseInt(document.getElementById("ancho").value);
                altura=parseInt(document.getElementById("alto").value);
                var oIcono=document.createDocumentFragment();
                var fila=0;
                var columna=0;                                                             
                for(j=0;j<anchura;j++){
                    tablero[j]=new Array();
                    for(i=0;i<altura;i++){
                        tablero[j][i]=0;
                    }
                }
                do{
                    var objeto=document.createElement("tr");
                    oIcono.appendChild(objeto);
                    fila++;
                    do{
                        var objeto=document.createElement("td");                         
                        oIcono.lastChild.appendChild(objeto);
                        var objeto=document.createElement("div");
                        objeto.fila=fila-1;
                        objeto.columna=columna;
                        objeto.onclick=function() {
                            if(this.style.backgroundColor=="red"){
                                this.style.backgroundColor="black";                               
                            }else{
                                this.style.backgroundColor="red";                               
                            }                           
                            actualizar(this.fila,this.columna);
                        }
                        oIcono.lastChild.lastChild.appendChild(objeto);                       
                        columna++;
                    }while(columna<anchura);
                    var columna=0;                   
                }while(fila<altura);
               
                var oTabla=document.getElementById("tabla");
                oTabla.appendChild(oIcono);               
            }

        </script>
    </head>
    <body>
        <h1>Crear caracteres para matrices</h1>
        Indique las dimensiones del carácter que desea crear:<br/>       
        Ancho: <input id="ancho" type="text" size="2" maxlength="2" value="6"/><br/>
        Alto: <input id="alto" type="text" size="2" maxlength="2" value="7"/><br/>
        <button onclick="crearIcono();this.disabled='true';">CREAR</button>
        <table border="1px" cellpadding="0" cellspacing="0">
            <tbody id="tabla"></tbody>
        </table>
        Vectores columna: <input id="vector" value="" type="text" disabled="disabled"/>
    </body>
</html>

Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Cryn en 17 de Enero de 2008, 17:55:04
muy buena creacion Juanfe, era lo que buscaba :mrgreen:

gracias por el aporte :-/
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Nocturno en 17 de Enero de 2008, 18:23:39
Bueno, disculpad el retraso, pero hoy he tenido un día especialmente complicado.
Esta es la herramienta que os anticipaba:
http://www.8052.com/users/bahrio/fontgen.phtml

A disfrutarla.
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfmateos2 en 17 de Enero de 2008, 18:36:41
Muchas gracias Nocturno. Es una aplicación muy interesentante  :-).

No hay nada que disculpar, aún teniendo un día complicado sacas tiempo para atender a los compañeros del foro. Sólo a mí, me has sacado de dos atolladeros hoy, y sé que no soy el único que se ha beneficiado de tu experiencia.

Hoy te mereces un 10.
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Nocturno en 17 de Enero de 2008, 19:11:07
De nada, me alegro que os sea útil.
Yo lo usé para hacer esto:
Fuentes TrueType para gLCD  (http://www.micropic.es/index.php?option=com_content&task=view&id=19&Itemid=39)

(http://www.micropic.es/images/imagenes/Arial12n.jpg)

(http://www.micropic.es/images/imagenes/TimesNew10b.jpg)
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: RedPic en 17 de Enero de 2008, 19:14:27

No hay nada que disculpar, aún teniendo un día complicado sacas tiempo para atender a los compañeros del foro. Sólo a mí, me has sacado de dos atolladeros hoy, y sé que no soy el único que se ha beneficiado de tu experiencia.

Hoy te mereces un 10.


Dí que sí, que hoy desde el coche volviendo de un viaje a Madrid, me ha solucionado en segundos un problema que me estaba haciendo perder los nervios en el trabajo.

Plas, plas, plas (aplauso)

Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: SavageChicken en 17 de Enero de 2008, 20:42:42
He pensado utilizar una fuente mayúscula con 5 píxeles de altura y, siempre que sea posible, sólo 3 píxeles de anchura.

Hola jfmateos2:

Veo que muchos te han ayudado respecto a tu pedido, pero pensando en lo que solicitabas originalmente, tengo exactamente eso: una fuente de 5 pixeles de alto x 3 de ancho y para todo el abecedario igual, mayúsculas, minúsculas, números y algunos caracteres especiales ¡¡¡¡¡ Incluso la letra Ñ!!!!!! . Ni te cuento como me quedaron los ojos en aquella oportunidad.  :D :D :D
Lo diseñé especialmente para un juego en un celular y se entienden claramente todas las letras, espero te sirva:

(http://img401.imageshack.us/img401/8351/tipografiavf5.gif) (http://imageshack.us)



Salud  8)
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Nocturno en 18 de Enero de 2008, 04:07:31
Jeje, qué arte, más chico imposible.  :lol:
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfmateos2 en 18 de Enero de 2008, 04:28:49
SavageChicken, te debo unas cervecitas, o lo que se tercie  :-/.

Voy a usar tu fuente, aunque posiblemente amplíe la anchura de algunas letras, como la M y la W, a 5 píxeles. Está muy chula; me han gustado especialmente las minúsculas.

Cuando la tenga terminada, colocaré aquí el código.

A uno le hace sentir bien este ambiente de camaradería. ¡Viva la gente de todopic!
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jfmateos2 en 18 de Enero de 2008, 09:12:00
Bueno, pues ya está aquí el código de la fuente de savagechicken. De momento no he incluido las minúsculas, he cambiado la longitud de algunos caracteres y he añadido otros (como el símbolo del euro).

Me ha llevado mucho menos tiempo de lo que esperaba gracias a mi  :-) versión mejorada del generador de caracteres (http://www.villatic.org/carpetaJuanfe/generadorCaracteres.html).

Código: [Seleccionar]
   //Numeros
   int caracter0[3]={15,17,30};//0
   int caracter1[3]={9,31,1};//1
   int caracter2[3]={19,21,9};//2
   int caracter3[3]={17,21,26};//3
   int caracter4[3]={6,10,31};//4
   int caracter5[3]={29,21,18};//5
   int caracter6[3]={15,21,22};//6
   int caracter7[3]={16,23,24};//7
   int caracter8[3]={11,21,26};//8
   int caracter9[3]={28,20,31};//9
   //Letras mayúsculas
   int caracter10[3]={15,20,15};//A
   int caracter11[3]={31,21,10};//B
   int caracter12[3]={14,17,10};//C
   int caracter13[3]={31,17,14};//D
   int caracter14[3]={31,21,17};//E
   int caracter15[3]={31,20,16};//F
   int caracter16[3]={14,17,23};//G
   int caracter17[3]={31,4,31};//H
   int caracter18[3]={17,31,17};//I
   int caracter19[3]={2,17,31};//J
   int caracter20[3]={31,12,19};//K
   int caracter21[3]={31,1,1};//L
   int caracter22[5]={31,8,4,8,31};//M   
   int caracter23[5]={31,8,4,2,31};//N
   int caracter24[5]={31,72,68,66,31};//Ñ
   int caracter25[3]={14,17,14};//O
   int caracter26[3]={31,20,8};//P
   int caracter27[4]={31,17,19,31};//Q
   int caracter28[3]={31,20,11};//R
   int caracter29[3]={9,21,18};//S
   int caracter30[3]={16,31,16};//T
   int caracter31[3]={31,1,31};//U   
   int caracter32[3]={30,3,30};//V
   int caracter33[5]={31,2,4,2,31};//W
   int caracter34[3]={27,4,27};//X
   int caracter35[3]={24,7,24};//Y
   int caracter36[3]={19,21,25};//Z
   //Signos de puntuacion
   int caracter37[2]={3,3};//.
   int caracter38[2]={1,6};//,
   int caracter39[1]={10};//:
   int caracter40[2]={1,10};//;
   int caracter41[1]={95};//¡
   int caracter42[3]={125};//!
   int caracter43[3]={14,81,2};//¿
   int caracter44[3]={32,69,56};//?
   int caracter45[2]={16,96};//´
   int caracter46[2]={62,65};//(
   int caracter47[2]={65,62};//)
   //Caracteres especiales
   int caracter48[5]={2,21,23,17,14};//@
   int caracter49[3]={50,107,38};//$
   int caracter50[5]={20,62,85,65,34};//€
   //Signos matemáticos
   int caracter51[3]={4,14,4};//+
   int caracter52[3]={4,4,4};//-
   int caracter53[3]={10,4,10};//*
   int caracter54[3]={3,4,24};///
   int caracter55[3]={19,4,25};//%
   int caracter56[3]={4,10,17};//<
   int caracter57[3]={17,10,4};//>
   int caracter58[3]={10,10,10};//=
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: SavageChicken en 18 de Enero de 2008, 09:24:58
No hay nada que agradecer jfmateos, es agradable ver que el trabajo realizado sirve para otras personas también.-

Como verás nunca mejor aprovechados los tres pixeles de ancho  :D :D :D
Preferí hacerlo así también con letras difíciles como la M la N la Q y la W solo para no complicarme con el código, basta desplazarse la misma cantidad de pixeles a la derecha para leer cualquier letra.
Otra de las motivaciones fue que al probar como se leían, noté que se entendían claramente y que a pesar de tener tan pocos pixeles, se podía distinguir entre la M y la N por ejemplo.

P/D: Gracias por la buena onda Manolo, tu programita también es un gran aporte.

Salud  8)
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Cryn en 18 de Enero de 2008, 17:03:52
magnifico trabajo, seguramente esta qeudando muy bien :mrgreen:
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: JCC40 en 18 de Enero de 2008, 18:08:51
:shock: no entendi, como se logra eso :(

Ocupas una circuitería diseñada especialmente para sólo manejar los leds, independientemente de lo que quieras visualizar con ellos (recuerdas aquellas tres frecuencias independientes de refresco, actualización, etc.). De esta forma lo que quieras visualizar son sólo unos y ceros, así sea una letra o una imagen, no dependes de un circuito que tenga que saber cómo visualizar las cosas sino sólo recibirlas y hacer el volcado. Puedes hacer dicho volcado de datos partiendo desde un archivo gráfico o de animación, o directamente desde la señal VGA, aunque aquí ocupas diseñar un buffer para convertir (y procesar si es necesario) una porción de la señal VGA en un stream de datos correspondientes a las coordenadas de color en el diagrama de cromaticidad expuesto aquí

http://www.todopic.com.ar/foros/index.php?topic=19609.0

si el display es monocromático sólo pones ceros en los colores que no se usan.
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Cryn en 19 de Enero de 2008, 03:03:31
ahora si mas o menos le voy entendiendo :mrgreen:

gracias por la aclaración
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jjjjose en 19 de Septiembre de 2012, 15:50:38
hola nocturo
podrias mandarme el programita o subelo a un servidor
porfis
la pagina ya no sirve
lo necesito urgente
porfissssssssss
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: Nocturno en 19 de Septiembre de 2012, 16:55:10
http://fontgen.sourceforge.net/
Título: Re: Busco fuente (tipo de letra) para matriz de LED
Publicado por: jjjjose en 24 de Septiembre de 2012, 11:01:09
PORFAAAAAAAA
resuban el programilla

la pagina ya no funciona
me manda un error

porfaaaaaaaaaa