So steuert man ein LCD Display mit Arduino

Ein LCD Display, oder auch Liquid Crystal Display, basiert auf so genannten Flüssigkristallen, die beim Anlegen einer elektrischen Spannung ihre Polarisationsrichtung ändern. Sie werden undurchsichtig.

Natürlich steht das D in LCD für Display, aber die Leute nennen es trotzdem LCD Display und das mache ich hier auch so. Ich hoffe, es stört nicht allzu sehr.

Im LCD Display sind diese Flüssigkristalle in Segmenten angeordnet und können unabhängig von einander die Transparenz ändern. Sie finden z. B. Anwendung in digitalen Armbanduhren, Drucker-Displays, Thermometern oder im Auto.

LCD Displays gibt es in unterschiedlichen Formen und mit allen möglichen unterschiedlichen Segmentanordnungen, z. B. als Pixelraster.

Im Arduino-Bereich sind mehrzeilige alphanumerische LCD Displays mit 16 Pin Connector beliebt. Sie basieren oft auf dem HD44780 Chip von Hitachi und werden mit der Arduino-Library LiquidCrystal angesprochen. Sie sind relativ einfach anzuschließen und leicht zu programmieren.

Arduino Liquid Crystal Display (LCD)
Arduino Liquid Crystal Display (LCD) – Schaltung mit Fritzing erzeugt

Solch ein LCD Display kann im 4 oder 8 Bit Modus angesprochen werden. Im 4 Bit Modus benötigt man 4, im 8 Bit Modus 8 Datenkabel aus eben so vielen digitalen Pins des Arduino-Boards. Es wird wie im Schaltbild gezeigt angeschlossen.

Je nach Display-Typ gibt es einen Anschluss für die Hintergrundbeleuchtung und ein Potentiometer, um den Anzeigekontrast zu regeln.

LCD Display Programm-Code

Im Programm wird zunächst die Library ,die übrigens mit der Arduino-Software geliefert wird, eingebunden:

#include <LiquidCrystal.h>

Nun wird das LiquidCrystal-Objekt mit dem Namen lcd angelegt. Die digitalen Output-Pins, die man verwendet hat, werden als Parameter angegeben:

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

Im Setup wird die Displaykonfiguration übergeben. Die beiden Parameter stehen für die Zeichenanzahl einer Zeile und die Zeilenanzahl. In diesem Beispiel 16 Zeichen und 2 Zeilen:

lcd.begin(16, 2);

Mit print lassen sich Nachrichten auf das Display schreiben.

lcd.print("hello, world!");

Will man etwas an eine bestimmt Position schreiben, muss man erst den Cursor verschieben. Hier auf das erste Zeichen der zweiten Zeile (es wird ab der 0 gezählt). Im Beispiel werden die aktuellen Millisekunden/1000 ausgegeben. Es sind also Sekunden seit Einschalten.:

lcd.setCursor(0, 1);
lcd.print(millis() / 1000);

Der gesamte Code des Arduino-Beispiels (von D. Mellis und T. Igoe), dass unter Datei>Beispiele>LiquidCrystal>HelloWorld zu finden ist, sieht dann so aus:

#include <LiquidCrystal.h>

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  lcd.begin(16, 2);
  lcd.print("hello, world!");
}

void loop() {
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
}

LCD Display mit I2C Ansteuerung

LCD Display mit Arduino und I2C

Bleibt noch zu erwähnen, dass es auch andere Displays gibt, die mit wesentlich weniger Pins auskommen. Sie verfügen über einen zusätzlichen Controller und lassen sich einfach per I2C Schnittstelle vom Arduino aus steuern. (Bei I2C handelt es sich um eine Datenverbindung, die Steuersignale zwischen verschiedenen elektronischen Komponenten ermöglicht.)

Link zum Produkt mit I2C Schnittstelle*

Produktlinks

Zwei-Zeilen-Display 20×2, blau/weiß*
Vier-Zeilen-Display 20×4, blau/weiß I2C*
Display-Arduino-Shield mit Navigationstasten*

Ich würde mich freuen, wenn du diesen Beitrag bewerten würdest :-)

Durchschnittliche Bewertung 3.7 / 5. Anzahl Bewertungen: 3

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Ich hoffe, der Beitrag hilft dir weiter. Und falls du weitere Fragen hast, stelle sie gern hier im Arduino-Forum.

Du willst noch tiefer in die Materie einsteigen? Dann präsentiere ich dir die neuen E-Books von StartHardware:

  • 20 Lektionen
  • Projektbasiert und kurzweilig
  • Aus den Erfahrungen unzähliger Workshops
  • Sofortiger Download

  • Die beliebtesten Projekte von StartHardware
  • Mit Code, Schaltplan und Erklärungen
  • Fachwissen-Kapitel
  • Sofortiger Download


Willst du lieber ein Buch zum Anfassen? Dann werde mit diesem hier zum Arduino-Experten! Arduino: Kompendium: Elektronik, Programmierung und Projekte* – Damit lernst du alle Tricks!

7 thoughts on “So steuert man ein LCD Display mit Arduino

  1. Hallo Stefan,
    Ich habe ein Problem: Wenn ich den Sketch hochlade, kommen auf dem Display irgendwelche komischen Zeichen. Danke schon mal für die Hilfe.

  2. Each new age brought the criminal element forward with
    it. Today, lots of websites and blogs bring
    in unheard of income for their owners merely by promoting
    another’s company on their web pages. To report stolen email addresses
    at Yahoo, click Yahoo.

  3. Hallo, ich bin ebenfalls blutiger Anfänger und auch noch Elektronik-Trottel.. :(
    Ich habe im Netz eine ähnliche Schaltung gefunden, da war an Pin 15 und 16 zusätzlich noch einmal 5V und GND.. ist das notwendig?
    Danke und viele Grüße
    Steven

  4. Hallo Stefan,
    danke für das Tutorial. Ich fang grad mit Arduino daher sehr hilfreich wenn bestimmte Befehle auch ausreichend erklärt werden.
    Mach bitte weiter so
    Gruß

  5. Im Programmcode des finalen Programms fehlt eine Zeilenschaltung, nachdem man die Library importiert. In der ersten Zeile der Tutorial Erklärung ist es im Code auch falsch.

    LG
    Nico ;)

Comments are closed.