Auf einem 2‑zeiligem oder 4‑zeiligem LCD mit I²C-Schnittstelle sollen Zufallszahlen angezeigt werden.
So sieht es auf einem 4‑zeiligen LCD aus:


Die Helligkeit kann mit einem Potentiometer auf der Rückseite des LCDs eingestellt werden.
Schaltpläne
Arduino UNO
Wemos D1 Mini
ESP32-Wroom
Wenn dir die Adresse des LCDs nicht bekannt ist, kannst du sie mit diesem Programm herausfinden:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#include “Wire.h” void setup() { Wire.begin(); Serial.begin(9600); delay(1000); Serial.print(“I2C Scanner”); } void loop() { byte Fehler, Adresse; int Geraete = 0; Serial.println(“Starte Scanvorgang”); for (Adresse = 1; Adresse < 127; Adresse++ ) { // Übertragung starten Wire.beginTransmission(Adresse); // wenn die Übertragung beendet wird Fehler = Wire.endTransmission(); if (Fehler == 0) { Serial.print(“I2C Gerät gefunden — Adresse: 0x”); if (Adresse < 16) Serial.print(“0”); Serial.print(Adresse, HEX); Serial.println(“”); Geraete++; } } if (Geraete == 0) Serial.println(“Keine I2C Geräte gefunden\n”); else Serial.println(“Scanvorgang abgeschlossen”); delay(10000); } |
Bibliothek für alle Mikrocontroller

Funktionen der Bibliothek LCDIC2
| Schlüsselwort | Aktion |
|---|---|
| begin() | LCD starten |
| backlight() | Hintergrundbeleuchtung einschalten |
| home() | Position auf links oben setzen |
| setCursor(Spalte, Zeile) | Cursor in Spalte/Zeile platzieren |
| setCursor(Status) | true = Cursor anzeigen false = Cursor verbergen |
| clear() | Anzeige löschen |
| print(“Text”) | Text anzeigen |
| blink() | blinkender Cursor |
Das Programm:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#include “LCDIC2.h” // 4‑zeiliges LCD LCDIC2 lcd(0x27, 20, 4); // 2‑zeiliges LCD // LCDIC2 lcd(0x3f, 16, 2); void setup() { // Zufallsgenerator starten randomSeed(analogRead(A0)); // LCD starten lcd.begin(); // Cursor “verstecken” lcd.setCursor(false); // Ausgabe auf dem LCD // Cursor auf Position 0 in Zeile 0 setzen lcd.setCursor(0, 0); lcd.print(“Zufallszahlen:”); lcd.setCursor(0, 1); for (int i = 1; i <= 6; i++) { int Zahl = random(1, 7); lcd.print(String(Zahl)); lcd.print(“ ”); } } void loop() { // bleibt leer, Programm läuft nur einmal } |
Bibliothek für UNO R3

Funktionen der Bibliothek LiquidCrystal_I2C
| Schlüsselwort | Aktion |
|---|---|
| init() | LCD starten |
| backlight() | Hintergrundbeleuchtung einschalten |
| home() | Position auf links oben setzen |
| setCursor(Spalte, Zeile) | Cursor in Spalte/Zeile platzieren |
| clear() | Anzeige löschen |
| print(“Text”) | Text anzeigen |
| blink() | blinkender Cursor |
Das Programm:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
#include “LiquidCrystal_I2C.h” // 2‑zeiliges LCD // LiquidCrystal_I2C lcd(0x3f, 16, 2); // 4‑zeiliges LCD LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { // Zufallsgenerator starten randomSeed(analogRead(A0)); // LCD starten lcd.init(); // Hintergrundbeleuchtung einschalten lcd.backlight(); // Ausgabe auf dem LCD // Cursor auf Position 0 in Zeile 0 setzen lcd.setCursor(0, 0); lcd.print(“Zeige Zufallszahlen:”); lcd.setCursor(0, 1); // mit einer for-Schleife 6 Zufallszahlen erzeugen // und anzeigen for (int i = 1; i <= 6; i++) { int Zahl = random(1, 7); lcd.print(String(Zahl)); lcd.print(“ ”); } } void loop() { // bleibt leer, Programm läuft nur einmal } |
Letzte Aktualisierung: