Direkt zum Hauptinhalt

Display 16 Zeichen

Beschreibung

Ein Stellen mit zwei Zeilen Display.

Anschluss

image-1671977979488.png

Es werden folgende PINS angeschlossen:

RS
    ->
  • Pin 1 (VSS) und Pin 2 (VDD) dienen der Stromversorgung des Displays und der Ansteuerungselektronik. Pin 1 ist dabei auf Masse zu legen, auf Pin 2 sind +5 V Versorgungsspannung zuzuführen.
  • Pin 3 (VEE) ist ein analoger Eingang und dient der Kontrastregelung des Displays. Der Wert muss zwischen 0 V und +5 V liegen.
  • Pin 4 (RS) ist ein digitaler Eingang und bestimmt, ob die zum Display übermittelten Datenbits als Befehl (LOW) oder Zeichendaten (HIGH) interpretiert werden sollen.
  • Pin 5 (R/W) ist ein digitaler Eingang, der entscheidet, ob Daten auf dem Display geschrieben (LOW) oder vom Display eingelesen (HIGH) werden sollen. Es ist also tatsächlich möglich, den Inhalt des Displays wieder mit dem Arduino einzulesen. In der Praxis ist das aber eigentlich nie erforderlich. Daher legt man diesen Pin einfach dauerhaft auf Masse (LOW).
  • Pin 6 (E) ist ein digitaler Eingang, der auf HIGH geschaltet werden muss, damit das Display die an PINden derDatenpins Wahlanliegenden Bits ausliest.
  • Pin 7 – Pin 14 (DigitaleingangD0 PIN (2-13)D7) stehen zur Verfügung, such dirsind die raus8 dieBits indes deinembidirektionalen, Projektnochparalellen freiDatenbusses. sind)Da Eman /ungern auchganze EN8 genanntPorts ->des anArduinos PIN der Wahl (Digitaleingang PIN (2-13) stehen zur Verfügung, such dir die raus die in deinem Projektnoch frei sind) D4 - D7 -> an PIN der Wahl (Digitaleingang PIN (2-13) stehen zur Verfügung, such dir die raus die in deinem Projektnoch frei sind) Beispiel : RS -> PIN12 -> Steuersignal E -> PIN11-> Enable Display D4 -> PIN2 D5 -> PIN3 D6 -> PIN4 D7 -> PIN5 VO -> PIN6 (Muss ein Wechselstrom PIN sein (PWM) irgendein PIN mit einer ~ gekennzeichnet)nur für dendie Kontrast.Datenübertragung Wirzum steuernDisplay verbrauchen möchte, nutzt man die Fähigkeit der Ansteuerungselektronik, in den Kontrast4-Bit-Modus perzu Softwareschalten. In diesem Fall werden nur die hinteren Pins 11 – 14 (D4 – D7) mit dem Arduino verbunden und nichtdie 8 Bit in zwei Schritten (jeweils 4 Bit) nacheinander übertragen. Die Pins 7 – 10 lässt man einfach offen.
  • Pin 15 (A) und Pin 16 (K) existieren nur an LCD mit einemeingebauter Poti, sonst käme dieser pin mit einem PotiHintergrundbeleuchtung und 10dienen Kder OhmStromversorgung selbiger. An Pin 15 (Anode) kommt die Versorgungsspannung, Pin 16 (Kathode) wird auf Masse gelegt. Je nach LCD muss hier entweder ein Vorwiderstand für die im LCD verbaute LED vorgeschaltet werden oder aber der entsprechende Widerstand verbundenbefindet VSSsich bereits im LCD. Wenn man sich unsicher ist und kein Hinweis darauf beim LCD zu finden ist, kann man vorsichtshalber einen 220 Ω->Widerstand GNDeinbauen.
  • VCC/VDD
->

 5V

RW

 -> GND / Soll gelesen oder geschrieben werden, wir wollen aufs Display schreiben. A -> 5V Hintergrundbeleuchtung K -> GND Hintergrundbeleuchtung

image-1671935068922.png

Einbindung 16 Zeichen Display


Wir benötigen dazu die LiquidCrystal Library (Diese im PIO-Home Library herunterladen)
Dazu den Suchbegriff crystal eingeben

Bildschirmfoto vom 2022-12-24 23-32-29.png

Dann auf Add to Project klicken

Bildschirmfoto vom 2022-12-24 23-32-40.png

Und nun das Project auswählen

Bildschirmfoto vom 2022-12-24 23-32-53.png

Code


LibraryCode inkludieren
Beispiel:

#include <LiquidCrystal.h>
#include <Wire.h>
#include <SoftwareSerial.h>

#define PIN_LCD_VEE_VO 6                      //lcd constPin intfür rsLCD-Pin =Vee/Vo 13,(Kontrastwert)
en#define =PIN_LCD_RS 12,13                       d4// =Pin 4,für d5LCD-Pin =RS  5,(Register d6Select)
=#define 6,PIN_LCD_E d712                        =// 7;Pin für LCD-Pin E   (Enable)
#define PIN_LCD_D4 2                       // Pin für LCD-Pin D4  (Datenbit 4)
#define PIN_LCD_D5 3                       // Pin für LCD-Pin D5  (Datenbit 5)
#define PIN_LCD_D6 4                      // Pin für LCD-Pin D6  (Datenbit 6)
#define PIN_LCD_D7 5                      // Pin für LCD-Pin D7  (Datenbit 7)

#define LCD_CONTRAST 50                  // Kontrastwert (muss experimentell an das LCD angepasst werden)
#define LCD_ROWS 2                         // Anzahl der Zeilen des Displays.
#define LCD_COLS 16                        // Anzahl der Spalten des Displays.

LiquidCrystal lcd(rs,PIN_LCD_RS, en,PIN_LCD_E, d4,PIN_LCD_D4, d5,PIN_LCD_D5, d6,PIN_LCD_D6, d7)PIN_LCD_D7);
int aSeconds = 0; //Als Zähler für die Sekunden, wird fürs Display nichtebenötigt, aber wie bauen hier im Beispiel einen Zähler
void setup()
{
	analogWrite(PIN_LCD_VEE_VO, LCD_CONTRAST);  // Regele den Kontrast des Display per PWM auf den Wert LCD_CONTRAST. Wenn ein Poti benützt wird überflüssig
    lcd.begin(LCD_COLS, LCD_ROWS);           // Die Größe des Displays festlegen und das Display intialisieren.
    lcd.setCursor(0, 0);                     // Springe mit dem Cursor in der 1. Zeile an Position 1.  lcd.setCursor(Position,Zeile)
    lcd.print("Sekunden seit");              // Schreibe ab dort den Text "Sekunden seit".
    lcd.setCursor(0, 1);                     // Springe mit dem Cursor in der 2. Zeile an Position 1. lcd.setCursor(Position,Zeile)
    lcd.print("Start:");                     // Schreibe ab dort den Text "Start:".
}

void loop()
{
	lcd.setCursor(7, 1);                     // Springe mit dem Cursor in der 2. Zeile an Position 8.
    lcd.print(aSeconds);                     // Schreibe ab dort den aktuellen Wert der Variable aSeconds.
    aSeconds++;                              // Erhöhe den Wert der Variablen aSeconds um 1.

    delay(1000);                             // Warte eine Sekunde.
}


 

Code Beispiel: