Eigene Zeichen auf dem LCD-Display

Mit dem Arduino eigene Zeichen auf dem LCD-Display anzeigen

Buchstaben und Zahlen sind dir zu langweilig? Dann bring deine eigenen Zeichen aufs LCD-Display*! Mit der Bibliothek LiquidCrystal ist das kein Problem.

Nehmen wir an, du möchtest ein Herz anzeigen. Hierfür definierst du zunächst dein Zeichen:

byte heart[8] = {
  B00000,
  B00000,
  B01010,
  B10101,
  B10001,
  B01010,
  B00100,
  B00000
};

Jedes „Feld“ auf deinem LCD-Display hat 8 Reihen mit je 5 Punkten, also insgesamt 40 Punkte, die entweder aufleuchten (1) oder nicht (0). Die ersten beiden Reihen im Beispiel oben bestehen nur aus Nullen – d.h. sie sind leer. Die nächste Reihe – 01010 – leuchtet an zwei Stellen. Das sind die oberen Bögen des Herzes.

Wenn du dir die Zahlenreihen im obigen Byte genau anschaust, erkennst du auch schon das Herz. Mit etwas Übung könntest du so also dein Zeichen entwerfen. Leichter geht es allerdings mit diesem Tool.

Dort kannst du dir dein Zeichen ganz einfach zusammenklicken. Rechts daneben erscheint dann der entsprechende Code, den du in deinen Sketch einbinden kannst.

Entwurf eines eigenen Zeichen für ein LCD-Display am Arduino
Das Herz für dein LCD-Display

So kommt dein Zeichen auf das LCD-Display

Um das von dir erstellte Zeichen auf deinem LCD Display anzuzeigen, benötigst du z.B. diesen Code:

 lcd.createChar(0, heart);
 lcd.begin(16, 2);  
 lcd.write(byte(0));

Die Funktion lcd.createChar(num, data) übernimmt die „Konstruktion“. num steht hier für die Nummer des Zeichens. Beachte bitte: Du kannst in deinem Sketch maximal 8 selbst erstellte Zeichen verwenden; gezählt wird ab der Null. data ist in unserem Fall das Byte heart, das du oben definiert hast.

Mit lcd.begin(16, 2) initialisiert du das Display – in unserem Fall hat es 2 Reihen à 16 Zeichen.

Die Funktion lcd.write(byte(0)) schreibt zuletzt das Zeichen aufs Display. Und das war’s auch schon!

Der vollständige Sketch könnte also wie folgt aussehen. Beachte hier bitte, dass die Belegung der Pins diesem Anschluss eines LCD-Displays folgt.

#include <LiquidCrystal.h>

LiquidCrystal lcd(11, 12, 2, 3, 4, 5);

byte heart[8] = {
  B00000,
  B00000,
  B01010,
  B10101,
  B10001,
  B01010,
  B00100,
  B00000
};

void setup() {
  lcd.createChar(0, heart);
  lcd.begin(16, 2);  
  lcd.write(byte(0));
}

void loop() {}

Wenn du wissen möchtest, was du mit der Bibliothek LiquidCrystal noch so alles anstellen kannst, wirf einen Blick in die Dokumentation für den Arduino. Besonders interessant ist die Möglichkeit, Zeichen über das Display scrollen zu lassen: Damit bist du nicht auf z.B. 16 Zeichen beschränkt, sondern kannst längere Informationen einfach als Lauftext anzeigen.

In diesem Projekt lernst du, wie du eine Spielfigur auf dem LCD-Display animierst.

Verwendest du ein OLED-Display? Dann lerne hier, wie du eigene Bilder dort anzeigen kannst.

Ud noch viele weitere Ideen findest du in unseren Arduino-Projekten.

Bausätze für dein nächstes Projekt

Alles, was du für dein nächstes Projekt brauchst – Bausätze inklusive Anleitung als E-Book und der benötigten Hardware.

ESP8266 Projekt

Wetterstation & Vorhersage

Miss die aktuelle Temperatur und Luftfeuchtigkeit und zeige dazu die Wettervorhersage auf einem OLED-Display an.

Bausatz anschauen

Arduino Projekt

Pflanzenwächter

Braucht deine Pflanze Wasser? Dieses Arduino Projekt gibt dir Bescheid, wenn es so weit ist.

Bausatz anschauen

ESP8266 Projekt

Webserver

Lerne, wie du mit deinem Webserver Messdaten ausgibst, Geräte steuerst und dir mit HTML und CSS ein Interface erstellst.

Bausatz anschauen

Arduino Projekt

Wetterstation

Baue deine eigene Wetterstation, die dir Temperatur und Luftfeuchtigkeit anzeigt.

Bausatz anschauen

Auch interessant

Mehr Projekte für Arduino, ESP32, Raspi & Co
Werde Mitglied bei Pollux Labs und finde dein nächstes Projekt. Zum Beispiel:
Über 100 Maker sind bereits Mitglied bei Pollux Labs
  • ESP32 Internetradio
  • Arduino Wetterstation
  • ESP8266 & Raspi Webserver
  • Automatische Bewässerung
  • ... und viele mehr!