Zum Inhalt springen
Arduino und das LCD Display

So steuert man ein LCD-Display mit Arduino

    Ein LCD-Display, oder auch Liquid Crystal Display, basiert auf sogenannten 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 voneinander 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.


    Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


    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 ebenso 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 bestimmte 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*


    Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

    • Die beliebtesten Arduino-Projekte von StartHardware
    • Inklusive Schaltplan, Beschreibung und Code
    • Arduino-Schnellstart-Kapitel
    • Kompakter Programmierkurs


    10 Gedanken zu „So steuert man ein LCD-Display mit Arduino“

    1. Pingback: DHT22: Temperatur und Luftfeuchtigkeit messen mit Arduino

    2. Pingback: Bücher zum Arduino-Einstieg – Arduino Tutorial

    3. Pingback: Arduino Lottozahlen-Generator – Arduino Tutorial

    4. 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.

    5. 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.

    6. 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

    7. 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ß

    8. 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 ;)

    Die Kommentarfunktion ist deaktiviert.