Datasheet & Pinout: Membran Keypad 3x4 Matrix

🔢 Membran Keypad 3x4 Matrix

Et tyndt, selvklæbende tastatur med tallene 0–9 samt * og #. Træk papiret af, klæb det på din 3D-printede kasse, og pludselig har værkstedsdøren en kodelås (og familien en ny kode at glemme).

Knapperne er koblet i en matrix med 4 rækker og 3 kolonner, så 12 taster kun kræver 7 ben på din microcontroller.

🛒 Køb membran keypad🎓 Sådan virker et breadboard

⚡ Hurtige specifikationer

Parameter Værdi
Layout 3 kolonner x 4 rækker (1–9, *, 0, #)
Type Passivt membran-tastatur (ingen elektronik – kun kontakter)
Tilslutning 7-pin hunstik, 2.54 mm pitch
Forsyning Ingen – virker med både 3.3V og 5V microcontrollere
Belastning Kun til logiksignaler (få mA) – ikke til at skifte strøm direkte
Montering Selvklæbende bagside, fleksibelt fladkabel

📌 Pinout

Den almindelige rækkefølge, med tastaturet vendt mod dig og kablet nedad, fra venstre mod højre:

Pin Navn Funktion Forbindes til
1 R1 Række 1 (1, 2, 3) Digital pin
2 R2 Række 2 (4, 5, 6) Digital pin
3 R3 Række 3 (7, 8, 9) Digital pin
4 R4 Række 4 (*, 0, #) Digital pin
5 C1 Kolonne 1 (1, 4, 7, *) Digital pin
6 C2 Kolonne 2 (2, 5, 8, 0) Digital pin
7 C3 Kolonne 3 (3, 6, 9, #) Digital pin
Pin-rækkefølgen kan variere mellem producenter. Er du i tvivl, så mål efter: Sæt et multimeter på kontinuitet, hold fx "1" nede, og find de to ben der forbindes – det er R1 og C1.

🔌 Sådan forbinder du den

Keypad Arduino UNO / Nano ESP32 (DevKit)
1 (R1) D9 GPIO 13
2 (R2) D8 GPIO 14
3 (R3) D7 GPIO 27
4 (R4) D6 GPIO 26
5 (C1) D5 GPIO 25
6 (C2) D4 GPIO 33
7 (C3) D3 GPIO 32

Der skal ingen strøm eller GND til tastaturet – biblioteket scanner selv rækker og kolonner.

💻 Eksempelkode

Installér "Keypad" (af Mark Stanley og Alexander Brevig). Sketchen skriver tasterne i Serial Monitor og tjekker en simpel kode: tast 1234 og afslut med #.

#include <Keypad.h>

const byte RAEKKER = 4;
const byte KOLONNER = 3;
char taster[RAEKKER][KOLONNER] = {
  {'1', '2', '3'},
  {'4', '5', '6'},
  {'7', '8', '9'},
  {'*', '0', '#'}
};
byte raekkePins[RAEKKER]   = {9, 8, 7, 6};  // R1-R4
byte kolonnePins[KOLONNER] = {5, 4, 3};     // C1-C3

Keypad keypad = Keypad(makeKeymap(taster), raekkePins, kolonnePins, RAEKKER, KOLONNER);

String indtastet = "";

void setup() {
  Serial.begin(9600);
  Serial.println("Tast koden og afslut med #");
}

void loop() {
  char tast = keypad.getKey();
  if (!tast) return;

  Serial.print(tast);
  if (tast == '#') {
    Serial.println();
    Serial.println(indtastet == "1234" ? "Adgang givet!" : "Forkert kode");
    indtastet = "";
  } else if (tast == '*') {
    indtastet = "";            // * = slet
    Serial.println(" (slettet)");
  } else {
    indtastet += tast;
  }
}

💡 KompoNemt-tip fra værkstedet

  • Forkerte taster? Kommer der "4" når du trykker "2", er rækker og kolonner byttet. Byt om på de to arrays, eller ret rækkefølgen af pins.
  • Brug ikke D0/D1 på UNO – det er serielporten, og så forstyrrer tastaturet både upload og Serial Monitor.
  • Fladkablet er sart: Knæk det ikke skarpt ved stikket. Træk det gennem en slids i kassen og aflast det med lidt tape.
  • Rigtig dørlås? Gem ikke koden i klar tekst, hvis det betyder noget, og lad Arduinoen styre låsen via et relæ eller en MOSFET – aldrig direkte fra tastaturet.

🔧 Fejlfinding

  • Nogle taster virker ikke: En række eller kolonne mangler forbindelse – tjek stikket og pin-nummeret i koden.
  • Taster dukker op flere gange: Løs forbindelse. Tryk stikket helt ned eller brug nye jumperledninger.
  • Helt forkerte tegn: Pin-rækkefølgen på dit eksemplar afviger – mål efter med multimeter som beskrevet under Pinout.
  • Board vises ikke i Arduino IDE? Se vores CH340-driver guide.

Sidder du fast? Skriv til os – vi hjælper gerne.