ESP32 - Tastaturfeld - Piepton

Dieses Tutorial zeigt dir, wie man bei jedem Tastendruck auf dem Keypad einen Piepton erzeugt, unter Verwendung des ESP32, eines Keypads und eines Piezo-Lautsprechers.

Über Keypad und Piezo-Buzzer

Wir haben spezifische Tutorials zum Keypad und zum Piezo-Buzzer. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32, ESP32-Code... Erfahren Sie mehr darüber in den folgenden Links:

Bitte beachten Sie, dass dieses Tutorial einen 3–5-V-Buzzer verwendet, aber Sie es auch für einen 12-V-Buzzer anpassen können. Sie können sich über ESP32 - Buzzer Tutorial informieren.

Verdrahtungsdiagramm

ESP32-Tastatur Piezo-Summer Verdrahtungsdiagramm

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

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

ESP32-Code

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32/esp32-keypad-beep */ #include <Keypad.h> #include <ezBuzzer.h> #define BUZZER_PIN 19 // ESP32 pin GPIO19 connected to the buzzer #define ROW_NUM 4 // keypad four rows #define COLUMN_NUM 3 // keypad three columns char keys[ROW_NUM][COLUMN_NUM] = { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'} }; byte pin_rows[ROW_NUM] = {12, 14, 27, 26}; // ESP32 pin: GPIO12, GPIO14, GPIO27, GPIO26 connected to the row pins byte pin_column[COLUMN_NUM] = {25, 33, 32}; // ESP32 pin: GPIO25, GPIO33, GPIO32 connected to the column pins Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); ezBuzzer buzzer(BUZZER_PIN); // create ezBuzzer object that attach to a pin; void setup() { Serial.begin(9600); } void loop() { buzzer.loop(); // MUST call the buzzer.loop() function in loop() char key = keypad.getKey(); if (key) { Serial.print(key); // prints key to serial monitor buzzer.beep(100); // generates a 100ms beep } }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, lesen Sie wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
  • Schließen Sie die Verkabelung gemäß dem obigen Bild an.
  • Verbinden Sie das ESP32-Board über ein Micro-USB-Kabel mit Ihrem PC.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Klicken Sie auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Geben Sie “keypad” in das Suchfeld ein, und suchen Sie dann nach der keypad-Bibliothek von Mark Stanley, Alexander Brevig.
  • Klicken Sie auf die Schaltfläche Installieren, um die keypad-Bibliothek zu installieren.
ESP32-Tastaturfeld-Bibliothek
  • Geben Sie “ezBuzzer” in das Suchfeld ein, dann suchen Sie nach der Buzzer-Bibliothek von ArduinoGetStarted.
  • Klicken Sie auf die Schaltfläche Install, um die ezBuzzer-Bibliothek zu installieren.
ESP32-Buzzer-Bibliothek
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino-IDE ein.
  • Kompilieren und laden Sie den Code auf das ESP32-Board, indem Sie in der Arduino IDE auf die Hochladen-Schaltfläche klicken.
Code in der Arduino-IDE hochladen
  • Drücken Sie mehrere Tasten auf dem Tastenfeld
  • Hören Sie den Piepton und sehen Sie das Ergebnis im seriellen Monitor

Zeilenweise Code-Erklärung

Der obige ESP32-Code enthält eine Zeilen-für-Zeile-Erklärung. Bitte lesen Sie die Kommentare im Code!

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!