Implementasi dan Pengujian Keypad 4×4 Menggunakan ESP32

| Simak vidio selengkapnya

Dalam panduan praktis kali ini, kami menyajikan video mentahan tutorial langkah demi langkah mengenai cara melakukan konfigurasi dan pengujian Keypad 4×4 menggunakan ESP32. Melalui simulasi rangkaian, Anda akan diajak melihat bagaimana proses pemasangan dan

| Alat dan Bahan

Keypad Matrix 4x4

Buzzer

LCD 16x2

| Design Wiring

Visualisasi skema wiring di atas menunjukkan jalur koneksi pin antara ESP32, Keypad 4×4, LCD 16×2, dan Buzzer untuk memastikan pengabelan aman dan sinyal data stabil.

| Diagram Blok

Diagram blok ini menggambarkan alur kerja sistem: Keypad 4×4 sebagai input, ESP32 sebagai pemroses data, serta LCD 16×2 dan Buzzer sebagai output umpan balik

| Implementasi

Tabel koneksi ESP32 dengan Keypad Matrix
ESP-32 KEYPAD
D19
R1
D18
R2
D5
R3
D17
R4
D16
C1
D4
C2
D2
C3
D15
C

Hardware

  • Siapkan ESP32, 2 Controller PS2, dan LCD 16×2 I2C.

  • Hubungkan seluruh kabel jumper sesuai tabel koneksi di atas.

  • Pastikan semua pin terpasang kencang agar sinyal tidak goyah.

Software

  • Buka Arduino IDE, pilih board ESP32 Dev Module dan port yang sesuai.

  • Jika belum ada, masukkan URL https://dl.espressif.com/dl/package_esp32_index.json di Preferences, lalu install ESP32 dari Boards Manager.

  • Tempelkan kode program, klik Verify (✓), lalu klik Upload (→).

  • Buka Serial Monitor dan periksa tampilan pada layar LCD 16×2.

| Hasil Akhir

ESP32 berhasil membaca semua tombol Keypad 4×4 dengan akurat. Karakter atau tombol saat ditekan langsung muncul di layar LCD 16×2 sesuai dengan yang kita tekan. Selain itu, buzzer berbunyi sebagai penanda setiap kali tombol ditekan.

| Code

➕➕
KeypadMatrixCode.cpp
Library:
1.HD44780 By Bill Perry
https://github.com/duinoWitchery/hd44780
2.Keypad By Mark Stanley
https://github.com/Chris--A/Keypad


#include <Wire.h>
#include <hd44780.h>
#include <hd44780ioClass/hd44780_I2Cexp.h>
#include <Keypad.h>

hd44780_I2Cexp lcd;


const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {19, 18, 5, 17};
byte colPins[COLS] = {16, 4, 2, 15};

Keypad keypad = Keypad(
  makeKeymap(keys),
  rowPins,
  colPins,
  ROWS,
  COLS
);


#define BUZZER_PIN 27

int posisi = 0;

void setup() {

  Serial.begin(115200);

  Wire.begin(21, 22);

  int status = lcd.begin(16, 2);

  if (status) {
    Serial.print("LCD ERROR: ");
    Serial.println(status);
    while (1);
  }

  pinMode(BUZZER_PIN, OUTPUT);

  lcd.clear();

  lcd.setCursor(0, 0);
  lcd.print("Tekan Tombol:");

  lcd.setCursor(0, 1);
}

void loop() {

  char key = keypad.getKey();

  if (key != NO_KEY) {


    tone(BUZZER_PIN, 1000);
    delay(50);
    noTone(BUZZER_PIN);


    if (key == '*') {

      if (posisi > 0) {

        posisi--;

        lcd.setCursor(posisi, 1);
        lcd.print(" ");

        lcd.setCursor(posisi, 1);
      }

      Serial.println("HAPUS");

      return;
    }


    if (posisi < 16) {

      lcd.setCursor(posisi, 1);
      lcd.print(key);

      posisi++;
    }

    Serial.print("Tombol = ");
    Serial.println(key);
  }
}

| Kesimpulan

Sistem Keypad 4×4 berbasis ESP32 berhasil beroperasi sesuai rencana. ESP32 mampu membaca input tombol, menampilkan karakter di LCD 16×2, dan membunyikan buzzer. Sistem ini siap Anda kembangkan lebih lanjut untuk proyek kunci pintu pintar atau pengontrol elektronik.

Kami Siap Bantu Kamu

Jasa IoT Industri

Integrasi IoT untuk efisiensi industri.

  • ✔ Solusi custom
  • ✔ Implementasi profesional
  • ✔ Support berkelanjutan
Konsultasi Gratis

Web Dashboard IoT

Monitoring data real-time & modern.

  • ✔ Real-time
  • ✔ UI modern
  • ✔ Aman & scalable
Hubungi Kami

Sertifikasi IoT BNSP

Upgrade skill + sertifikat resmi.

  • ✔ Sertifikasi BNSP
  • ✔ Praktik langsung
  • ✔ Untuk profesional
Daftar Sekarang

| FAQ (Frequently Asked Questions)

Bagaimana cara kerja Keypad 4x4 pada sistem ini?

Keypad menggunakan sistem matriks baris dan kolom. Saat tombol ditekan, ESP32 mendeteksi titik koordinat yang terhubung lalu menampilkan karakternya di layar LCD

Mengapa menggunakan ESP32 sebagai mikrokontroler utama?

ESP32 memiliki kecepatan proses tinggi, jumlah pin GPIO yang memadai, serta fitur Wi-Fi dan Bluetooth bawaan yang memudahkan pengembangan ke sistem berbasis IoT.

Apakah proyek Keypad ESP32 ini bisa dikembangkan lebih lanjut?

Bisa. Proyek ini dapat ditingkatkan menjadi sistem keamanan pintu, alat pemasuk sandi rahasia, hingga pengontrol alat elektronik jarak jauh.