SKETCH‎ > ‎

LCD-16x2

http://sites.prenninger.com/arduino-uno-r3/sketch/lcd-16x2

http://www.linksammlung.info/

http://www.schaltungen.at/

                                                                                             Wels, am 2014-10-05

BITTE nützen Sie doch rechts OBEN das Suchfeld  [                                                              ] [ Diese Site durchsuchen]

DIN A3 oder DIN A4 quer ausdrucken
**********************************************************************************
DIN A4  ausdrucken
*********************************************************
LCD Display  = LiquidCrystalDisplay


Navigation
 
 
 
 
 
 
 
 
HD44780 1602 LCD Module Display Anzeigen 2X16 Zeichen
HD44780 1602 LCD Module Display Anzeigen 2X16 Zeichen
von emall supply
 
Preis: EUR 2,22
Verkauf und Versand durch BLY Power.
Weitere Informationen
 
Auf meinen Wunschzettel
 
 
 
 
 
2004 Controller Character 20x4 LCD Display Modul Shield Zeichen kompatibel mit HD44780
2004 Controller Character 20x4 LCD Display Modul Shield Zeichen...
von blypower
 
Preis: EUR 5,81
Verkauf und Versand durch Great Mart.
Weitere Informationen
 
Auf meinen Wunschzettel
 
 
 
 
 
HD44780 1602 LCD Module Display Anzeigen 2X16 Zeichen ür: Kopierer, Faxgeräte, Laserdrucker, Industrie-Prüfgeräte, Netzwerkprodukte
HD44780 1602 LCD Module Display Anzeigen 2X16 Zeichen ür: Kopierer...
von blypower
 
Preis: EUR 2,39
Verkauf und Versand durch BLY Power.
Weitere Informationen
 
Auf meinen Wunschzettel
 
 
 
 
 
Ecloud Shop HD44780 1602 LCD Module Display Anzeigen 2X16 Zeichen
Ecloud Shop HD44780 1602 LCD Module Display Anzeigen 2X16 Zeichen
von Ecloud Shop
 
Preis: EUR 3,66
Verkauf und Versand durch Ecloud Shop.




ARDUINO-IDE
ORDNER > Arduino > Arduino-1.0.5-r2\librarys\LiquidCrystal
#include <LiquidCrystal.h>  // include the library code:

Learning   Examples | Foundations | Hacking | Links

Examples > Libraries > LiquidCrystal

LiquidCrystal - display() and noDisplay()

Die Liquid Crystal Library erlaubt Ihnen, LCD-Displays, die mit dem Hitachi HD44780-Treiber sind kompatibel zu steuern.

Es gibt viele von ihnen gibt, und Sie können in der Regel sagen sie von der 16-pin-Schnittstelle.


Dieses Beispiel zeigt, wie Skizze, um die Anzeige () und nodisplay () Methoden verwenden, um auf und neben dem Display zu drehen.
Der Text, der
angezeigt wird noch erhalten werden, wenn Sie nodisplay () verwenden, so ist es eine schnelle Möglichkeit, die Anzeige leer, ohne alles zu verlieren auf sie.

Hardware erforderlich

     Arduino-Board
     LCD-Display (mit Hitachi HD44780-Treiber kompatibel)
     Stiftleisten auf dem LCD-Display Pins löten
     10k Potentiometer
     Brotbrett
     Schaltdraht

Schaltung
Vor dem Anschluss die LCD-Bildschirm, um Ihre Arduino empfehlen wir, eine Stiftleiste Streifen an der 14 (oder 16) Pin-Anzahl-Anschluss des LCD-Bildschirms zu löten, wie Sie im Bild oben sehen kann.
An den LCD-Bildschirm, um Ihre Arduino verkabeln, verbinden Sie die folgende Pins:

Schaltung:
     LCD RS Pin zu digitalen Pin 12
     LCD aktivieren Stift, um digitale Stift 11
     LCD D4 Stift, um digitale Stift 5
     LCD-D5 Stift, um digitale Pin 4
     LCD-D6 Stift, um digitale Stift 3
     LCD D7 Stift, um digitale Stift 2

     LCD R/W pin to GND
     10k Trimmer  Außen pins +5V & GND   Schleifer an  LCD Vo = pin 3

Zusätzlich Draht ein 10K Topf auf +5 V und GND, mit seinen Wischer (Ausgang) auf der LCD-Anzeige VO Stift (Pin 3).



/* NORM-Schaltungs-Aufbau
 GND  Vcc      PD2       PD3                     PD4 PD5 PD6 PD7              = ATmega328P-AU (SMD) 
03 04 32 01 02 09 10 11 = ATmega328P-AU (SMD)
 GND  Vcc      PB4       PB3                     PD5 PD4 PD3 PD2              = ATmega328p-PU 28-pol.
 08 07 18 17 11 06 05 04
= ATmega328p-PU 28-pol.

 GND   5V Pot  p12 GND  p11  GND  GND  GND  GND  p5  p4  p3  p2  5V   GND   = ARDUINO UNO R3 pin-xx

 Vss  Vdd Vee  RS    RW   En   D0   D1   D2   D3  D4  D5  D6  D7  +a LED -c   = LCD  pin1   2   3   4     5    6    7    8    9   10  11  12  13  14  15    16   = LCD pinX  Ohne Beleuchtung LCD nur 14pin  */ // +5V 10k dann 10kPot GND (Schleifer an pin3) - LCD-Kontrast-Trimmer 10k od. 20k
// Vdd 100nF an GND
// +5V pin15 150R (47R..220R) +a LED -c pin16 auf GND (Hintergrund-Beleuchtung)

LiquidCrystal lcd(RS, En, D4, D5, D6, D7); // Objekt instanziieren
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);



LiquidCrystal()

Beschreibung
Erstellt eine Variable vom Typ Liquid. Die Anzeige kann unter Verwendung von 4 oder 8 Datenleitungen gesteuert werden.
Bei seriell 4-bit die Pin-Nummern für D0 bis D3 n.c oder besser auf GND.
Wird der
pin-RW nicht benötigt dann auf GND.


Syntax:
LiquidCrystal lcd(RS, En, D4, D5, D6, D7);    4-bit
ODER
LiquidCrystal lcd(rs, rw, en, d4, d5, d6, d7);      4-bit


LiquidCrystal(rs, en, d0, d1, d2, d3, d4, d5, d6, d7)            8-bit
ODER
LiquidCrystal(rs, rw, en, d0, d1, d2, d3, d4, d5, d6, d7)       8-bit


Parameter
:
RS: die Nummer des Arduino-Pin, an die RS Stift auf dem LCD verbunden ist
RW: Die Zahl der Arduino-Pin, an den RW Stift auf dem LCD verbunden ist (optional)
Enable: die Nummer des Arduino-Pin, an den Enable-Pin auf dem LCD verbunden ist
d0, d1, d2, d3, D4, D5, D6, D7: die Nummern der Arduino Stifte, die an die entsprechenden Datenanschlüsse auf der LCD verbunden sind.
d0,
d1, d2, d3 und optional; wenn nicht angegeben, wird der LCD nur mit den vier Datenleitungen angesteuert werden (D4, D5, D6, D7).

Example

#include <LiquidCrystal.h>                     // LCD-Bibliothek (library "LiquidCrystal.h") laden
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);   // Objekt instanziieren

void
setup()
{
  lcd.begin(16,1);                                   // set up the LCD 16 Zeichen, 1 Zeile
  lcd.print("hello, world!");                       // Text-Ausgabe
}

void loop() {}



Referenz Startseite
Korrekturen, Anregungen und neue Dokumentation sollte in das Forum geschrieben werden.
Der Text der Arduino Referenz ist unter einer Creative Commons Attribution-ShareAlike 3.0 License.
Code-Beispiele
in der Referenz werden für die Öffentlichkeit
freigegeben.

http://arduino.cc/en/pmwiki.php?n=Reference/LiquidCrystalConstructor





image developed using Fritzing. For more circuit examples, see the Fritzing project page



Code

/*
  LiquidCrystal Library - display() and noDisplay()
 

Demonstriert die Verwendung ein 16x2 LCD-Display.
 Die Liquid-Bibliothek arbeitet mit allen LCD-Displays, die mit dem
Hitachi HD44780-Treiber kompatibel sind.
 16-pin mit   LED-Hintergrund-Beleuchtung
 14-pin ohne LED-Hintergrund-Beleuchtung
  Der Sketch  "Hallo Welt!" verwendet die Befehle

display ()     Funktionen, um
das Display einzuschalten.
UND
nodisplay () Funktionen  um das Display auszuschalten.

 http://arduino.cc/en/Tutorial/LiquidCrystalDisplay


LCD Ein / Aus Beispiel-Sketch


#include <LiquidCrystal.h>  // LCD-Bibliothek =  library "LiquidCrystal.h"  laden
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);    // Initialisiert die Bibliothek mit der Belegung der Anschlußstifte


void
setup() {
  lcd.begin(16, 2);                             //  Spalten und Zeilen der LCD-Anzahl festlegen
  lcd.print("hello, world!");                  // einen Text an das LCD-Display senden
}


void loop() {

  lcd.noDisplay();                              // Bildschirm ausschalten:
  delay(500);                                    // 500ms Pause

  lcd.display();                                  // Bildschirm einschalten:
  delay(500);                                     //500ms Wartezeit
}


*********************************************************

See Also:

Beispiel-Sketche


http://arduino.cc/en/Tutorial/LiquidCrystalDisplay

LiquidCrystal Library

Diese Bibliothek erlaubt ein Arduino-Board auf der Basis der Hitachi HD44780 (oder kompatibel)-Chipsatz, der auf den meisten Text-basierte LCDs gefunden wird, den LCD-Anzeigen.
Die Bibliothek   #include <LiquidCrystal.h>   arbeitet mit entweder 4-bit oder 8-bit-Modus (d.h. unter Verwendung von 4 oder 8 Datenleitungen zusätzlich zu den RS ermöglichen, und gegebenenfalls die Steuerleitungen RW).

Function




Reference Home
Korrekturen, Anregungen und neue Dokumentation sollte in das Forum geschrieben werden.
Der Text der Arduino Referenz ist unter einer Creative Commons Attribution-ShareAlike 3.0 License.
Code-Beispiele in der Referenz werden für die Öffentlichkeit freigegeben.

http://arduino.cc/en/Reference/LiquidCrystal

*********************************************************
Für die Ansteuerung von Flüssigkristallanzeigen mit dem Arduino-Board stehen entsprechende Bibliotheken zur Verfügung,
die den Aufwand für die korrekte Ansteuerung vereinfachen.

1. Paralleles LC-Display
  LCD
Displays mit paralleler Ansteuerung können vom Arduino-Board in zwei verschiedenen Modi angesteuert werden:
im 4-bit-Modus und im 8-bit-Modus.
Wie der Name bereits sagt, werden dabei für die Ansteuerung 4 oder 8 Daten-bits benötigt.
Der 4-bit-Modus hat hier den Vorteil, dass weniger digitale Ausgänge des Arduino erforderlich sind.
Im 8-bit-Modus können mehr Informationen parallel geliefert werden und entsprechend kann die Anzeige schneller aktualisiert werden.
Die Kommunikation zwischen dem Arduino-Board und dem parallelen Display erfolgt mittels der Arduino-Bibliothek LiquidCrystal.h,
die bei der Standard-Installation der Entwicklungsumgebung mitgeliefert wird.
http://www.arduino.cc/en/Tutorial /LiquidCrystal
Bei der Verbindung des LC-Displays mit dem Arduino ist zu beachten, dass für den 4-bit-Modus neben den
Kommunikationssignalen (RS, R/W, ENABLE) nur die Datenleitungen D4 bis D7 verwendet werden.
Die Datenleitungen D0 bis D3 bleiben ungenutzt.

Mit der Anweisung LiquidCrystal lcd() ein Display-Objekt erstellt.
Mit den zusätzlichen Parametern werden die Signale und Datenleitungen des Arduino an das Objekt übergeben.
Die Zahlen entsprechen den Portnummern des Arduino-Boards.
Anschließend kann mittels der Anweisung print () ein Text auf das Display ausgegeben werden.
Nachfolgend die wichtigsten Funktionen für die Ansteuerung des parallelen LC-Displays mit der LiquidCrystal-Bibliothek.
LiquidCrystal(RS, RW, En, D4, D5, D6, D7);  4-bit
LiquidCrystal(RS, RW, En, D0, D1, D2, D3, D4, D5, D6, D7);  8-bit
Erzeugt ein Objekt mit den zugehörigen Parametern.
Jede übergebene Zahl entspricht der Portnummer des Arduino-Ausgangs.
Bei der Übergabe der Datenleitungen D4 bis D7 wird das Display im 4-bit-Modus betrieben.
Bei der Übergabe der Datenleitungen D0 bis D7 arbeitet das Display im 8-bit-Modus.
LiquidCrystal lcd(8, 9, 10, 2, 3, 4, 5);  diese Pin-Belegung entspricht aber nich der gebräuchlichen Norm

clear()
Diese Funktion löscht den Display-Inhalt und der Cursor setzt sich in die linke obere Position.
  lcd.clear();

home()
Setzt den Cursor in die linke obere Position. Die Display-Anzeige bleibt unverändert.
  lcd.home();

setCursor(Spalte, Zeile)   
Diese Funktion setzt den Cursor an eine angegebene Position auf dem Display.
Eine 0 setzt den Cursor auf die erste Spalte beziehungsweise erste Zeile.
lcd.setCursor(0, 0);

write()
Gibt ein einzelnes Zeichen auf dem Display aus.
lcd.write(Serial read());

print()
Gibt einen Text auf dem Display aus.
lcd.print("Hallo Arduino-Benutzer");

cursor()
Diese Funktion blendet den Cursor an der Position ein, auf der das nächste Zeichen geschrieben wird.
lcd.cursor();

noCursor()
Blendet den Cursor wieder aus.
lcd.noCursor();

Weitere Funktionen und Beispiele sind bei den Beispielsketches der Bibliothek in der Entwicklungsumgebung zu finden.
http://arduino.cc/en/Reference/LiquidCrystal


****************************
2. Serielle LC-Displays  LCD
Serielle Displays sind im Gegensatz zu parallelen Displays teurer, dafür vermindert sich der Aufwand für die Verdrahtung und Ansteuerung des Displays. Eine Elektronik auf dem Display regelt die Umsetzung des seriellen Signals und die Anzeige der Zeichen auf dem Display. Die Ansteuerung selbst erfolgt mittels des seriellen Signals Senden (Tx). Zusätzlich werden die Versorgungsleitungen GND und 5 V mit dem Display verbunden.



*********************************************************
Alphanumerische Anzeige LCD Display 2x16 4-bit parallel LC-Display
ELVjournal  "Arduino verstehen und anwenden  Teil 5 Seite 93
LiquidCrystal lcd(RS, En, D4, D5, D6, D7);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


Vdd = Ub = +5,0V = Stromversorgung
Vss = Masse = GND
Vo = Vee = analoge Kontrast Spannung
RS Register Select = Umschaltung Befehl / Daten
En = Enable = fallende Flanke
R/W = Read (high) und Write (low)
D7 = Datenleitung = MSB
D0 = Datenleitung = LSB
*********************************************************


BUCH: Mikrocontroller verstehen und anwenden, C. Valens

Schaltung:
LiquidCrystal lcd(RS, EN, D4, D5, D6, D7);
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
Entspricht nicht der gängigen Belegung es ist halt RS dem pin-2  zugeordnet usw.

Seite 176 Anschluss eines Flüssigkristall-Displays  LCD 2x16 im parallel 4-bit Modus  HD44780 Display-Controller
Seite 186 Verkettung von Zeichen / GPS-Empfänger
Seite 207 Atmosphärischer Drucksensor Barometer Sensor Fa. Hope RF HP03S
Seite 221 Feuchtesensor SHT10 SHT11 SHT15
Seite 250 DCF77 Dekoder mit DCF77-Empangsmodul
Seite 357 Universalplatine für alle Sensoren, vorhanden
Seite 362 daten sichtbar machen  LCD-Display  1602A mit Treiber HD44780
Seite 364 GPS Experimente  mit GPS-Empfänger
Seite 366 Barometer Sensor MPX4115A
Seite 368 Feuchtigkeits-  und  Temperaturmesser SHT11
Seite 370 DCF77-Empfänger mit DCF77-Empangsmodul
Seite 371 DCF77-Sender

*********************************************************
BUCH: ... Arduino entdecken, E. Bartmann

LCD-Pinbelegung 16-pin Variante mit Hintergrund-Beleuchtungs-LED 
GND   5V Pot  pin-12  GND  p11  nc  nc  nc  nc  p5  p4  p3  p2  5V   GND   = Arduino pin-x
 Vss  Vdd  Vo  RS       RW   En  D0  D1  D2  D3  D4  D5  D6  D7   + LED -   = LCD Bezeichnung
 pin1   2   3   4        5    6   7   8   9  10  11  12  13  14  15    16   = LCD pinX

ARDUINO Sketch-Code
#include <LiquidCrystal.h>
#define RS 12 // Register Select
#define En 11 // Enable
#define D4 5 // Datenleitung 4
#define D5 4 // Datenleitung 5
#define D6 3 // Datenleitung 6
#define D7 2 // Datenleitung 7
#define COLS 16 // Anzahl der Spalten
#define ROWS 2 // Anzahl der Zeilen
LiquidCrystal lcd(RS, E, D4, D5, D6, D7); // Objekt instanziieren
LiquidCrystal lcd(RS, En, D4, D5, D6, D7);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Seite 644 Nutzung des LC-Displays - Grundlagen 5x8 Dot-Matrix des LCD-Display 2x16 4-bit parallel, Display Controller HD44780
16pol. Stiftleiste  Trimmer 10k..20k  für die LCD-Kontrast einstellung
Seite 654 Zahlenrate-Spiel

Seite 731 serielles Display  -  LC-Display I2C/TWI LCD 1602 Modul
  Vcc   GND   SCL     SDA   
  pin1  pin2  pin3    pin4      LCD 1602 Modul
  5V    GND   pin-A5  pin-A4    Arduino UNO

#include <LiquidCrystal_I2C.h> // LCD-Bibliothek (library "LiquidCrystal.h") laden


// Titel: 3.13h LCD Display 2x16 Mich_steuert_ein_Arduino_1a.ino
// Beschreibung: 16x2 LCD display Fa. QAPASS 1602A
// Autor: Fritz Prenninger
// Datum: 2014-09-29
// Sketch: _3_13h_LCD_Display_2x16_Mich_steuert_ein_Arduino_1a.ino
// Shield: keines
// Controller: Arduino UNO SMD
// Version: Arduino 1.0.5-r2
// Tools: COM4

// 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567

// _3_13h_LCD_Display_2x16_Mich_steuert_ein_Arduino_1a
// 16x2 LCD display with Arduino   Fa. QAPASS 1602A
/* Schaltungs-Aufbau
 GND   5V Pot  pin-12  GND  p11  nc  nc  nc  nc  p5  p4  p3  p2  5V    GND   = Arduino pin-x
 Vss  Vdd  Vo  RS       RW   En  D0  D1  D2  D3  D4  D5  D6  D7  +a LED -k   = LCD
 pin1   2   3   4        5    6   7   8   9  10  11  12  13  14  15     16   = LCD pinX
 Ohne Beleuchtung LCD nur 14pin
 */
// +5V 10k GND  Schleifer an pin3   -  LCD-Kontrast-Trimmer 10k od. 20k
// pin15 150R  5V (47R..220R) (br gn br gd) - LED-Hintergrund-Beleuchtung 

// Mich steuert ein Arduino an

#include <LiquidCrystal.h>
#define RS 12	// Register Select
#define E 11	// Enable
#define D4 5	// Datenleitung 4
#define D5 4	// Datenleitung 5
#define D6 3	// Datenleitung 6
#define D7 2	// Datenleitung 7

#define COLS 16 // Anzahl der Spalten 16 #define ROWS 2  // Anzahl der Zeilen 2 LiquidCrystal lcd(RS, E, D4, D5, D6, D7); // Objekt instanziieren void setup() {   lcd.begin(COLS, ROWS); // Anzahl der Spalten 16 und Zeilen 2   lcd.print("Mich steuert ein"); // Ausgabe des Textes   lcd.setCursor(0, 1); // In die 2. Zeile wechseln   lcd.print("Arduino an: -)"); // Ausgabe des Textes } void loop() {   /* leer */ }


*********************************************************
BUCH: ... Arduino Schaltungsprojekte für Profis, G. Spanner


/* Verbindungs-Tabelle entspricht nicht der ARDUINO-NORM alles vertauscht FEHLER
 GND   5V Pot  pin-11  GND  p12  nc  nc  nc  nc  p2  p3  p4  p5  5V    GND   = Arduino pin-x
 Vss  Vdd Vee  RS      R/W   En  D0  D1  D2  D3  D4  D5  D6  D7  +a LED -k   = LCD
 pin1   2   3   4        5    6   7   8   9  10  11  12  13  14  15     16   = LCD pinX
 Ohne Beleuchtung LCD nur 14pin
 */
// pin3 1k GND   -  LCD-Kontrast Widerstand 1k
// pin15 150R  5V (47R..220R) (br gn br gd) - LED-Hintergrund-Beleuchtung 
// pin5 = R/W auf GND (Low = Write)

#define COLS 16 // Anzahl der Spalten 16 #define ROWS 4  // Anzahl der Zeilen 4
LiquidCrystal lcd(RS, En, D4, D5, D6, D7); // Objekt instanziieren
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); dies ist korrekt

Seite 079 LCD-Anzeige LC-Display 4-bit parallel  16x4

Seite 165 LCD-Display-Steuerung via I2C und PCF8574 (seriell 16x2)
#include <LiquidCrystal_I2C.h> // LCD-Bibliothek (library "LiquidCrystal_I2C.h") laden

Seite 066 4-stellige LED Anzeige 7-Segment-Display mit gem. Kathode
Seite 105 Digital Thermometer mit 7-Segment-Display
Seite 120 Digital-Luxmeter mit 7-Segment-Display
Seite 137 Digital-Uhr mit 7-Segment-Display
Seite 141 Reaktionszeitmesser mit 7-Segment-Display
Seite 143 Universal-Timer mit 7-Segment-Display
Seite 163 Hex-Debugger mit 7-Segment-Display
Seite 183 IR-Fernbedienung mit 7-Segment-Display und TSOP 1736


// Titel: 3.13i LCD Display 4x16 Line 04:OK_1a.ino
// Beschreibung: 16x4 LCD display 
// Autor: Fritz Prenninger
// Datum: 2014-09-30
// Sketch: _3_13i_LCD_Display_4x16_Line_04_OK_1a.ino
// Shield: keines
// Controller: Arduino UNO SMD
// Version: Arduino 1.0.5-r2
// Tools: COM4

// 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567

// _3_13i_LCD_Display_4x16_Line_04_OK_1a
// 16x2 LCD display with Arduino   
/* Schaltungs-Aufbau
 GND   5V Pot  pin-12  GND  p11  nc  nc  nc  nc  p5  p4  p3  p2  5V  GND   = Arduino pin-x
 Vss  Vdd  Vo  RS       RW   En  D0  D1  D2  D3  D4  D5  D6  D7   A    K   = LCD
 pin1   2   3   4        5    6   7   8   9  10  11  12  13  14  15   16   = LCD pinX
 Ohne Beleuchtung LCD nur 14pin
 */
// pin3 1k  GND   -  LCD-Kontrast Einstellung
// pin15 150R  5V (47R..220R) (br gn br gd) - LED-Hintergrundbeleuchtung 

// Mich steuert ein Arduino an

#include <LiquidCrystal.h> // LCD display 16 columns, 4 lines
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initialize the LCD interface pins

void setup() {   lcd.begin(16, 4); // set up the LCD' 16 columns , 4 lines: }


void loop() { // set the cursor to column 0, line 1   // (note: line 1 is the second row, since counting begins with 0):   lcd.setCursor(0, 0);   lcd.print(">Line 00: - OK -"); // print the number of seconds since reset:   lcd.setCursor(0, 1);   lcd.print(">Line 01: - OK -"); // print the number of seconds since reset:   lcd.setCursor(16, 0);   lcd.print(">Line 02: - OK -"); // print the number of seconds since reset:   lcd.setCursor(16, 1);   lcd.print(">Line 03: - OK -"); // print the number of seconds since reset: }

*********************************************************a

BUCH: Arduino Praxiseinstieg, T. Brühlmann

Seite 232  7-Seg. Anzeige mit LED   LA-401AN  (gem. Kathode)   LA-401AD (gem. Anode)


Seite 243 Serielle LCD-Display LC-Display    Fa. Parallax Serial LCD
serielles Display  -  LC-Display I2C/TWI LCD 1602 Modul
  Vcc   GND   RX       
  pin1  pin2  pin3  
  5V    GND   pin-1 (TX)      Arduino UNO

#include <LiquidCrystal_I2C.h> // LCD-Bibliothek (library "LiquidCrystal.h") laden



Seite 240 LCD Display 16x2   LC-Display  parallel  4-bit Modus mit Display-Controller HD44780   Typ: TUXGR_16x2_R2
Seite 420 LCD-Display 20x4 4-bit parallel
a
/* Verbindungs-Tabelle entspricht nicht der ARDUINO-NORM Pin vertauscht gegenüber der NORM

 GND  Vcc     PB0   PB1  PB2                     PD2 PD3 PD4 PD5              = ATmega328p-PU 28-pol (nicht SMD)
  08 07 14 15 16 04 05 06 11 = ATmega328p
-PU 28-pol (nicht SMD)
 GND 5V Pot p8 p9 p10 GND GND GND GND p2 p3 p4 p5 5V GND = ARDUINO UNO pin-x

 Vss  Vcc Con  RS   R/W   En   D0   D1   D2   D3  D4  D5  D6  D7  +a LED -k   = LCD  pin1   2   3   4   5    6    7    8    9   10  11  12  13  14  15    16   = LCD pinX  Ohne Beleuchtung LCD nur 14pin
// +5V 10k GND  Schleifer an pin3   -  LCD-Kontrast-Trimmer 10k od. 20k
// pin15 150R  5V (47R..220R) (br gn br gd) - LED-Hintergrund-Beleuchtung 
// pin5 = R/W auf GND (Low = Write)

#include <LiquidCrystal.h> // LCD-Bibliothek (library "LiquidCrystal.h") laden
#define COLS 16 // Anzahl der Spalten 16 #define ROWS 4  // Anzahl der Zeilen 4
LiquidCrystal lcd(RS, RW, En, D4, D5, D6, D7); // Objekt instanziieren (RW normalerweise an GND)
LiquidCrystal lcd(8, 9, 10, 2, 3, 4, 5);
// Pin vertauscht gegenüber der NORM


// Titel: 3.13j LCD Display 2x16 ARDUINO-Benutzer_1a.ino
// Beschreibung: 16x4 LCD display
// Autor: Fritz Prenninger
// Datum: 2014-09-30
// Sketch: _3_13j_LCD_Display_2x16_ARDUINO_Benutzer_1a.ino
// Shield: keines
// Controller: Arduino UNO SMD
// Version: Arduino 1.0.5-r2
// Tools: COM4

// 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567

// _3_13j_LCD_Display_2x16_ARDUINO_Benutzer_1a
// 16x2 LCD display with Arduino ACHTUNG alle Pins ueber Kreuz  
/* Verbindungs-Tabelle entspricht nicht der ARDUINO-NORM Pin vertauscht gegenuber der NORM
 
  08   07      14    15   16                  04  05  06  11              = ATmega328p
 GND   5V Pot  p8    p9  p10  nc  nc  nc  nc  p2  p3  p4  p5  5V    GND   = ARDUINO UNO pin-x
 Vss  Vcc Con  RS   R/W   En  D0  D1  D2  D3  D4  D5  D6  D7  +a LED -k   = LCD
 pin1   2   3   4     5    6   7   8   9  10  11  12  13  14  15     16   = LCD pinX
 Ohne Beleuchtung LCD nur 14pin
 */
// pin3 1k GND  -  LCD-Kontrast Einstellung
// pin15 150R  5V (47R..220R) (br gn br gd) - LED-Hintergrundbeleuchtung 

// Mich steuert ein Arduino an

#include <LiquidCrystal.h>
//lcd (RS, RW, En, D4, D5, D6, D7)   Objekt instanziieren (RW normalerweise an GND)
LiquidCrystal lcd(8, 9, 10, 2, 3, 4, 5);  // Pin vertauscht gegenuber der NORM


void setup()
{
  // LCD-Setup: Anzahl Zeichen, Anzahl Zeilen
  lcd.begin(16, 2);


  lcd.print("ARDUINO-Benutzer");             // Ausgabe Text
  delay (5000);                 // 1 Sekunden warten.
  lcd.clear();                  // Display löschen.
}


void loop()
{ 
  // Cursor setzen setCursor(Spalte, Zeile)
  lcd.setCursor(1, 0); // 2. Zeichen, 1 Zeile
  lcd.print("Zeile 1-Pos.2");
  delay (2000);                 // 1 Sekunden warten.
  lcd.clear();                  // Display löschen.

  lcd.setCursor(2, 1); // 3. Zeichen, 2. Zeile 
  lcd.print("Zeile 2-Pos.3");
  delay (2000);                 // 1 Sekunden warten.
  lcd.clear();                  // Display löschen.
}





*********************************************************
*********************************************************
// Titel: 3.13g LCD Display 2x16 Hallo, Arduino UNO R3_1a.ino
// Beschreibung: 16x2 LCD display Fa. QAPASS 1602A
// Autor: Fritz Prenninger
// Datum: 2014-09-29
// Sketch: _3_13g_LCD_Display_2x16_Hallo_Arduino_UNO_R3_1a.ino
// Shield: keines
// Controller: Arduino UNO SMD
// Version: Arduino 1.0.5-r2
// Tools: COM4

// 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567

// _3_13g_LCD_Display_2x16_Hallo_Arduino_UNO_R3_1a
// 16x2 LCD display with Arduino   Fa. QAPASS 1602A
/* Schaltungs-Aufbau / pin-Belegung eines HD44780 Display-Controller
 GND   5V Pot  pin-12  GND  p11  nc  nc  nc  nc  p5  p4  p3  p2  5V  GND   = Arduino pin-x
 Vss  Vdd  Vo  RS       RW   En  D0  D1  D2  D3  D4  D5  D6  D7   A    K   = LCD
 pin1   2   3   4        5    6   7   8   9  10  11  12  13  14  15   16   = LCD pinX
 Ohne Beleuchtung LCD nur 14pin
 */
// pin3 = Vo 1k (br sw rt gd)  pin1 = GND  -  LCD-Kontrast Einstellung
// pin15 47R 5V (47R..220R) LED-Hintergrundbeleuchtung 

// Hallo, Arduino UNO R3
#include <LiquidCrystal.h>  // LCD-Bibliothek (library "LiquidCrystal.h") laden
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  // LiquidCrystal lcd(RS, EN, D4, D5, D6, D7)


void setup()
{ 
  lcd.begin(16, 2);  // 16x1 und 16x2 so initialisieren (16 Zeichen 2 Zeilen)
  lcd.setCursor(0, 0);  // Schreibposition 1 Zeichen 1 Zeile
  lcd.print("Hallo, "); // Textausgabe
  lcd.setCursor(1, 1); // Schreibposition 2 Zeichen 2 Zeile
  lcd.print("Arduino UNO R3");
}


void loop() 
{
}




// Titel: 3.13a Das LCD Display 2x16 1602A_1a.ino
// Beschreibung: 16x2 LCD display Fa. QAPASS 1602A
// Autor: Fritz Prenninger
// Datum: 2014-09-27
// Sketch: _3_13a_Das_LCD_Display_2x16_1602A_1a.ino
// Shield: keines
// Controller: Arduino UNO SMD
// Version: Arduino 1.0.5-r2
// Tools: COM4

// 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567

// _3_13a_Das_LCD_Display_2x16_1602A_1a
// 16x2 LCD display with Arduino   Fa. QAPASS 1602A
/*
 GND   5V Pot  12  GND 11  nc  nc  nc  nc  p5  p4  p3  p2  5V   GND
 Vss  Vdd  Vo  RS   RW  E  D0  D1  D2  D3  D4  D5  D6  D7   A-LED-K
 pin1   2   3   4    5  6   7   8   9  10  11  12  13  14  15    16 
 */
// Spannungsteiler  5V 10k LCDpin3 47k GND  LCD-Kontrast Einstellung

#include <LiquidCrystal.h>     // LCD-Bibliothek (library "LiquidCrystal.h") laden

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);   
/* In dieser Zeile wird festgelegt, welche Pins des MikrocontrollerBoards für das LCD
 verwendet werden (Am besten erstmal nicht verändern).
 */


void setup() {  
  // Im Setup wird angegeben, wie viele Zeichen und Zeilen werwendet werden. 
  lcd.begin(16, 2);  //  Hier: 16 Zeichen in 2 Zeilen

}


void loop() {
  /* Startposition der Darstellung auf dem LCD festlegen. 
   lcd.setCursor(0,0) bedeutet: Erstes Zeichen in der ertsen Zeile. 
   Dort soll der Text „sites.prenninger“ erscheinen.
   */
  lcd.setCursor(0, 0);   
  // der Befehl lcd.setCursor ist dem board durch das Aufrufen der Bibliothek bekannt. 
  lcd.print("sites.prenninger");
  lcd.setCursor(0, 1);                
  // lcd.setCursor(0,1) bedeutet: Erstes Zeichen in der zweiten Zeile. 
  lcd.print(" schaltungen.at");    // Dort sollte dann der Text „schaltungen.at“ auftauchen. 
}







// Titel: 3.13b Das LCD Display 2x16 1602A blinkend_1a.ino
// Beschreibung: 16x2 LCD display Fa. QAPASS 1602A
// Autor: Fritz Prenninger
// Datum: 2014-09-27
// Sketch: _3_13b_Das_LCD_Display_2x16_1602A_blinkend_1a.ino
// Shield: keines
// Controller: Arduino UNO SMD
// Version: Arduino 1.0.5-r2
// Tools: COM4

// 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567

// _3_13b_Das_LCD_Display_2x16_1602A_blinkend_1a
// 16x2 LCD display with Arduino   Fa. QAPASS 1602A
/*
 GND   5V Pot  12  GND 11  nc  nc  nc  nc  p5  p4  p3  p2  5V   GND
 Vss  Vdd  Vo  RS   RW  E  D0  D1  D2  D3  D4  D5  D6  D7   A-LED-K
 pin1   2   3   4    5  6   7   8   9  10  11  12  13  14  15    16 
 */
// Spannungsteiler  5V 10k LCDpin3 47k GND  LCD-Kontrast Einstellung

#include <LiquidCrystal.h>     // LCD-Bibliothek (library "LiquidCrystal.h") laden

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 
/* In dieser Zeile wird festgelegt, welche Pins des MikrocontrollerBoards für das LCD
 verwendet werden (Am besten erstmal nicht verändern).
 */


void setup() {  
  // Im Setup wird angegeben, wie viele Zeichen und Zeilen werwendet werden. 
  lcd.begin(16, 2);  //  Hier: 16 Zeichen in 2 Zeilen

}


void loop() {
  /* Startposition der Darstellung auf dem LCD festlegen. 
   lcd.setCursor(0,0) bedeutet: Erstes Zeichen in der ertsen Zeile. 
   Dort soll der Text „Prenninger“ erscheinen.
   */
  lcd.setCursor(0, 0);   
  // der Befehl lcd.setCursor ist dem board durch das Aufrufen der Bibliothek bekannt. 
  lcd.print("Prenninger");      // mit dem Text „Prenninger“.
  delay (1000);                 // 1 Sekunden warten.
  lcd.clear();                  // Display löschen.
  lcd.setCursor(10, 1);         // erneuter Beginn beim fünften Zeichen in der zweiten Zeile
  lcd.print("Fritz");           // mit dem Text „Fritz“.
  delay (500);                  // 0,5 Sekunden warten.
  lcd.clear();                  // Display löschen.
}




Arduino Kochbuch Seite 366
// Titel: 3.13e Das LCD Display 2x16 1602A Zeitnehmung_1a.ino
// Beschreibung: zählt die Sekunden seit dem Start
// Autor: Fritz Prenninger
// Datum: 2014-09-27
// Sketch: _3_13e_Das_LCD_Display_2x16_1602A_Zeitnehmung_1a.ino
// Shield: keines
// Controller: Arduino UNO SMD
// Version: Arduino 1.0.5-r2
// Tools: COM4

// 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567

// _3_13e_Das_LCD_Display_2x16_1602A_Zeitnehmung_1a
// 16x2 LCD display with Arduino   Fa. QAPASS 1602A
/*
 GND   5V Pot  12  GND 11  nc  nc  nc  nc  p5  p4  p3  p2  5V   GND
 Vss  Vdd  Vo  RS   RW  E  D0  D1  D2  D3  D4  D5  D6  D7   A-LED-K
 pin1   2   3   4    5  6   7   8   9  10  11  12  13  14  15    16 
 */
// Spannungsteiler  5V 10k LCDpin3 47k GND  LCD-Kontrast Einstellung

/*
LiquidCrystal Library - Hallo, Welt
 Demonstriert die Verwendung eines 16 x 2 LC-Displays.
 http : //www.arduino.cc/en/Tutorial/LiquidCrystal
 */
 
#include <LiquidCrystal.h> // Bibliothek einbinden
//Konstanten für die Zeilen und Spalten des LCDs
const int numRows = 2;   // 2 Zeilig
const int numCols = 16;  // 16 Zeichen
// Bibliothek mit den Interface-Pins initialisieren
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 
/* In dieser Zeile wird festgelegt, welche Pins des MikrocontrollerBoards für das LCD
 verwendet werden (Am besten erstmal nicht verändern).
 */

void setup()
{
  lcd.begin(numCols, numRows);
  lcd. print ("Hallo, Welt!"); //Meldung im LCD ausgeben.
}

  void loop()
  {
    // Cursor an Spalte 0, Zeile 1 positionieren
    // (Hinweis: Zeile 1 ist die zweite Zeile, da die Zählung bei 0 beginnt):
    lcd.setCursor(0, 1);
  // Seit Reset verstrichene Sekunden ausgeben.
  lcd.print(millis()/1000);
}




*********************************************************


Displays

Serielles LCD-Display (Sparkfun)

  • Drucken
Hauptkategorie: Arduino
Zuletzt aktualisiert am Freitag, 15. Juni 2012 08:07

Hardware

Sparkfun bietet ein seriell ansteuerbares LCD-Display an (16x2 und 20x4). Das ist bei Projekten sinnvoll, bei denen man wenig Arduino-Ports zur Verfügung hat. Im Prinzip wird nur der TxD-Pin des Arduino benötigt. Sollte die serielle Schnittstelle bereits belegt sein, kann man einen beliebigen Port verwenden, wenn man die NewSoftSerial Library verwendet.

Ich bin nach meinen Tests nicht restlos vom Display überzeugt. Positiv fällt auf:

  • Platine mit geringer Bauhöhe, passt auch in kleine Gehäuse
  • Nur ein Daten-Pin des Arduino benötigt, es bleiben viele Ports frei
  • Preisgünstig

Negativ fiel auf:

  • Die Helligkeit ist nicht sehr hoch und kann nicht eingestellt werden. Der Kontrast ist einstellbar und ausreichen.
  • Das Display hängt sich beim Laden eines Sketches manchmal auf und muss kurz von der Stromversorgung getrennt werden.
  • Zwei Character sind nicht nutzbar, weil sie als Steuerzeichen benötigt werden
  • Ich fand keinen Befehl, wie ich mir eigene Character in den Controller laden kann
  • Es gibt keine Buttons auf dem Display, man kann also nur anzeigen

Wünschenswert wäre ein Display, dass diese Nachteile aufhebt. Ich werde als eines meiner nächsten Projekte einen Arduino für die Displaysteuerung opfern und eine kleine Zusatzplatine entwerfen.

 

Sparkfun Serial Display

 

 

Dies ist das neue Display der Version 2.5, bei welcher der Microcontroller bereits auf der LCD-Platine integriert ist. Der große Vorteil ist, dass man nur einen Digital Port des Arduino belegt (TxD). Nachteil: Sparkfuns Display hat keine Taster zur Bedienung des Programms, wie es z.B. DFRobot's LCD Shield aufweist.

Sparkfun Serial Display Löstseite

 

Auf der Lötseite ist der Microcontroller mit Quarz zu erkennen. Ein dreipoliger Stecker (Gnd, +5V, RxD) dient zum Anschluß an den Arduino. Das Display kann also nur programmiert und nicht abgefragt werden. Die Standardeinstellung ist 9600Bd, 8 Bit, No Parity. Die Schnittstelle kann auf höhere Geschwindigkeiten umprogrammiert werden. Neben dem Controller ist ein Miniaturtrimmer zu erkennen, mit dem der Kontrats des LCD nachgestellt werden kann.

Die Helligkeit der Hintergrundbeleuchtung ist leider nicht besonders hoch. Man kann sie auch nicht höher einstellen. Die programmierbaren Helligkeitsstufen schaffen auch keine Abhilfe.

Dieses Display ist für 17-20 € bei chinesischen Händlern im Internet erhältlich (Ebay).

Libraries

In den Foren finden sich Hinweise darauf, dass es zu Fehlfunktionen des seriellen LCD beim Booten bei Verwendung der Hardware-Schnittstelle des UNO kommt. Der Bootloader sendet anscheinend Zeichen über das serielle Hardware-Interface, welche vom Sparkfun LCD falsch interpretiert werden. Ausweg: Man schließt das LCD an einen beliebigen Port an und verwendet die Library NewSoftSerial (Link) von Mikal Hart. Des weiteren benötigt man die Library SerLCD von Steven Cogswell (Link). Auf dessen Website finden sich auch Hinweise zur Implementierung.

Achtung! Steven Cogswells Beispielprogramm zu seiner Library lief zuerst anscheinend nicht. Nach dem Hochladen des Sketches auf den Arduino waren oft nur ein paar wirre Zeichen zu sehen. Reset am UNO half nicht, man musste das LCD von der Stromversorgung trennen. Das passiert nur beim Laden, nicht im Normalbetrieb mit Ein- und Ausschalten.
Tipp

Beim Kommando

theLCD.setPosition(1,12);

ist der erste Parameter die Zeile (1...2 bzw. 1...4), der zweite Parameter die Spalte (0...15 bzw. 0...19). Etwas verwirrend, weil die Nummerierung einmal bei Null und andererseits bei Eins beginnt.

Tipp

Beim Kommando

SerLCD theLCD(NSS, 16, 2);

wird die Instanz aus der Lib erzeugt. Parameter 1 ist der Instanzname der seriellen Schnittstelle, Parameter 2 ist die Zeichenanzahl einer Zeile, Parameter 3 die Zeilenanzahl.

 

Character Map

HD44780 Character Map

Die rot markierten Character können nicht verwendet werden, weil Sparkfun sie zur Einleitung von Steuersequenzen vewendet:

  • 124 (0x7C)
  • 254 (0xFE)
Ausgabe Character Map

 

Mit dem Character Map Sketch wird der Zeichenwert in Hex ausgegeben und darunter der zugehörige Character angezeigt, im Beispiel die ASCII-Zahl Zwei.

 

Sketch

Es gibt mehrere Sketche zum SparkFun-LCD:

  • SerLCD_Demo.pde Demonstriert die Möglichkeiten des Displays
  • SerLCD_CharSet.pde Gibt auf dem Display alle Characters aus

Mit SerLCD_CharSet kann man die Character Map des LCD prüfen. Jeder Character wird für zwei Sekunden angezeigt. Die beiden Steuerzeichen (0x7C und 0xFE) sind davon ausgenommen:

#include <NewSoftSerial.h>
#include <SerLCD.h>

/***************************************************************************** 
 * Sketch:  SerLCD_CharSet.pde
 * Author:  Andreas Kriwanek
 * Version: 1.00 02.04.2011/21:00
 *
 * Hardware:
 * Arduino UNO
 * Sparkfun serial LCD Display 16x2
 * Use Digital Pin 11 for serial interface
 *
 *
 *****************************************************************************/
// RTC values:
// NewSoftSerial Object on pin 11
NewSoftSerial softSER(0,11);
// SerLCD object using that softSER; initializing for 16x2 LCD:
SerLCD serLCD(softSER, 16, 2); 

char LCDChar[2]="";

//----------------------------------------------------------------------------------------------------------
// Setup and Main:

void setup(void)
{
  // Remember to start the NewSoftSerial port
  // before doing things with the SerLCD
  softSER.begin(9600);
  Serial.begin(9600);
  // This will attempt to initialize the display to
  // blank with the backlight on:
  serLCD.begin();
  // Display some massively important informative text
  serLCD.setPosition(1,0);
  serLCD.print("SparkFun serLCD");
  serLCD.setPosition(2,0);
  serLCD.print("<Character Set>");
  delay(1000);
}

void loop(void){
  // Some text at positions
  serLCD.clear();
  for(int i=0; i<=255; i++){
    if (i!=124 && i!=254){
      serLCD.setPosition(1,0);
      serLCD.print("Value=");
      sprintf(LCDChar, "0x%02X", i);
      serLCD.print(LCDChar);
      serLCD.setPosition(2,0);
      serLCD.print("Character:");
      serLCD.print(char(i));
      delay(2000);  
    }  
  }
}

http://www.kriwanek.de/arduino/displays/158-serielles-lcd-display-sparkfun.html



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



DIN A4 ausdrucken
*********************************************************

Impressum: Fritz Prenninger, Haidestr. 11A, A-4600 Wels, Ober-Österreich, mailto:schaltungen@schaltungen.at
ENDE






Untergeordnete Seiten (1): Controller HD44780
Comments