ESP8266 - Tastenfeld - LCD

Dieses Tutorial zeigt Ihnen, wie Sie den ESP8266 verwenden, um die Eingabe eines Tastfelds auf dem LCD-Display anzuzeigen.

Erforderliche Hardware

1×ESP8266 NodeMCU
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×LCD I2C
1×Tastenfeld 3x4
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Tastenfeld und LCD

Wenn Sie mit dem Tastaturfeld und dem LCD nicht vertraut sind (Pinbelegung, wie es funktioniert, wie man programmiert ...), können Ihnen die folgenden Tutorials helfen, sie zu verstehen:

Verdrahtungsdiagramm

ESP8266 NodeMCU Tastatur-LCD-Verkabelungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

ESP8266-Code

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp8266/esp8266-keypad-lcd */ #include <Keypad.h> #include <LiquidCrystal_I2C.h> const int ROW_NUM = 4; //four rows const int COLUMN_NUM = 3; //three columns char key_layout[ROW_NUM][COLUMN_NUM] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte pin_rows[ROW_NUM] = {D0, D3, D4, D5}; // The ESP8266 pins connect to the row pins byte pin_column[COLUMN_NUM] = {D6, D7, D8}; // The ESP8266 pins connect to the column pins Keypad keypad = Keypad(makeKeymap(key_layout), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows int column_cursor = 0; void setup(){ lcd.init(); // Initialize the LCD I2C display lcd.backlight(); } void loop(){ char key = keypad.getKey(); if (key) { lcd.setCursor(column_cursor, 0); // move cursor to (column_cursor, 0) lcd.print(key); // print key at (column_cursor, 0) column_cursor++; // move cursor to next position if(column_cursor == 16) { // if reaching limit, clear LCD lcd.clear(); column_cursor = 0; } } }

※ Notiz:

Die Adresse des LCD-Displays kann je nach Hersteller variieren. In unserem Code haben wir 0x27 verwendet, das vom Hersteller DIYables festgelegt ist.

Schnelle Schritte

Um mit dem ESP8266 in der Arduino IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial zur Einrichtung der ESP8266-Umgebung in der Arduino IDE an, falls dies dein erstes Mal mit ESP8266 ist.
  • Verbinde die Komponenten wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board über ein USB-Kabel an deinen Computer an.
  • Öffne die Arduino IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E Module), und den entsprechenden COM-Port.
  • Verbinde ein USB-Kabel zwischen dem ESP8266 und dem PC.
  • Öffne die Arduino IDE, wähle das passende Board und den Port.
  • Klicke auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
  • Suche nach “keypad” und finde die von Mark Stanley und Alexander Brevig erstellte Keypad-Bibliothek.
  • Dann drücke die Install-Schaltfläche, um die Installation der Keypad-Bibliothek abzuschließen.
ESP8266 NodeMCU Tastenfeld-Bibliothek
  • Suchen Sie nach “LiquidCrystal I2C” und finden Sie die LiquidCrystal_I2C-Bibliothek von Frank de Brabander.
  • Klicken Sie dann auf die Schaltfläche Installieren, um sie zu installieren.
ESP8266 NodeMCU LiquidCrystal I2C-Bibliothek

Da die Pins des ESP8266 nicht ausreichen, müssen wir den Pin D8 für das Tastenfeld verwenden. Wie im ESP8266 - Keypad-Tutorial erwähnt, müssen wir, wenn wir den ESP8266-Pin D8 als Spaltenpin des Keypads verwenden, die Keypad-Bibliothek wie folgt ändern:

  • Finden Sie die Datei Arduino\libraries\Keypad\src\Keypad.cpp, gehen Sie zu Zeile 98, dort sieht es so aus: pin_mode(columnPins[c], INPUT);
  • Kommentieren Sie diese Zeile aus. Nach der Änderung sollte der Code in Zeile 98 so aussehen: //pin_mode(columnPins[c], INPUT);
  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie im Arduino IDE auf die Schaltfläche Upload, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
Code in der Arduino-IDE hochladen
  • Drücken Sie bestimmte Tasten auf dem Tastenfeld und
  • Beobachten Sie das auf dem LCD angezeigte Ergebnis.

Wenn das LCD-Display nichts anzeigt, lesen Sie bitte Fehlerbehebung bei LCD I2C für weitere Unterstützung.

Code-Erklärung

Schau dir die Zeile-für-Zeile-Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!