Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry PI

Menu
  • Projekte
    • LED’s
    • Servo & Schrittmotoren
    • Sound
    • Displays (LCD, OLED, LED)
    • Kommunikation
    • Sicherheit
    • Smarthome
    • Weekend Project
  • Mikrocontroller
    • Arduino
      • Tutorials
      • ProMini
        • Anschließen & Programmieren
      • Nano
        • Arduino Nano – Übersicht
      • UNO
        • Übersicht
        • Funduino UNO
        • Maker UNO – Überblick und Test
        • Arduino UNO R4 WiFi / Minima
      • MEGA 2560
        • Funduino Mega 2560 R3
        • Übersicht
      • Leonardo
        • Übersicht
    • ESP32
      • ESP32-CAM
        • Einrichten der ESP32-CAM und erster betrieb
        • ESP32 CAM als Access Point einrichten
        • DIY ESP32 CAM FTDI Adapter
        • ESP32 CAM – Vergleich der verfügbaren Kameralinsen
        • Python – ESP32 CAM Bild speichern
        • ESP32-CAM – Bewegung ermitteln mit Python3
        • ESP32-CAM WROVER E
        • ESP32-CAM Stream per Python3 aufzeichnen
      • Infrarot-Fernbedienung mit dem ESP32 und MicroPython auslesen: Ein Anfängerleitfaden
      • Der ESP32 Plus von Keyestudio: Ein leistungsstarker Mikrocontroller im Arduino-UNO-Format
      • Mikrocontroller ESP32 H2 im Test
      • Seeed Studio ESP32C3 & Bluetooth
    • ESP8266
      • NodeMCU – “Einer für (fast) Alles!”
      • WEMOS
        • WEMOS D1 – Arduino UNO kompatibles Board mit ESP8266 Chip
        • WEMOS D1 Mini – Übersicht
        • Wemos D1 mini Shields
    • Raspberry Pi Pico
      • Raspberry Pi Pico RESET-Taster: So fügst du ihn hinzu
      • Ein erster Blick auf den Melopero Cookie RP2040: Raspberry Pi Pico meets micro:bit
      • Raspberry Pi Pico Pinout: Eine ausführliche Übersicht
      • Vergleich Raspberry Pi Pico & RP2040:bit
      • Raspberry Pi Pico: Programmierung und Entwicklung mit der Arduino IDE auf Linux
  • Newsletter
  • Über mich
  • DeutschDeutsch
  • EnglishEnglish
Menu

Arduino Mega R3 2560 – 3×4 Keypad

Posted on 31. Januar 20201. Mai 2023 by Stefan Draeger

Über Instagram wurde ich nach einer kleinen Lösung zu einem Problem mit dem 3×4 Keypad und einem Arduino Mega R3 2560 gefragt. 

Wemos Mega, WiFi R3 ATmega2560, ESP8266

Den Mikrocontroller Arduino Mega R3 2560 habe ich im gleichnamigen Beitrag Arduino MEGA 2560 R3 – Übersicht vorgestellt. Für die 3×4 Matrix Tastatur habe ich den Beitrag Arduino Lektion 64: 3×4 Matrix Tastatur erstellt und auch dort ausführlich erläutert. In diesem Beitrag möchte ich speziell auf ein kleines, spezielles Projekt eingehen.

  • Ziel
  • benötigte Bauteile
  • Aufbau & Schaltung
  • Programmieren
  • Video

Ziel

Es sollen spezielle Aktionen ausgeführt werden, wenn 2 bestimmte Tasten hintereinander betätigt werden.

benötigte Bauteile

Für dieses Projekt benötigst du:

  • 1x Arduino Mega R3 2560,
  • 1x USB Kabel, USB-Typ A – B
  • 1x 3×4 Matrix Tastatur,
  • 7x Breadboardkabel, männlich – männlich, 20cm

Aufbau & Schaltung

Das 3×4 Matrix Keypad verfügt über einen 8 poligen Buchsenanschluss, welcher mit dem Arduino Mega wie folgt angeschlossen wird:

Arduino Mega R3 2560 mit 3x4 Matrix Tastatur
Arduino Mega R3 2560 mit 3×4 Matrix Tastatur

Programmieren

#include <Keypad.h> //Bibliothek zum auslesen der Matrix Tastatur

//Definieren der Zeilen und Spalten.
//Wenn eine größere Tastatur verwendet wird,
//muss das hierdefiniert werden.
const byte COLS = 3;
const byte ROWS = 4;

//Definieren der Pins, über welche die Matrix Tastatur
//mit dem Microcontroller verbunden wurde.
const byte COL_PINS[COLS] = { 2, 3, 4 };
const byte ROW_PINS[ROWS] = { 5, 6, 7, 8 };

//Aufbau der Tastatur als mehrdimensionales Array abbilden.
//Es ist darauf zu achten das die Tastatur verkehrtherum abgebildet ist.
//Wenn eine 4x4 Tastatur verwendet wird muss hier jeweils
//die Buchstaben 'A' bis 'D' ergänzt werden.
const char KEYS[ROWS][COLS] = {
  {'#', '0', '*'},
  {'9', '8', '7'},
  {'6', '5', '4'},
  {'3', '2', '1'}
};

//Initialisieren des KeyPad Objektes
Keypad myKeypad = Keypad(makeKeymap(KEYS), ROW_PINS, COL_PINS, ROWS, COLS);

unsigned int index = 1;

char key1, key2;

void setup() {
  //Begin der seriellen Kommunikation mit 9600 baud.
  Serial.begin(9600);
}

void loop() {
  //lesen ob eine Taste gedrückt wurde
  char key = myKeypad.getKey();
  //Wenn eine Taste gedrückt wurde,
  //dann den Wert auf der seriellen Konsole
  //Ausgeben.
  if (key) {
    Serial.print("Die Taste ");
    Serial.print(key);
    Serial.println(" wurde gedrueckt");

    switch (index) {
      case 1: key1 = key; break;
      case 2: key2 = key; break;
    }
    //den index um 1 erhöhen
    index++;

    //Wenn der Index gleich 3 ist dann..
    if (index == 3) {
      //zurücksetzen des Indexes auf den Wert 1
      index = 1;

      //Wenn als erstes die Taste 1 gedrückt wurde UND
      //als zweites die Taste 2 dann...
      if (key1 == '1' && key2 == '2') {
        Serial.println("key1 = 1 && key2 = 2");
      }
      //Wenn als erstes die Taste * gedrückt wurde UND
      //als zweites die Taste 1 dann...
      else if (key1 == '*' && key2 == '1') {
        Serial.println("key1 = * && key2 = 1");
      }
      //Nicht die Tasten 1 & 2 bzw. * & 1 gedrückt wurden dann...
      else {
        Serial.println("Drücken Sie die Tasten 1 & 2 oder * & 1 nacheinander.");
      }
    }
  }


}

Video

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien


Unterstütze diesen Blog

Unterstütze mich auf Tipeee mit einer Spende. Alle Spenden gehen zu 100% in diesen Blog und am Ende des Monats erfolgt unter allen Spendern eine Verlosung von tollen Produkten rund um das Thema Mikrocontroller.


Tools

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator
  • Widerstandsrechner
  • Rechner für Strom & Widerstände
  • ASCII Tabelle

Meta

  • Videothek
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Kontakt
  • Cookie-Richtlinie (EU)

Links

Blogverzeichnis Bloggerei.de Blogverzeichnis TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
©2023 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb