Eigentlich kann man doch gar nicht oft genug hören, wie toll man ist. Dafür bauen wir uns nun eine Kompliment-Maschine.
LCD-Displays können Texte anzeigen. Dafür muss man erst die Pins anlöten, dann müssen noch ein paar Pins angeschlossen werden.
LCD steht übrigens für liquid crystal display.
Schaltplan
Der RS Pin kommt an Digital 12 des Arduino-Boards, der Enable Pin an Digital 11, dann die Daten Pins 4 bis 7 an Digital 5 bis 2.

Ein Vorwiderstand für die LED und Stromversorgung kommt an den Hintergrund-Beleuchtungspin. Mit einem Poti können wir noch den Kontrast kalibrieren.
Code
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
String zeileEins[]={"Boa, siehst Du ", "Deine Hater ", "Du hast sooo ", "Heute ist Dein ", "Lecker wie Pizza", "Ja man, drueck"};
String zeileZwei[]={"heute geil aus! ", "lieben Dich!! ", "schoene Augen. ", "GLUECKSTAG!!! ", "Burger-Sushi! ", "meinen Knopf!"};
int anzahl = 6;
void setup() {
randomSeed(analogRead(0));
lcd.begin(16, 2);
int i = random(anzahl);
lcd.setCursor(0, 0);
lcd.print(zeileEins[i]);
lcd.setCursor(0, 1);
lcd.print(zeileZwei[i]);
}
void loop() {
}
Code-Erklärungen
Im Code importieren wir zuerst die LCD-Library:
#include <LiquidCrystal.h>
Jetzt legen wir das LCD-Objekt an. In die Klammern kommen die Pins, die wir benutzt haben:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Das LCD soll Texte anzeigen. Dazu nehmen wir die Variable String. String ist ein Variablentyp, der Zeichenketten speichern kann. Ein Text reicht mir nicht, also machen wir ein Array draus. Ein Array aus Strings.
Das LCD hat zwei Zeilen, also müssen wir die Botschaften in zeileEins und zeileZwei teilen. Da sich die Stellen des LCDs nicht automatisch löschen, füge ich so viele Leerzeichen ein, wie die LCD-Zeile lang ist, nämlich 16 Zeichen.
Eine Variable nehme ich noch um zu speichern, wie viele Botschaften es gibt.
Das ganze Programm läuft im Setup. Es wird also bei jedem Reset genau ein Mal ausgeführt werden.
Zufälle im Computer sind leider nicht sehr zufällig. Deshalb starten wir den Zufalls-Nummern-Generator mit:
randomSeed(analogRead(0));
Mehr Infos dazu hier auf Arduino.cc.
Das LCD wird mit Zeichenlänge und Zeilenanzahl angelegt:
lcd.begin(16, 2);
Jetzt erzeugen wir eine zufällige Zahl zwischen 0 und der Anzahl der Botschaften:
int i = random(anzahl);
Zeile 1 wird ausgegeben, Zeile 2 wird ausgegeben:
lcd.setCursor(0, 0); lcd.print(zeileEins[i]); lcd.setCursor(0, 1); lcd.print(zeileZwei[i]);
Lade das Programm aufs Arduino-Board.
Den Reset-Knopf des Arduino-Boards kannst du nun benutzen, um eine neue Botschaft zufällig ausgeben zu lassen.

Titelbild: M. Muecke (www.kankuna.de), BY-CC-SA
Aus RailFX ist SceneFX geworden
Dein nächstes RailFX-Modul ist eine App
In den RailFX-Tutorials bekommt jeder Effekt sein eigenes Modul: hier eine Kirche mit DFPlayer, dort ein Blaulicht mit Nano. Was fehlt, ist der Tag, der alles zusammenhält. Den gibt SceneFX deiner Anlage.
- Klang zuerst. Zwei Lautsprecher, App starten: Die Kirche schlägt zur vollen Stunde, im Gasthaus wird es abends laut, und manchmal zieht ein Gewitter auf.
- Szenen statt Sketche. Kleine Abläufe mit Rollen – „Letzte Runde in der Kneipe“, „Das Dorf geht schlafen“ –, die du mit deinen Motiven besetzt.
- Und fürs Löten: Licht und Bewegung laufen über WLAN-Module mit ESP32, die du selbst aufbaust. Noch in der Beta.
Kostenlos für macOS (Apple Silicon) und Windows 10/11 · Erweiterung „Dorf“ inklusive · weitere Erweiterungen je 39,90 €
SceneFX kostenlos ladenWenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!
- Die beliebtesten Arduino-Projekte von StartHardware
- Inklusive Schaltplan, Beschreibung und Code
- Arduino-Schnellstart-Kapitel
- Kompakter Programmierkurs
