How to display 5x5 Font at Led Strip Neopixel 5 Row many Coloum?

I'm trying to display text (sentences) in Led Strip Neopixel which has 5 rows, with any column (at least 5 columns).

I am using the Font that attached in this topic.

I'm using a NodeMCU ESP32-S board or a NodeMCU ESP8266 board.

Maybe here someone can help me for the basic sketch.
Thanks.

uint8_t FontData[95][5] =
{
    {
         0b00000000, // Character 32: ' '
         0b00000000,
         0b00000000,
         0b00000000,
         0b00000000
    },
    {
         0b00110000, // Character 33: '!'
         0b00110000,
         0b00110000,
         0b00000000,
         0b00110000
    },
    {
         0b11011000, // Character 34: '"'
         0b11011000,
         0b01001000,
         0b00000000,
         0b00000000
    },
    {
         0b01010000, // Character 35: '#'
         0b11111000,
         0b01010000,
         0b11111000,
         0b01010000
    },
    {
         0b11111000, // Character 36: '$'
         0b11100000,
         0b11111000,
         0b00111000,
         0b11110000
    },

    {
         0b11011000, // Character 37: '%'
         0b00110000,
         0b01100000,
         0b11011000,
         0b10011000
    },

    {
         0b01010000, // Character 38: '&'
         0b11111000,
         0b11010000,
         0b11011000,
         0b01101000
    },

    {
         0b00110000, // Character 39: '''
         0b00110000,
         0b00010000,
         0b00000000,
         0b00000000
    },

    {
         0b00011000, // Character 40: '('
         0b00110000,
         0b00110000,
         0b00110000,
         0b00011000
    },

    {
         0b11000000, // Character 41: ')'
         0b01100000,
         0b01100000,
         0b01100000,
         0b11000000
    },

    {
         0b11011000, // Character 42: '*'
         0b01110000,
         0b11111000,
         0b01110000,
         0b11011000
    },
// Character 43: '+'
    {
         0b00110000,
         0b00110000,
         0b11111100,
         0b00110000,
         0b00110000
    },
// Character 44: ','
    {
         0b00000000,
         0b00000000,
         0b00110000,
         0b00110000,
         0b01100000
    },
// Character 45: '-'
    {
         0b00000000,
         0b11111000,
         0b11111000,
         0b00000000,
         0b00000000
    },
// Character 46: '.'
    {
         0b00000000,
         0b00000000,
         0b00000000,
         0b00110000,
         0b00110000
    },
// Character 47: '/'
    {
         0b00001100,
         0b00011000,
         0b00110000,
         0b01100000,
         0b11000000
    },
// Character 48: '0'
    {
         0b01110000,
         0b11011000,
         0b11011000,
         0b11011000,
         0b01110000
    },
// Character 49: '1'
    {
         0b01110000,
         0b00110000,
         0b00110000,
         0b00110000,
         0b00110000
    },
// Character 50: '2'
    {
         0b01111000,
         0b00011000,
         0b11111000,
         0b11000000,
         0b11111000
    },
// Character 51: '3'
    {
         0b11111000,
         0b00011000,
         0b01111000,
         0b00011000,
         0b11111000
    },
// Character 52: '4'
    {
         0b01011000,
         0b11011000,
         0b11111000,
         0b00011000,
         0b00011000
    },
// Character 53: '5'
    {
         0b11111000,
         0b11000000,
         0b11111000,
         0b00011000,
         0b11111000
    },
// Character 54: '6'
    {
         0b11110000,
         0b11000000,
         0b11111000,
         0b11011000,
         0b11111000
    },
// Character 55: '7'
    {
         0b11111000,
         0b10011000,
         0b00011000,
         0b00011000,
         0b00011000
    },
// Character 56: '8'
    {
         0b01110000,
         0b11011000,
         0b11111000,
         0b11011000,
         0b01110000
    },
// Character 57: '9'
    {
         0b11111000,
         0b11011000,
         0b11111000,
         0b00011000,
         0b11111000
    },
// Character 58: ':'
    {
         0b00110000,
         0b00110000,
         0b00000000,
         0b00110000,
         0b00110000
    },
// Character 59: ';'
    {
         0b00110000,
         0b00000000,
         0b00110000,
         0b00110000,
         0b01100000
    },
// Character 60: '<'
    {
         0b00110000,
         0b01100000,
         0b11000000,
         0b01100000,
         0b00110000
    },
// Character 61: '='
    {
         0b11111000,
         0b11111000,
         0b00000000,
         0b11111000,
         0b11111000
    },
// Character 62: '>'
    {
         0b01100000,
         0b00110000,
         0b00011000,
         0b00110000,
         0b01100000
    },
// Character 63: '?'
    {
         0b11111000,
         0b00011000,
         0b01111000,
         0b00000000,
         0b01100000
    },
// Character 64: '@'
    {
         0b01110000,
         0b10001000,
         0b11101000,
         0b10101000,
         0b01101000
    },
// Character 65: 'A'
    {
         0b01110000,
         0b11111000,
         0b11011000,
         0b11111000,
         0b11011000
    },
// Character 66: 'B'
    {
         0b11110000,
         0b11011000,
         0b11110000,
         0b11011000,
         0b11111000
    },
// Character 67: 'C'
    {
         0b01111000,
         0b11000000,
         0b11000000,
         0b11111000,
         0b01111000
    },
// Character 68: 'D'
    {
         0b11110000,
         0b11111000,
         0b11011000,
         0b11011000,
         0b11110000
    },
// Character 69: 'E'
    {
         0b11111000,
         0b11000000,
         0b11110000,
         0b11000000,
         0b11111000
    },
// Character 70: 'F'
    {
         0b11111000,
         0b11000000,
         0b11110000,
         0b11000000,
         0b11000000
    },
// Character 71: 'G'
    {
         0b01111000,
         0b11000000,
         0b11111000,
         0b11001000,
         0b01110000
    },
// Character 72: 'H'
    {
         0b11011000,
         0b11011000,
         0b11111000,
         0b11011000,
         0b11011000
    },
// Character 73: 'I'
    {
         0b01110000,
         0b00100000,
         0b00100000,
         0b00100000,
         0b11111000
    },
// Character 74: 'J'
    {
         0b00111000,
         0b00011000,
         0b00011000,
         0b00111000,
         0b11110000
    },
// Character 75: 'K'
    {
         0b11011000,
         0b11110000,
         0b11110000,
         0b11011000,
         0b11011000
    },
// Character 76: 'L'
    {
         0b11000000,
         0b11000000,
         0b11000000,
         0b11111000,
         0b11111000
    },
// Character 77: 'M'
    {
         0b11011000,
         0b11111000,
         0b11111000,
         0b11011000,
         0b11011000
    },
// Character 78: 'N'
    {
         0b10011000,
         0b11011000,
         0b11111000,
         0b11111000,
         0b11011000
    },
// Character 79: 'O'
    {
         0b01110000,
         0b11111000,
         0b11011000,
         0b11011000,
         0b11111000
    },
// Character 80: 'P'
    {
         0b111100000,
         0b011011000,
         0b011110000,
         0b011000000,
         0b011000000
    },
// Character 81: 'Q'
    {
         0b11111000,
         0b11011000,
         0b11011000,
         0b11110000,
         0b11111000
    },
// Character 82: 'R'
    {
         0b11110000,
         0b11011000,
         0b11110000,
         0b11011000,
         0b11011000
    },
// Character 83: 'S'
    {
         0b01111000,
         0b11000000,
         0b11111000,
         0b00011000,
         0b11111000
    },
// Character 84: 'T'
    {
         0b01111000,
         0b01111000,
         0b00110000,
         0b00110000,
         0b00110000
    },
// Character 85: 'U'
    {
         0b11011000,
         0b11011000,
         0b11011000,
         0b11011000,
         0b11111000
    },
// Character 86: 'V'
    {
         0b11011000,
         0b11011000,
         0b11011000,
         0b01010000,
         0b00100000
    },
// Character 87: 'W'
    {
         0b11011000,
         0b11111000,
         0b11111000,
         0b11011000,
         0b10001000
    },
// Character 88: 'X'
    {
         0b11011000,
         0b01010000,
         0b01110000,
         0b01010000,
         0b11011000
    },
// Character 89: 'Y'
    {
         0b11011000,
         0b11011000,
         0b01111000,
         0b00011000,
         0b11111000
    },
// Character 90: 'Z'
    {
         0b11111000,
         0b00110000,
         0b01100000,
         0b11111000,
         0b11111000
    },
// Character 91: '['
    {
         0b00111000,
         0b00110000,
         0b00110000,
         0b00110000,
         0b00111000
    },
// Character 92: '\'
    {
         0b10000000,
         0b11000000,
         0b01100000,
         0b00110000,
         0b00001000
    },
// Character 93: ']'
    {
         0b11100000,
         0b01100000,
         0b01100000,
         0b01100000,
         0b11100000
    },
// Character 94: '^'
    {
         0b00100000,
         0b01110000,
         0b11011000,
         0b00000000,
         0b00000000
    },
// Character 95: '_'
    {
         0b00000000,
         0b00000000,
         0b00000000,
         0b11111000,
         0b11111000
    },
// Character 96: '`'
    {
         0b00110000,
         0b00011000,
         0b00000000,
         0b00000000,
         0b00000000
    },
// Character 97: 'a'
    {
         0b00000000,
         0b01111000,
         0b11011000,
         0b11011000,
         0b01111000
    },
// Character 98: 'b'
    {
         0b11000000,
         0b11000000,
         0b11110000,
         0b11011000,
         0b11011000
    },
// Character 99: 'c'
    {
         0b00000000,
         0b01111000,
         0b11000000,
         0b11000000,
         0b01111000
    },
// Character 100: 'd'
    {
         0b00011000,
         0b00011000,
         0b01111000,
         0b11011000,
         0b11011000
    },
// Character 101: 'e'
    {
         0b01110000,
         0b11011000,
         0b11111000,
         0b11000000,
         0b01111000
    },
// Character 102: 'f'
    {
         0b00111000,
         0b01100000,
         0b01100000,
         0b01110000,
         0b01100000
    },
// Character 103: 'g'
    {
         0b01111000,
         0b11011000,
         0b11111000,
         0b00011000,
         0b11110000
    },
// Character 104: 'h'
    {
         0b11000000,
         0b11000000,
         0b11110000,
         0b11011000,
         0b11011000
    },
// Character 105: 'i'
    {
         0b00110000,
         0b00000000,
         0b00110000,
         0b00110000,
         0b00110000
    },
// Character 106: 'j'
    {
         0b00110000,
         0b00000000,
         0b00110000,
         0b00110000,
         0b11100000
    },
// Character 107: 'k'
    {
         0b11000000,
         0b11011000,
         0b11110000,
         0b11110000,
         0b11011000
    },
// Character 108: 'l'
    {
         0b01100000,
         0b01100000,
         0b01100000,
         0b01100000,
         0b00110000
    },
// Character 109: 'm'
    {
         0b00000000,
         0b01010000,
         0b11111000,
         0b11111000,
         0b11011000
    },
// Character 110: 'n'
    {
         0b00000000,
         0b11110000,
         0b11011000,
         0b11011000,
         0b11011000
    },
// Character 111: 'o'
    {
         0b00000000,
         0b01110000,
         0b11011000,
         0b11011000,
         0b01110000
    },
// Character 112: 'p'
    {
         0b00000000,
         0b11110000,
         0b11011000,
         0b11110000,
         0b11000000
    },
// Character 113: 'q'
    {
         0b00000000,
         0b01111000,
         0b11011000,
         0b01111000,
         0b00011000
    },
// Character 114: 'r'
    {
         0b00000000,
         0b01110000,
         0b11011000,
         0b11000000,
         0b11000000
    },
// Character 115: 's'
    {
         0b01111000,
         0b11000000,
         0b11111000,
         0b00011000,
         0b11110000
    },
// Character 116: 't'
    {
         0b01100000,
         0b11111000,
         0b01100000,
         0b01100000,
         0b00111000
    },
// Character 117: 'u'
    {
         0b00000000,
         0b11011000,
         0b11011000,
         0b11011000,
         0b01111000
    },
// Character 118: 'v'
    {
         0b00000000,
         0b11011000,
         0b11011000,
         0b01110000,
         0b00100000
    },
// Character 119: 'w'
    {
         0b00000000,
         0b11011000,
         0b11111000,
         0b11111000,
         0b01010000
    },
// Character 120: 'x'
    {
         0b00000000,
         0b11011000,
         0b01110000,
         0b11111000,
         0b11011000
    },
// Character 121: 'y'
    {
         0b00000000,
         0b11011000,
         0b11111000,
         0b00011000,
         0b11110000
    },
// Character 122: 'z'
    {
         0b00000000,
         0b11111000,
         0b00110000,
         0b01100000,
         0b11111000
    },
// Character 123: '{'
    {
         0b00011000,
         0b00110000,
         0b01110000,
         0b00110000,
         0b00011000
    },
// Character 124: '|'
    {
         0b00110000,
         0b00110000,
         0b00110000,
         0b00110000,
         0b00110000
    },
// Character 125: '}'
    {
         0b11000000,
         0b01100000,
         0b01110000,
         0b01100000,
         0b11000000
    },
// Character 126: '~'
    {
         0b00000000,
         0b01101000,
         0b10110000,
         0b00000000,
         0b00000000
    },

};
type or paste code here

You have posted the font definition but no code where you attempt to use it. Have you actually tried to use it ?

A schematic showing how the Neopixels are connected to the board and how they are powered would also be helpful

While i try with my code like this, just for check to Serial.print:

/*
Learn to write text on LedStrip Neopixel
*/

#include <Adafruit_NeoPixel.h>
#include <Adafruit_NeoMatrix.h>
#include <Font5x5.h>
#ifdef __AVR__
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif

#define LED_PIN 13
#define MTRX_ROW 5
#define MTRX_COL 60
#define LED_COUNT (MTRX_ROW * MTRX_COL)

Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

uint8_t Font5x5[95][5] 
{
  {
    0b01100, // A
    0b10010,
    0b10010,
    0b11110,
    0b10010
  },
};

void setup() {
  Serial.begin(115200);  
}

void loop() {
  readSentences('A');  
}

void readSentences(byte sentences)
{
  for (int row = 0; row < 5; row++)
  {
    for (int bit = 7; bit >= 0; bit--)
    {
      if (bitRead(Font5x5[sentences][row], bit) == 1)
      {
        Serial.print("X");
      }
      else
      {
        Serial.print(" ");
      }
    }
    Serial.println();
  }
}

If that code works then where are you stuck ?

How are the Neopixels arranged ?

If they are all in one long strand mounted in rows then you can derive the number of the pixel to write to from the row and bit numbers of the font matrix using division and the modulo operator

Alternatively there are libraries to help you, although I have never used them. Foe instance, take a look at NeoMatrix Library | Adafruit NeoPixel Überguide | Adafruit Learning System

I can't display a sentence, it can only be one letter

okey, thx, I will try...

my Strip Map like this:

289	288	287	286	285	284	283	282	281	280	279	278	277	276	275	274	273	272	271	270	269	268	267	266	265	264	263	262	261	260	259	258	257	256	255	254	253	252	251	250	249	248	247	246	245	244	243	242	241	240	239	238	237	236	235	234	233	232
231	230	229	228	227	226	225	224	223	222	221	220	219	218	217	216	215	214	213	212	211	210	209	208	207	206	205	204	203	202	201	200	199	198	197	196	195	194	193	192	191	190	189	188	187	186	185	184	183	182	181	180	179	178	177	176	175	174
173	172	171	170	169	168	167	166	165	164	163	162	161	160	159	158	157	156	155	154	153	152	151	150	149	148	147	146	145	144	143	142	141	140	139	138	137	136	135	134	133	132	131	130	129	128	127	126	125	124	123	122	121	120	119	118	117	116
115	114	113	112	111	110	109	108	107	106	105	104	103	102	101	100	99	98	97	96	95	94	93	92	91	90	89	88	87	86	85	84	83	82	81	80	79	78	77	76	75	74	73	72	71	70	69	68	67	66	65	64	63	62	61	60	59	58
57	56	55	54	53	52	51	50	49	48	47	46	45	44	43	42	41	40	39	38	37	36	35	34	33	32	31	30	29	28	27	26	25	24	23	22	21	20	19	18	17	16	15	14	13	12	11	10	9	8	7	6	5	4	3	2	1	0

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.