Ein 4×40 LCD Display mit Arduino nutzen

Wie man ein normales 2×16 LCD Display am Arduino anschließt und nutzt habe ich ja nun schon in einigen Beiträgen erleutert.
Leider ist so ein 2×16 Display für einige Anwendungsfälle doch recht beschränkt was den Platz angeht. So habe ich mir vor einiger Zeit das riesige 4×40 LCD-Modul NAN YA LMMK5T028E2 mit gelber Hintergrundbeleuchtung bei Pollin gekauft.

4x40 LCD Display

In diesem Beitrag will ich nun zeigen was die Besonderheiten dieses Displays sind, wie man es mit dem Arduino verbindet um anschließend seine Texte auf dem Display auszugeben.

 

Besonderheiten

Da das Display mit einem oder besser gesagt zwei HD44780 kompatiblen Controllern ausgestattet ist, lässt sich dieses mit der standard LiquidCrystal Library ansteuern. Da der HD44780 kompatible Controller nur maximal 80 Zeichen ansteuern kann wird auch klar warum hier zwei dieser Controller verbaut sind. Auch interessant zu erwähnen dass die Schnittstelle zwei Taktleitungen mit E1 und E2 bezeichnet enthält. Die Ansteuerung des Displays erfolgt hier wie die Ansteuerung eines gewöhnlichen 2×16 oder 4×16 LCD Displays nur dass hier der erste Controller für die Ansteuerung von Zeile 1 und Zeile 2 und der zweite Controller für die Ansteuerung von Zeile 3 und Zeile 4 zuständig sind.

 

Anschluss des 4×40 LCD Displays am Arduino

Da es in Fritzing kein 4×40 Display Bauteil gibt habe ich hier einen 18 poligen Pfostenstecker benutzt.
Die extra Stromversorgung nutze ich da die 5V des Arduino nicht ausreichen um das Display anständig auszuleuchten.

Gelb    = data bus line 4 - 7
Grün    = Taktleitungen E1 und E2
Orange  = RS (Register Select)
Grau    = Display Kontrast
Rot     = +5V
Schwarz = GND

Display4x40_Fritzing_Breadboard

 

Anschlussbelegung des Displays

PIN SYMBOL  FUNCTION
--------------------
1   DB7     Data bus line
2   DB6     Data bus line
3   DB5     Data bus line
4   DB4     Data bus line
5   DB3     Data bus line
6   DB2     Data bus line
7   DB1     Data bus line
8   DB0     Data bus line
9   E1      H/L enable signal IC1
10  R/W     H/L read/write
11  RS      Register select
12  V0      Contrast adjustment
13  VSS     Ground
14  VDD     +5V
15  E2      H/L enable signal IC2
16  NC/VEE  NC/negative voltage output
17  A       +5V
18  K       Ground

 

Verbindung Display -> Arduino Uno

Arduino Uno     4x40 LCD Display  Function
Pin11           Pin15             E1
Pin12           Pin11             RS 
Pin13           Pin9              E2
Pin5            Pin4              DB4
Pin2            Pin3              DB5
Pin4            Pin2              DB6
Pin3            Pin1              DB7

 

Arduino-Code

#include 
 
LiquidCrystal lcd1(12, 13, 5, 2, 4, 3); //RS, E1, DB4, DB5, DB6, DB7
LiquidCrystal lcd2(12, 11, 5, 2, 4, 3); //RS, E2, DB4, DB5, DB6, DB7 
 
 
void setup() 
{
  lcd1.begin(40, 2);
  lcd2.begin(40, 2);
 
  lcd1.setCursor(0,1); //Zweite Zeile auf dem Display
  lcd1.print("4 x 40 LCD Display - Test");
  lcd2.setCursor(0,0); //Dritte zeile auf dem Display
  lcd2.print("v 1.0");
 
  delay(2000);
    
  lcd1.clear();
  lcd2.clear();
}
 
 
void loop() 
{
  lcd1.setCursor(0,0); //Spalte 0, Zeile 1 auf dem Display
  lcd1.print("Erste Zeile");
  lcd1.setCursor(0,1); 
  lcd1.print("Zweite Zeile");
 
  lcd2.setCursor(0,0); //Spalte 0, Zeile 3 auf dem Display
  lcd2.print("Dritte Zeile");
  lcd2.setCursor(0,1); 
  lcd2.print("Vierte Zeile");
}

Über Enrico S.

Programmierer, Webdesigner, Grafiker, Blogger, Screencaster, Arduino- und eMobility Enthusiast. nefilim3006 ist auch bei Google+ vertreten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.