Autor Tema: Busco fuente (tipo de letra) para matriz de LED  (Leído 23618 veces)

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

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #15 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>

« Última modificación: 17 de Enero de 2008, 18:31:24 por jfmateos2 »

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #16 en: 17 de Enero de 2008, 17:55:04 »
muy buena creacion Juanfe, era lo que buscaba :mrgreen:

gracias por el aporte :-/
.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #17 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.

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #18 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.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #19 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




Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #20 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)

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado SavageChicken

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 936
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #21 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:





Salud  8)
« Última modificación: 17 de Enero de 2008, 20:50:00 por SavageChicken »
No hay preguntas tontas...
Solo hay tontos que no preguntan.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #22 en: 18 de Enero de 2008, 04:07:31 »
Jeje, qué arte, más chico imposible.  :lol:

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #23 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!

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #24 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};//=
« Última modificación: 18 de Enero de 2008, 10:11:22 por jfmateos2 »

Desconectado SavageChicken

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 936
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #25 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)
No hay preguntas tontas...
Solo hay tontos que no preguntan.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #26 en: 18 de Enero de 2008, 17:03:52 »
magnifico trabajo, seguramente esta qeudando muy bien :mrgreen:
.

Desconectado JCC40

  • PIC10
  • *
  • Mensajes: 39
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #27 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.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #28 en: 19 de Enero de 2008, 03:03:31 »
ahora si mas o menos le voy entendiendo :mrgreen:

gracias por la aclaración
.

Desconectado jjjjose

  • PIC10
  • *
  • Mensajes: 11
Re: Busco fuente (tipo de letra) para matriz de LED
« Respuesta #29 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