Tinkering Arduino

eine kleine Welt der Elektronik.

Font Generator Für Das 8x8 LED Matrix Display

Nach langer Zeit werde ich heute mal wieder eingen Beitrag veröffentlichen. In diesem soll es darum gehen, wie man schnell und einfach ein eigenes Font-File für den Arduino generieren kann, um diese dann auf dem 8x8 LED Matrix-Display ausgeben zu können.

Dafür habe ich mir einen JavaScript Generator geschrieben, der es ermöglicht, schnell ein beliebiges Zeichen zusammen zu klicken und die entsprechende Ausgabe in ein Font-File zu kopieren. Braucht man ein andere “Auflösung” als 8x8 wie ich im nächsten Projekt, kann man durch Anpassung der Zeilen und Spalten auch bis zu 16x16 Felder bearbeiten.

Binäre Darstellung

Hexadezimal Darstellung

In dieser Version ist es leider noch nicht möglich komplette Font-Files zu erzeugen, so dass man sich die einzelnen Zeichen (Bilder) zusammenkopieren.

Im Beispiel habe ich ein Font-File erstellt, dass die Ziffern 0-9 in 6x3 (6 Zeilen und 3 Spalten) enthält.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <avr/pgmspace.h>

const unsigned char font6_3[10][3] PROGMEM =
{
  { 0x3f, 0x21, 0x3f }, // 0
  { 0x22, 0x3f, 0x20 }, // 1
  { 0x3d, 0x25, 0x27 }, // 2
  { 0x25, 0x25, 0x3f }, // 3
  { 0x07, 0x04, 0x3f }, // 4
  { 0x27, 0x25, 0x3d }, // 5
  { 0x3f, 0x25, 0x3d }, // 6
  { 0x01, 0x01, 0x3f }, // 7
  { 0x3f, 0x25, 0x3f }, // 8
  { 0x27, 0x25, 0x3f }, // 9
};

Man beachte, dass die Zeile drei sich vom dem generierten Code unterscheidet. Da mein Feld hier 10 Ziffern enthält und nicht wie im Beispiel nur eine, muss dies entsprechend angepasst werden, um ausreichend Speicher zu reservieren.

Im GitHub-Account findet man das zu diesem Beitrag gehörige Projekt bitmap-font-generator.

Comments