ESP32 Tutorial 11/55 - Verwendung von LCD1602 LCD2004 mit ESP32 - SunFounder's ESP32 IoT Lernset

ESP32 Tutorial 11/55 - Verwendung von LCD1602 LCD2004 mit ESP32 - SunFounder's ESP32 IoT Lernset

In diesem Tutorial werden wir untersuchen, wie man das LCD1602 und LCD2004 mit dem ESP32-Mikrocontroller verwendet. Diese LCD-Bildschirme ermöglichen es uns, Text und andere Informationen effektiv anzuzeigen und unsere Projekte mit visueller Rückmeldung zu verbessern. Wir werden auch behandeln, wie man den Kontrast anpasst, um die Lesbarkeit zu gewährleisten.

Der ESP32, Teil des SunFounder ESP32 IoT Lernkits, verfügt über integrierte Wi-Fi- und Bluetooth-Funktionen, was ihn zu einem leistungsstarken Werkzeug für verschiedene IoT-Anwendungen macht. Durch das Anschließen des LCD an den ESP32 können wir Nachrichten oder Datenausgaben aus unserem Code einfach anzeigen, wodurch unsere Projekte interaktiver und benutzerfreundlicher werden (im Video bei 00:30).

Hardware erklärt

Die Hauptkomponenten, die wir verwenden werden, sind der ESP32-Mikrocontroller und das LCD1602- oder LCD2004-Anzeigemodul. Der ESP32 wird das Gehirn unseres Projekts sein, Eingaben verarbeiten und Ausgaben steuern, einschließlich des LCD-Displays.

Das LCD-Modul kommuniziert über I2C, was die Verkabelung vereinfacht, da nur zwei Datenpins (SDA und SCL) für die Kommunikation verwendet werden, zusammen mit Strom- und Masseanschlüssen. Diese Konfiguration reduziert erheblich die Komplexität beim Anschließen mehrerer Pins und ermöglicht einen saubereren und besser handhabbaren Schaltkreis.

Technische Datenblatt Einzelheiten

Hersteller SunFounder
Teilenummer LCD1602
Logik/IO-Spannung 5 V
Versorgungsspannung 5 V
Bildschirmgröße 16 x 2 Zeichen
Hintergrundbeleuchtung Ja
Schnittstelle I2C
Abmessungen 80 x 36 mm
Hinweise / Varianten Häufig verwendet mit I2C-Adresse 0x27

  • Sorgen Sie für eine ordnungsgemäße Spannungsversorgung (5 V), um Schäden zu vermeiden.
  • Verwenden Sie kurze Kabel, um Interferenzen auf den I2C-Leitungen zu minimieren.
  • Stellen Sie den Potentiometer für optimale Kontrastsichtbarkeit ein.
  • Überprüfen Sie die I2C-Adresse, falls das Display nicht initialisiert (gängige Adressen: 0x27, 0x3F).
  • Cleare das Display, bevor Sie die Nachrichten aktualisieren, um Überlappungen zu vermeiden.

Verkabelungsanweisungen

ESP32-11_LCD-Schaltplan
ESP32-11_LCD-wiring

Um das LCD1602 mit dem ESP32 zu verdrahten, verbinden Sie zunächst den Erdungs-Pin des LCD mit dem Erdungs-Pin des ESP32. Anschließend verbinden Sie den VCC-Pin des LCD mit dem 5V-Ausgang des ESP32. Für die I2C-Kommunikation verbinden Sie den SDA-Pin des LCD mit Pin 21 des ESP32 und den SCL-Pin des LCD mit Pin 22 des ESP32. Stellen Sie sicher, dass die Verbindungen sicher sind, um Kommunikationsprobleme zu vermeiden.

Es ist wichtig zu beachten, dass der ESP32 mit 3,3 V Logikpegeln arbeitet, während das LCD1602 5 V für einen ordnungsgemäßen Betrieb benötigt. Stellen Sie daher sicher, dass Sie die richtige Spannungsversorgung verwenden, um das LCD nicht zu beschädigen. Wenn Sie eine andere LCD-Größe verwenden, passen Sie die Verkabelung entsprechend der I2C-Adresse und den Spezifikationen an.

Codebeispiele und Schritt-für-Schritt-Anleitungen

Im Code beginnen wir damit, die erforderlichen Bibliotheken für die I2C-Kommunikation und das LCD einzufügen. Wir erstellen eine Instanz des LCDs mit der I2C-Adresse 0x27 und geben an, dass es 16 Spalten und 2 Zeilen hat.

#include  
#include 

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

Dieses Setup ermöglicht es uns, das LCD problemlos zu steuern. In dersetup()Funktion, wir initialisieren das LCD und schalten die Hintergrundbeleuchtung ein, gefolgt von der Anzeige einer Willkommensnachricht.

void setup()
{
  lcd.init(); // initialize the lcd 
  lcd.backlight(); // Turns on the LCD backlight.
  lcd.print("Hello, world!");   // Print a message to the LCD.
  delay(3000);
}

In demloop()Wir aktualisieren das Display kontinuierlich, indem wir es löschen, die Cursorposition setzen und den aktuellen Zählerwert ausgeben. Dies zeigt, wie das LCD dynamisch wechselnde Informationen anzeigen kann.

void loop()
{
  lcd.clear(); 
  lcd.setCursor(0, 0); // Sets the cursor position to the first row and first column (0, 0).
  lcd.print("COUNT: ");
  lcd.print(count); // Prints the current value of the count variable.
  delay(1000);
  count++; // Increments the counter by 1. 
}

Der vollständige Code wird unter dem Artikel geladen, wo Sie die vollständige Implementierung und alle zusätzlichen Funktionen, die für Ihr Projekt hinzugefügt wurden, sehen können.

Demonstration / Was Sie erwarten können

Sobald alles verbunden ist und der Code hochgeladen wurde, sollte das LCD "Hallo, Welt!" für 3 Sekunden anzeigen, bevor ein Zähler beginnt, der jede Sekunde inkrementiert. Sie können den Kontrast mit dem Potentiometer anpassen, um sicherzustellen, dass der Text gut lesbar ist (im Video um 08:45).

Wenn Sie auf Probleme stoßen, überprüfen Sie die Verdrahtungsverbindungen und stellen Sie sicher, dass die richtige I2C-Adresse verwendet wird. Ein häufiger Fehler besteht darin, die I2C-Adresse des LCDs nicht mit der im Code festgelegten abzugleichen, was dazu führen kann, dass das Display nicht richtig funktioniert.

Video-Zeiten

  • 00:00 Start
  • 1:47 Einführung in LCD
  • 3:26 Dokumentationsseite
  • 5:06 So schließen Sie ein LCD mit ESP32 an
  • 9:07 Auswahl des ESP32-Boards und des COM-Ports in Arduino
  • 8:51 LCD-Bibliothek installieren
  • 10:06 Suche nach I2C-Adresse für LCD
  • 14:00 Arduino-Code erklärt
  • 17:50 Demonstration
  • 20:54 Verwendung von LCD2004 mit ESP32
  • 22:58 Grünes LCD1602 ist besser als blau

Bilder

ESP32_11-5-l2C.MOV_snapshot_00.02.763
ESP32_11-5-l2C.MOV_snapshot_00.02.763
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring-schematic
ESP32-11_LCD-wiring-schematic
810-ESP32 Tutorial 11/55- Arduino code for LCD using ESP32
Sprache: C++
Kopiert!

Ressourcen & Referenzen

Dateien📁

Keine Dateien verfügbar.