Da wir nun mit den Sensoren die ersten Werte lesen konnten, müssen wir diese auch irgendwo darstellen. Sicherlich kann man diese am seriellen Monitor der Arduino IDE ausgeben, jedoch ist diesen nicht der Sinn eines Mikrocontrollers ständig mit einem PC verbunden zu sein.
In dem Starterkit zu meinem Sainsmart Mega2560 R3 habe ich unter anderem ein LCD-Display, welches ich hier näher erklären möchte.
Als Erstes musste die Stiftleiste an die Platine gelötet werden, dafür benötigt man eine ruhige Hand und
- einen 15 Watt Lötkolben
- etwas Lötzinn
Das Löten der Stiftleiste ist schnell erledigt und nach einer gewissen Abkühlphase (evtl.
auf kalte Lötstellen prüfen.) kann mit dem Anschließen begonnen werden.
Benötigte Teile zum Verbinden und aufbauen der Schaltung
- LCD-Display
- 14 Anschlusskabel in verschiedenen Längen
- 1 Steckbrett, groß
- 1 Steckbrett, klein
- 1 Drehwiderstand mit 10kOhm
Für die Hintergrundbeleuchtung (optionaler Anschluss)
- 3 Kabel
- 1 Widerstand mit 220 Ohm
Der Schaltplan
Folgende PINs des Displays werden mit dem Mega2560 R3 verbunden
Sainsmart Mega2650 R3 | LCD-Display |
---|---|
PIN 12 | RS |
PIN 11 | E |
PIN 5 | D4 |
PIN 4 | D5 |
PIN 3 | D6 |
PIN 2 | D7 |
Für die Helligkeit der Schrift wird ein Drehwiderstand in die Schaltung eingebaut.
Was auf der oberen Schaltung fehlt, ist der Widerstand für die Hintergrundbeleuchtung. Dieses ist optional, kann aber durch das Verbinden von “A” (wie Anode) mit + und “K” (wie Kathode) über einen 220 Ohm mit GND bzw. – verbunden werden. Die Hintergrundbeleuchtung darf nicht ohne einen Widerstand an + und – angeschlossen werden, da diese mit 4.2 Volt betrieben wird. Des Weiteren fehlt die Schleife von PIN “RW” am Display zu PIN “VCC” am Display.
Der Quellcode
// Einbetten der LiquidCrystal Bibliothek für LCD Displays #include <LiquidCrystal.h> // Initialisieren des LCD Displays mit den PINS // 12 - RS Daten PIN // 11 - Enable PIN // 5 - D4 // 4 - D5 // 3 - D6 // 2 - D7 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); // Einstellen des Displays für Zeilen und Spalten lcd.print("Hallo Welt!"); // Ausgabe des Textes "Hallo Welt!" } void loop() { //Setzt den Cursor auf die Spalte 0 und die Zeile 1 // die Nummerierung der Zeilen beginnt bei 0 d.h. Zeile 1 = 0, Zeile 2 = 1 usw. lcd.setCursor(0, 1); // Schreibt an dem zuvor gesetzen Cursor die Zeit welche seit dem Start verstrichen ist in Sekunden. lcd.print(millis()/1000); }
Die fertig aufgebaute Schaltung
Hier nun der Quellcode zum Download
Hallo Stefan,
ich habe die NewLiquidDisplay Lib 1.3.4 eingebunden. Beim kompilieren erscheint diese Fehlermeldung:
C:\Users\Thomas\Documents\Arduino\libraries\NewliquidCrystal/SoftI2CMaster.h:503:46: error: ‘SDA_PIN’ was not declared in this scope
[SDADDR] “I” (SDA_DDR), [SDAPIN] “I” (SDA_PIN), [SDAIN] “I” (SDA_IN)
^
exit status 1
Fehler beim Kompilieren für das Board Arduino Nano.
Hast Du eine Idee was ich verkehrt mache?
Vielen Dank und viele Grüße
Werner