Como hacer Números grandes en reloj RGBMatrix 16X32 pieles

Hola Chicos/as

Tras varias pruebas exitosas con mis paneles led RGB de 16 x 32 pixeles. He incluid un reloj DS3231 y mezclado los códigos...Funciona perfecto pero, me gustaría mejorar el aspecto de los números.
Estos se ven muy sencillotes. Tengo 32 pixeles de ancho por 16 de alto.
Desde mis escasos conocimientos, adivino que el tipo de fuente viene ya dado por la librería y no se como cambiarlo.
Antes en el código original, eran de 8 pixeles de altura y los he cambiado a 14 pixeles ya que solo quiero mostrar horas y minutos. En ejemplos de la red muestran tb la fecha, por eso de números solo de 8 px.

Este es el codigo copiado, mezclado y modificado:

#include <Wire.h>   // incluye libreria para interfaz I2C
#include <RTClib.h>   // incluye libreria para el manejo del modulo RTC
#include <RGBmatrixPanel.h>

RTC_DS3231 rtc;     // crea objeto del tipo RTC_DS3231
// SDA a A4 y SCL a A5

#define CLK  8   // USE THIS ON ARDUINO UNO, ADAFRUIT METRO M0, etc. If use MEGA, then chose CLK to pin 11

#define OE   9 
#define LAT 10
#define A   A0
#define B   A1
#define C   A2

RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);


void setup () {
 
 matrix.begin();

 if (! rtc.begin()) {       // si falla la inicializacion del modulo
 Serial.println("Modulo RTC no encontrado !");  // muestra mensaje de error
 while (1);         // bucle infinito que detiene ejecucion del programa
 }
//rtc.adjust(DateTime(__DATE__, __TIME__));  // funcion que permite establecer fecha y horario cogido del pc.
//rtc.adjust(DateTime(2019, 11, 18, 3, 0, 0));//quitta las // y sube para ajustar hora.  Luego vuelve a poner //          

            
}           

void loop () {
 DateTime fecha = rtc.now();      // funcion que devuelve fecha y horario en formato
  

//Muestra hora y minutos
  
  matrix.setTextSize(1,2);   // size 1 == 8 pixels high. 1,2 uses 14 pixels high.
  matrix.setTextColor(matrix.Color333(0, 7, 0));
  matrix.setCursor(0, 1);  // start at second row left, with one pixel of spacing
  matrix.print(fecha.hour(), DEC);
  matrix.setCursor(12, 1);
  matrix.print(":");
  matrix.setCursor(18, 1);
  matrix.print(fecha.minute(), DEC);

    
  delay(1000);
  matrix.fillScreen(0);   


 
}

Agradecería si alguien me indica por donde buscar. Palabras, comandos C o alguna sugerencia. Al igual que hice (con ayuda del foro) lo mismo con un panel LCD de 4X20, quisiera hacer lo mismo con este panel.
por más que busco, no encuentro nada que me encaje.

Gracias

Podés probar con esta tipografía.

Arial_Black_16.h (12.1 KB)

Tienes que hacer dos cosas:
Analizar la librería como interpreta la fuente (matrix de los números) y si solo interpreta 8 pixeles, modificarlo para que coge digitos de 14 píxeles.
Después crear/modificar el fichero de las matrices de 8 a 14 píxeles. Para esto a lo mejor ya te sirve el fichero posteado por Pablo_Lucini

Gracias a los dos.
Voy a probarlo ahora mismo.
EIEspanol, lo de fuente a 14 pixeles, ya lo hice en el propio codigo. Es facil, solo cambiar esto y pasa de 8 a 14:

matrix.setTextSize(1,2);   // size 1 == 8 pixels high. 1,2 uses 14 pixels high.

Si se deja (1), la fuente es de 8 px.

Ahora probaré lo que sugiere Pablo_Lucini.

El problema, al ser novato es que no encuentro donde están las librerías

#include <Wire.h>   // incluye libreria para interfaz I2C
#include <RTClib.h>   // incluye libreria para el manejo del modulo RTC
#include <RGBmatrixPanel.h>

Obviamente, las tengo y arduino las coge, pero en la carpeta C/arduino/libraries no las tengo. Es extraño porque las coge pero no sé de donde. Tampoco están en c/users/usuario/mis documentos/arduino.

Para modificar la librería, tengo que encontrarla.
En preferencias del IDE de arduino, en Localización de proyecto, indica una ruta que tampoco contiene esas librerias. A esa ruta solo van los nuevos sketch.

Seguiré probando despues de eplorar la opción de Pablo_Lucini.

Gracias

Uffff, olvidé recordar que soy novato....
Que hago con este archivo ??? Ya veo que es un sketch que define la forma de la fuente.

Pero mis escasos conocimientos no me permiten entender que hacer con ello.
Mezclar ese código con el mío ?

Gracias de antemano

Ok, ya encontré donde guarda arduino las librerias. La verdad es que tras problemas pasados, he reinstalado el IDE en varias localizaciones diferentes. Ahora tengo carpetas libraries por todas partes.
La buena es precisamente en donde indica "preferencias" del IDE. dentro de esa ruta tengo una carpeta más...que se llama libraries...Que casualidad jajajajaja

Segun indicas EIEspanol, en el codigo de ese archivo .h debería encontrar la parte que se refiere al tipo de fuente ???
Recuerda que lo que deseo es que sea mas gruesa... Los 14 px ya los conseguí.

Tras recibir el archivo de Pablo_Lucini, veo que abunda en la red, pero no entiendo qué hacer con el ??' Es una libreria o es un sketch para ejecutar ??? El archivo incluye:

#include <inttypes.h>
#ifdef __AVR__
#include <avr/pgmspace.h>
#elif defined (ESP8266)
#include <pgmspace.h>
#else
#define PROGMEM
#endif

Esto me hace deducir que tengo que instalar las librerias avr/pgmspace.h y pgmspace.h ????

Perdonad mi ignorancia, creo que me he saltado alguna clase.... Los 52 años no ayudan a entender a la primera.

Gracias

Estan instaladas, de modo que no hagas mas macanas con 3 IDEs instalados. No instales nada mas nada.
Por favor, desinstala los que no usas porque solo te estan trayendo problemas al momento de compilar.

Nota: la edad no puede ser excusa para aprender jaja. Yo te aventajo.

surbyte:
Yo te aventajo.

yo también

El fichero Arial black 16.h contiene los bitmaps en la resolución 16x10px

Perdonad chicos que insista.

Tengo el fichero Arial_black_16.h, ¿Qué hago con él ?

Yo tengo mi sketch .ino que gestiona el panel led 16x32 y el reloj DS3231.

Mientras intento entender vuestra valiosa ayuda, buscando por la red, veo que hay gente que lo usa en sus sketch... Por ejemplo en este trozo de codigo:

#include <SPI.h>        //SPI.h must be included as DMD is written by SPI (the IDE complains otherwise)
#include <DMD.h>        //
#include <TimerOne.h>   //
#include "SystemFont5x7.h"
#include "Arial_black_16.h"

Entiendo que si fuese una librería, lo llama con el include, pero esto no es una librería, es un simple archivo.
¿ Creo una carpeta con ese nombre y lo meto dentro de la carpetas de libreries ??

Más adelante en ese sketch que usa otras librerías, encontrado en la web, veo que indica que fuente quiere usar.

dmd.selectFont(Arial_Black_16);
   dmd.drawChar(  0,  3, '2', GRAPHICS_NORMAL );
   dmd.drawChar(  7,  3, '3', GRAPHICS_NORMAL );
   dmd.drawChar( 17,  3, '4', GRAPHICS_NORMAL );
   dmd.drawChar( 25,  3, '5', GRAPHICS_NORMAL );

Entiendo que está indicando a su librería principal, qué fuente quiere usar.
Entonces como dmd es una librería diferente a la que yo utilizo, tendré que buscar el equivalente a esto anterior pero para la librería que yo uso: RGBmatrixPanel.h

Mañana lo intentaré.
Agradecería para futuros proyestos, que alguien me aclare esa primera parte... Se puede utilizar un archivo al igual que hacemos con una librería ??? Llamandolo con "include" y ¿ Donde se debe guardar ese archivo ???

Gracias

Hola Chicos...
La búsqueda y los intentos no se detienen.

Por lo visto por la red, el archivo Arial_black_16.h debe estar en la misma carpeta que ele sketch.

Así lo he hecho.

En el sketch incluyo dicho archivo con:

#include "Arial_black_16.h"

A la hora de elegir el tipo de letra incluyo estas lineas:

matrix.setFont(Arial_Black_16);
  matrix.setTextColor(matrix.Color333(0, 7, 0));
  matrix.setCursor(0, 1);  // start at second row left, with one pixel of spacing
  matrix.print(fecha.hour(), DEC);
  matrix.setCursor(12, 1);
  matrix.print(":");
  matrix.setCursor(18, 1);
  matrix.print(fecha.minute(), DEC);

Pues no me compila..Es muy extraño para mi, ver que en codigos encontrados por la red, que utilizan la misma librería RGBMatrixpanel, como yo, ellos incluyen la funcion matrix.setFont para llamar a ese archivo...
A mi me sale el tipico mensaje de error:

no matching function for call to 'RGBmatrixPanel::setFont(const uint8_t [1646])'

Obviamente no se que quiere indicar.
Alguna sugerencia ???

Hola de nuevo.
Volviendo la principio y buscado sentido parami, a la sugerencia de ElEspanol, el único archivo de la biblioteca RGBmatrixpanel.h que parece referirse al tipo y tamaño de la fuente, es gamma.h

Su contenido se parece mucho al archivo que me envió Pablo_Lucini sobre la fuente arial_Black_16 y es este:

#ifndef _GAMMA_H_
#define _GAMMA_H_

#ifdef __AVR__
  #include <avr/pgmspace.h>
#elif defined(ESP8266) || defined(ESP32)
  #include <pgmspace.h>
#endif

static const uint8_t PROGMEM gamma_table[] = {
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
  0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,
  0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
  0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
  0x02,0x02,0x02,0x02,0x02,0x03,0x03,0x03,
  0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
  0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x04,
  0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
  0x04,0x04,0x04,0x04,0x04,0x04,0x05,0x05,
  0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
  0x05,0x05,0x05,0x06,0x06,0x06,0x06,0x06,
  0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x07,
  0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
  0x07,0x07,0x08,0x08,0x08,0x08,0x08,0x08,
  0x08,0x08,0x08,0x08,0x09,0x09,0x09,0x09,
  0x09,0x09,0x09,0x09,0x09,0x0a,0x0a,0x0a,
  0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0b,0x0b,
  0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0c,0x0c,
  0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0d,0x0d,
  0x0d,0x0d,0x0d,0x0d,0x0d,0x0e,0x0e,0x0e,
  0x0e,0x0e,0x0e,0x0e,0x0f,0x0f,0x0f,0x0f
};

#endif // _GAMMA_H_

Es muy parecido incluso para un novato, el asunto es como meter las matrices de Pablo (Arial_Black_16.h) para que sustituyan el tipo de letra de la librería ? Ya he sustituido todos esos numeros debajo de "gamma_ table" y he puesto los del archivo Arial_Black_16.h. Pero no cambia nada.

Estoy a punto de tirar la toalla y empezar con otra cosa.....
Se agradecería alguna sugerencia de por donde buscar.

Gracias de antemano.

Lo que quieres hacer no es nada para novatos.
El fichero gamma.h es totalmente otra cosa, pero usa la misma técnica. Es que se pone definiciones en un fichero externo typo .h que se incluye en el ino principal. Así se ahorra tener definiciones largas que nunca cambian al principio del sketch.

Tu ahora tienes que buscar en la librería de donde se saca la información de la matriz de las letras. Es decir, que led está encendida y que está apagada. Y tienes que analizar el formato, cómo esta definido esto.
A partir de allí has de cambiar/ampliar estás matrices de las letras por las de 16px de altura y cambiar la rutina de mostrar la letra de 8px a 16 px. Y a lo mejor muchas tonterías más.

Tal como dicho, no es nada fácil.

Gracias...
L odel tamanño ya lo he conseguido facil... Por defecto la librería tiene 8px de altura si seleccionas (1), simplemente usando (1,2) ya usa 14 px de alto...Porqué ??? Ni idea.

Seguiré buscando como dices, saber que gamma.h no tiene nada que ver, ya me ayuda mucho.
Graicas

Si pones 2 como tamaño, la librería agranda la matriz original, digamos en "resolución baja". Supongo que usa la definición de las letras de 8ps y lo duplica en altura. Lo que tu quieres es tener una fuente con resolución real de 16px.

Hola

Como en la librería RGBMatrixpanel.h no encuentro nada que me indique que se refiere al tipo/tamaño de letra para modificarlo, he seguido buscando.

Mucha info sobre la lib DMD pero todo lo que encuentro es para modulos led monocolor (no RGB).

He encontrado una web con un software para descargar, que te permite customizar la fuente a tu gusto, algo parecido a lo que hacemos con las fuentes para LCD 16x2 o 20x4. En este caso al crear/modificar una fuente, genera un código basado en la librería X-GLCD Lib.h que se inserta en el cogido principal de nuestro proyecto y al escribir un numero o letra concreta, lo coge de la librería y lo muestra como lo hayas customizado antes. Esta es la teoría, aún no lo he insertado en mi código principal ni probado. Estoy ansioso de encontrar un hueco de tiempo para hacerlo y saltar este escollo.

Tutorial del programa

Esta es la web:

Este es un ejemplo de código generado con dicho soft para incluir en el proyecto. Solo he modificado algunos números.

//WARNING: This Font Require X-GLCD Lib.
//         You can not use it with MikroE GLCD Lib.

//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0
//MikroElektronika 2011 
//http://www.mikroe.com 

//GLCD FontName : Arial_Rounded_MT_Bold6x16
//GLCD FontSize : 6 x 16

const unsigned short Arial_Rounded_MT_Bold6x16[] = {
        0x06, 0xFE, 0x7F, 0xFF, 0xFF, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, 0xFE, 0x7F,  // Code for char 0
        0x06, 0x08, 0xC0, 0x0C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xC0,  // Code for char 1
        0x05, 0x60, 0x08, 0x30, 0x0E, 0x10, 0x0B, 0x10, 0x09, 0xE0, 0x08, 0x00, 0x00,  // Code for char 2
        0x06, 0x0E, 0x70, 0x8F, 0xF1, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0x7E, 0x7C,  // Code for char 3
        0x05, 0x80, 0x03, 0xC0, 0x02, 0x60, 0x02, 0xF0, 0x0F, 0x00, 0x02, 0x00, 0x00,  // Code for char 4
        0x05, 0xC0, 0x05, 0xF0, 0x0C, 0x90, 0x08, 0x90, 0x08, 0x10, 0x07, 0x00, 0x00,  // Code for char 5
        0x06, 0x0C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xC0, 0x00, 0xC0,  // Code for char 6
        0x05, 0x10, 0x00, 0x10, 0x0E, 0x90, 0x07, 0x70, 0x00, 0x30, 0x00, 0x00, 0x00,  // Code for char 7
        0x06, 0x7E, 0x7F, 0xFF, 0xFF, 0x83, 0xC1, 0x83, 0xC1, 0xFF, 0xFF, 0x7E, 0x7F,  // Code for char 8
        0x05, 0xE0, 0x04, 0x10, 0x0D, 0x10, 0x09, 0x10, 0x0D, 0xE0, 0x07, 0x00, 0x00,  // Code for char 9
        0x06, 0x80, 0x07, 0xE0, 0x03, 0x30, 0x02, 0xE0, 0x03, 0x80, 0x07, 0x00, 0x0C,  // Code for char A
        0x06, 0xF0, 0x0F, 0x90, 0x08, 0x90, 0x08, 0x90, 0x08, 0xD0, 0x08, 0x60, 0x07,  // Code for char B
        0x06, 0xE0, 0x07, 0x30, 0x0C, 0x10, 0x08, 0x10, 0x08, 0x30, 0x0C, 0x60, 0x06,  // Code for char C
        0x06, 0xF0, 0x0F, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x30, 0x0C, 0xE0, 0x07,  // Code for char D
        0x05, 0xF0, 0x0F, 0x90, 0x08, 0x90, 0x08, 0x90, 0x08, 0x90, 0x08, 0x00, 0x00,  // Code for char E
        0x05, 0xF0, 0x0F, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x10, 0x00, 0x00, 0x00,  // Code for char F
        0x06, 0xC0, 0x03, 0x20, 0x04, 0x10, 0x08, 0x10, 0x08, 0x10, 0x09, 0x30, 0x09,  // Code for char G
        0x06, 0xF0, 0x0F, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xF0, 0x0F,  // Code for char H
        0x01, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char I
        0x04, 0x00, 0x0E, 0x00, 0x08, 0x00, 0x08, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00,  // Code for char J
        0x06, 0xF0, 0x0F, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x03, 0x30, 0x0E, 0x10, 0x0C,  // Code for char K
        0x05, 0xF0, 0x0F, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00,  // Code for char L
        0x06, 0xF0, 0x0F, 0xF0, 0x00, 0xC0, 0x07, 0x00, 0x0E, 0xE0, 0x07, 0xF0, 0x00,  // Code for char M
        0x06, 0xF0, 0x0F, 0xE0, 0x00, 0xC0, 0x01, 0x00, 0x03, 0x00, 0x06, 0xF0, 0x0F,  // Code for char N
        0x06, 0xC0, 0x03, 0x20, 0x04, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x20, 0x04,  // Code for char O
        0x06, 0xF0, 0x0F, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0xF0, 0x00,  // Code for char P
        0x06, 0xC0, 0x03, 0x20, 0x04, 0x10, 0x08, 0x10, 0x0A, 0x10, 0x0C, 0x20, 0x0C,  // Code for char Q
        0x06, 0xF0, 0x0F, 0x10, 0x01, 0x10, 0x01, 0x10, 0x03, 0x10, 0x07, 0xF0, 0x0C,  // Code for char R
        0x06, 0xE0, 0x06, 0x90, 0x08, 0x90, 0x08, 0x90, 0x09, 0xB0, 0x09, 0x60, 0x07,  // Code for char S
        0x06, 0x10, 0x00, 0x10, 0x00, 0xF0, 0x0F, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00,  // Code for char T
        0x06, 0xF0, 0x07, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0xF0, 0x07,  // Code for char U
        0x06, 0xF0, 0x01, 0x80, 0x07, 0x00, 0x0C, 0x80, 0x07, 0xE0, 0x01, 0x30, 0x00,  // Code for char V
        0x06, 0xE0, 0x07, 0x00, 0x0E, 0x80, 0x07, 0xF0, 0x00, 0xF0, 0x00, 0x80, 0x07,  // Code for char W
        0x05, 0x70, 0x06, 0xC0, 0x03, 0xC0, 0x03, 0x60, 0x06, 0x30, 0x0C, 0x00, 0x00,  // Code for char X
        0x05, 0x30, 0x00, 0xE0, 0x00, 0x80, 0x0F, 0xE0, 0x00, 0x30, 0x00, 0x00, 0x00,  // Code for char Y
        0x06, 0x10, 0x0E, 0x10, 0x0B, 0x90, 0x09, 0xF0, 0x08, 0x30, 0x08, 0x10, 0x08,  // Code for char Z
        0x03, 0xF0, 0x3F, 0x10, 0x20, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char [
        0x02, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char BackSlash
        0x02, 0x10, 0x20, 0xF0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char ]
        0x05, 0xC0, 0x00, 0x70, 0x00, 0x30, 0x00, 0xE0, 0x00, 0x80, 0x00, 0x00, 0x00,  // Code for char ^
        0x05, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00,  // Code for char _
        0x02, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char `
        0x05, 0x80, 0x06, 0xC0, 0x0A, 0x40, 0x09, 0x40, 0x09, 0x80, 0x0F, 0x00, 0x00,  // Code for char a
        0x05, 0xF0, 0x0F, 0xC0, 0x08, 0x40, 0x08, 0x40, 0x08, 0x80, 0x07, 0x00, 0x00,  // Code for char b
        0x05, 0x80, 0x07, 0x40, 0x08, 0x40, 0x08, 0xC0, 0x08, 0x80, 0x04, 0x00, 0x00,  // Code for char c
        0x05, 0x80, 0x07, 0x40, 0x08, 0x40, 0x08, 0xC0, 0x08, 0xF0, 0x0F, 0x00, 0x00,  // Code for char d
        0x05, 0x80, 0x07, 0x40, 0x0A, 0x40, 0x0A, 0xC0, 0x0A, 0x80, 0x07, 0x00, 0x00,  // Code for char e
        0x03, 0xF0, 0x0F, 0x50, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char f
        0x05, 0x80, 0x17, 0x40, 0x28, 0x40, 0x28, 0x40, 0x28, 0xC0, 0x1F, 0x00, 0x00,  // Code for char g
        0x05, 0xF0, 0x0F, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xC0, 0x0F, 0x00, 0x00,  // Code for char h
        0x01, 0xD0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char i
        0x01, 0xD0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char j
        0x05, 0xF0, 0x0F, 0x00, 0x01, 0x80, 0x03, 0xC0, 0x0E, 0x00, 0x08, 0x00, 0x00,  // Code for char k
        0x01, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char l
        0x06, 0xC0, 0x0F, 0x40, 0x00, 0x40, 0x00, 0xC0, 0x0F, 0x40, 0x00, 0x40, 0x00,  // Code for char m
        0x05, 0xC0, 0x0F, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xC0, 0x0F, 0x00, 0x00,  // Code for char n
        0x05, 0x80, 0x07, 0x40, 0x08, 0x40, 0x08, 0x40, 0x08, 0x80, 0x07, 0x00, 0x00,  // Code for char o
        0x05, 0xC0, 0x3F, 0xC0, 0x0C, 0x40, 0x08, 0x40, 0x08, 0x80, 0x07, 0x00, 0x00,  // Code for char p
        0x05, 0x80, 0x07, 0x40, 0x08, 0x40, 0x08, 0xC0, 0x0C, 0xC0, 0x3F, 0x00, 0x00,  // Code for char q
        0x04, 0xC0, 0x0F, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char r
        0x04, 0xC0, 0x0D, 0x40, 0x09, 0x40, 0x0B, 0x80, 0x06, 0x00, 0x00, 0x00, 0x00,  // Code for char s
        0x03, 0xF0, 0x0F, 0x40, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char t
        0x05, 0xC0, 0x0F, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0xC0, 0x0F, 0x00, 0x00,  // Code for char u
        0x04, 0x80, 0x07, 0x00, 0x0C, 0x80, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char v
        0x06, 0x80, 0x07, 0x00, 0x0E, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x0E, 0x80, 0x07,  // Code for char w
        0x04, 0x80, 0x07, 0x00, 0x03, 0xC0, 0x07, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00,  // Code for char x
        0x04, 0x80, 0x27, 0x00, 0x18, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char y
        0x04, 0x40, 0x0E, 0x40, 0x0B, 0xC0, 0x09, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00,  // Code for char z
       
        };

Esta tarde lo probaré y publicaré resultados.

Saludos

Obstáculo tras obstáculo.....

Tras crear mis propias fuentes todo convencido de que estaba cerca del final, ahora no aparece la librería x-GLCD.h por ningún sitio.

Hay otra, la GLCD.h que es para fuentes inferiores a 8 pixeles... Para mas px se necesita la primera.

Ahora que tengo el codigo, sin la librtería, como leches lo meto en mi sketch ???? Que desastre...

//WARNING: This Font Require X-GLCD Lib.
//         You can not use it with MikroE GLCD Lib.

//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0
//MikroElektronika 2011 
//http://www.mikroe.com 

//GLCD FontName : Untitled6x16
//GLCD FontSize : 6 x 16

const unsigned short Untitled6x16[] = {
        
        0x06, 0xFE, 0x7F, 0xFF, 0xFF, 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, 0xFE, 0x7F,  // Code for char 0
        0x06, 0x08, 0xC0, 0x0C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xC0, 0x00, 0xC0,  // Code for char 1
        0x06, 0x0E, 0xFC, 0x0F, 0xFE, 0x03, 0xC7, 0x03, 0xC3, 0xFF, 0xF1, 0xFE, 0xF0,  // Code for char 2
        0x06, 0x0E, 0x70, 0x8F, 0xF1, 0x83, 0xC1, 0xC3, 0xC3, 0xFF, 0xFF, 0x7E, 0x7E,  // Code for char 3
        0x06, 0xFF, 0x01, 0xFF, 0x01, 0x80, 0x01, 0x80, 0x01, 0xFF, 0xFF, 0xFF, 0xFF,  // Code for char 4
        0x06, 0xFF, 0x61, 0xFF, 0xE1, 0x83, 0xE1, 0x83, 0xE1, 0x83, 0xFF, 0x83, 0x7F,  // Code for char 5
        0x06, 0xFE, 0x7F, 0xFF, 0xFF, 0x83, 0xC1, 0x83, 0xC1, 0x87, 0xFF, 0x06, 0x7F,  // Code for char 6
        0x06, 0x03, 0x00, 0x03, 0xFE, 0x03, 0xFF, 0xC3, 0x03, 0xFF, 0x01, 0x7F, 0x00,  // Code for char 7
        0x06, 0x7E, 0x7F, 0xFF, 0xFF, 0x83, 0xC1, 0x83, 0xC1, 0xFF, 0xFF, 0x7E, 0x7F,  // Code for char 8
        0x06, 0xFE, 0x60, 0xFF, 0xE1, 0x83, 0xC1, 0x83, 0xC1, 0xFF, 0xFF, 0xFE, 0x7F,  // Code for char 9
        0x04, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1C, 0x38, 0x1C, 0x00, 0x00, 0x00, 0x00,  // Code for char :
        };

EDITADO POSTERIORMENTE:

Descubierto que la librería X-GLCD no es para arduino...Con lo cual esos datos hay que buscar como encajarlos en el código.

El autor del tutorial sugiere esto que todavía estoy destripando para entenderlo:

void displayletter(char letter)
for(int i=0; i < (Calibri14x16[((letter - 65) * 29)]); i++){
digitalWrite(latchPin, 0);
delay(linedelay / 2);
shiftOut(dataPin, clockPin, MSBFIRST, Calibri14x16[((letter - 65) * 29) + 1 + (i*2)]);
shiftOut(dataPin, clockPin, MSBFIRST, Calibri14x16[((letter - 65) * 29) + 2 + (i*2)]);
digitalWrite(latchPin, 1);
delay(linedelay / 2);
}
letterspacing(2);
}

Voy a comentar lo que has preguntado varias veces, para que tu esquesh principal trabaje con otro, debes guardarlo en la misma carpeta, luego haces el llamado... mejor mira el ejemplo... :slight_smile:

Algo parecido tiene la librería MD_Parola, abre el ejemplo Parola_Double_Height_Clock y vas a ver que abre un archivo en otra pestaña llamado Font_Data.h, puede que eso te ayude a ver cómo el ejemplo trabaja con otro archivo.

Espero que te funcione, estoy esperando mis LEDS WS2812B para hacer algo como lo llevas.

Hola Dompa. Me parece que te estás haciendo demasiado lío por algo que no deberías.¿ Por qué no utilizás la librería DMD que está hecha para ese tipo de paneles.? Ahí podés usar varias fuentes de distintos tamaños. La que yo te pasé antes es una modificada de las originales ( podrías diseñar la tuya a medida).
Creo que va a ser lo más sencillo. La librería viene con varios ejemplos inclusive.

Hola Pablo y Roberto.

Desde mi nivel de conocimientos, no es tan facíl. La librería DMD que la he visto usar en cientos de tutoriales... La usan para paneles de un solo color y con conexiones diferentes a los mios. Claro que he querido usarla, pero me encuentro que los codigos que encuentro para DMD no funcionan con mi panel.
Yo tengo que basarme en Adafruit RGBmatrix panel o Adafruit-GFX.

He encontrado ciento s de fuentes como la que me enviaste, pero a la hora de carcarlas desde el sketch, no las reconoce. Sin embargo las fuentes de la carpeta Fonts, de la librería Adafruit-GFX-Library-master si que las reconoce y las usa....Problema, ninguna de esas fuentes me sirve...
Demasiado pequeñas, demasiado grandes, demasiado anchas, demasiado finas para un reloj del tipo 23:45.

Ahora he llegado al punto de intentar entender como están colocadas los datos en los archivos de la carpeta Fonts, para modificarlos para mi tipo de letra 6 de ancho x 16 de alto.

Como los datos no estén bien colocados, el sketch ya no compila... Lo he probado varias veces.

En esta web he creado fuentas del 1 al 5 solo para ver como coloca los datos.

He probado a sustituir los de una fuente de la librería, pero por algún motivos, no acepta mis datos...

Estos son los datos que me genera al crear una fuente:

// Font generated or edited with the glyphEditor
const char mia[] PROGMEM = {
0x06, // Width: 6
0x10, // Height: 16
0x01, // First char: 1
0x05, // Number of chars: 5
// Jump Table:
0x00, 0x00, 0x0C, 0x06, // 1
0x00, 0x0C, 0x0C, 0x06, // 2
0x00, 0x18, 0x0C, 0x06, // 3
0x00, 0x24, 0x0C, 0x06, // 4
0x00, 0x30, 0x0C, 0x06, // 5
// Font Data:
0x08, 0xC0, 0x0C, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xC0, 0x00, 0xC0, // 1
0x0E, 0xFC, 0x0F, 0xFE, 0x03, 0xC7, 0x83, 0xC3, 0xFF, 0xF1, 0xFE, 0xF0, // 2
0x0E, 0x70, 0x8F, 0xF1, 0x83, 0xC1, 0xC3, 0xC3, 0xFF, 0xFF, 0x7E, 0x7E, // 3
0xFF, 0x01, 0xFF, 0x01, 0x80, 0x01, 0x80, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, // 4
0xFF, 0x71, 0xFF, 0xF1, 0x83, 0xC1, 0x83, 0xC1, 0x83, 0xFF, 0x83, 0x7F, // 5
};

Pero al meterlos en uno de los archivos de fuentes de la lib, no funciona...
Adjunto un archivo de fuente de la lib que si funciona. Claro sin modificar....

El tema es como sustituir el contenido del archivo por estos datos de arriba.

Estoy perdidisimo después de una semana dedicándole 3 horas al día....

Saludos

FreeSans12pt7b.h (17.1 KB)

Con lo que llevas, 3 hora al día está bien. No dejes de estudiar el tema. Yo me he dedicado a diario y claro que siento que voy más rápido resolviendo problemas y aprendiendo. Siempre es probar y probar, actualmente estoy trabajando con una pantalla 32x8 de matriz con el max7219 de esas que vienen de 4 módulos con un RTC ds1302 y casi cuando estaba por tirar la toalla, apareció una librería que me resolvió varios problemas a la vez.

Qué error te sale?

el sketch no compila?

Abriste el ejemplo de la librería parola como te dije?