http://sites.schaltungen.at/arduino-uno-r3/sketch/lcd-16x2
Wels, am 2014-10-05BITTE nützen Sie doch rechts OBEN das Suchfeld [ ] [ Diese Site durchsuchen]DIN A3 oder DIN A4 quer ausdrucken ********************************************************************************** DIN A4 ausdrucken
*********************************************************
#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)
GND Vcc PB4 PB3 PD5 PD4 PD3 PD2 = ATmega328p-PU 28-pol. LiquidCrystal()BeschreibungErstellt 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 LibraryDiese 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 ********************************************************* 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
*********************************************************
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 pinXLiquidCrystal 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
*********************************************************
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 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 linesLiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initialize the LCD interface pins *********************************************************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) // +5V 10k GND Schleifer an pin3 - LCD-Kontrast-Trimmer 10k od. 20k// pin15 150R 5V (47R..220R) (br gn br gd) - LED-Hintergrund-Beleuchtung // 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 NORMvoid 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") ladenLiquidCrystal 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") ladenLiquidCrystal 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") ladenLiquidCrystal 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 LCDsconst int numRows = 2; // 2 Zeiligconst int numCols = 16; // 16 Zeichen// Bibliothek mit den Interface-Pins initialisierenLiquidCrystal 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);} DisplaysSerielles LCD-Display (Sparkfun)
HardwareSparkfun 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:
Negativ fiel auf:
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.
Dieses Display ist für 17-20 € bei chinesischen Händlern im Internet erhältlich (Ebay). LibrariesIn 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.
Character Map
Die rot markierten Character können nicht verwendet werden, weil Sparkfun sie zur Einleitung von Steuersequenzen vewendet:
SketchEs gibt mehrere Sketche zum SparkFun-LCD:
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 11NewSoftSerial 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); } }} LiquidCrystal lcd(12, 11, 5, 4, 3, 2); DIN A4 ausdrucken ********************************************************* Impressum: Fritz Prenninger, Haidestr. 11A, A-4600 Wels, Ober-Österreich, mailto:[email protected] ENDE
|
SKETCH >
LCD-16x2
Untergeordnete Seiten (1):Controller HD44780