Raspberry Pi Pico dapat digunakan untuk berbagai proyek elektronika dan sistem kontrol sederhana. Salah satu proyek yang menarik untuk dipelajari adalah membuat password system menggunakan keypad 4x4. Pada proyek ini, keypad 4x4 digunakan sebagai perangkat input untuk memasukkan kombinasi password. Raspberry Pi Pico kemudian membaca setiap tombol yang ditekan dan membandingkannya dengan password yang sudah ditentukan di dalam program. Jika password yang dimasukkan benar, sistem akan memberikan respons berupa pesan "Password Benar". Sebaliknya, jika password salah, sistem akan memberikan pesan "Password Salah". Proyek Raspberry Pi Pico dengan keypad 4x4 ini cocok untuk mempelajari konsep input digital, pemrograman MicroPython, pengolahan string, serta logika sederhana untuk membuat sistem keamanan.
Apa yang Akan Dibuat?
Sistem yang dibuat memiliki alur kerja seperti berikut:
Keypad 4x4 → Raspberry Pi Pico → Pemeriksaan Password → Output
Pengguna memasukkan password melalui keypad. Setelah tombol tertentu ditekan sebagai tanda bahwa input selesai, Raspberry Pi Pico akan memeriksa password tersebut. Contohnya, password yang digunakan adalah: 1289. Jika pengguna memasukkan 1289, sistem akan menganggap password benar. Jika memasukkan kombinasi lain, sistem akan menganggap password salah.
Baca juga: Mengirim Data Jarak HC-SR04 dari Raspberry Pi Pico W ke Web Server melalui WiFi
Komponen yang Dibutuhkan
Untuk membuat Pico Password System dengan Keypad 4x4, siapkan beberapa komponen berikut:
Program akan dibuat menggunakan MicroPython dan dapat dijalankan melalui Thonny IDE.
Mengenal Keypad 4x4
Keypad 4x4 merupakan keypad berbentuk matriks yang memiliki 16 tombol. Tombol tersebut biasanya terdiri dari angka 0–9 dan *, # serta huruf A-D. Keypad memiliki 4 jalur baris (row) dan 4 jalur kolom (column). Dengan metode matrix scanning, Raspberry Pi Pico dapat mengetahui tombol mana yang sedang ditekan. Susunan tombol keypad 4x4 umumnya seperti berikut:
Dalam proyek ini, tombol # dapat digunakan sebagai tombol Enter untuk mengakhiri input password. Tombol * dapat digunakan untuk menghapus input.
Rangkaian Raspberry Pi Pico dengan Keypad 4x4
Keypad 4x4 memiliki delapan pin yang terdiri dari empat pin row dan empat pin column. Contoh koneksi yang digunakan pada proyek ini:
Pastikan koneksi antara keypad dan Raspberry Pi Pico sesuai dengan konfigurasi pin yang digunakan pada program.
Catatan: Urutan pin keypad dapat berbeda tergantung modul yang digunakan. Jika susunan pin berbeda, sesuaikan koneksi row dan column dengan keypad yang digunakan.
Cara Kerja Pico Password System
Sistem password bekerja melalui beberapa tahap, yaitu:
1. Raspberry Pi Pico Menunggu Input
Setelah program dijalankan, Raspberry Pi Pico akan berada dalam kondisi menunggu pengguna menekan tombol keypad. Misalnya password yang ditentukan adalah 1289.
2. Pengguna Memasukkan Password
Pengguna menekan tombol 1 → 2 → 8 → 9. Setiap tombol yang ditekan akan disimpan ke dalam variabel input password.
3. Tombol # Sebagai Enter
Setelah selesai memasukkan password, pengguna menekan tombol #. Program kemudian membandingkan input dengan password yang sudah ditentukan.
4. Password Diperiksa
Jika input = password maka sistem menampilkan "Password Benar", jika tidak sama "Password Salah". Setelah itu, input password dikosongkan kembali sehingga pengguna dapat mencoba lagi.
Program Password System Raspberry Pi Pico
Berikut contoh program MicroPython Raspberry Pi Pico dengan keypad 4x4. Program ini menggunakan empat pin sebagai row dan empat pin sebagai column.
from machine import Pin
from time import sleep
# Pin baris keypad
rows = [
Pin(2, Pin.OUT),
Pin(3, Pin.OUT),
Pin(4, Pin.OUT),
Pin(5, Pin.OUT)
]
# Pin kolom keypad
cols = [
Pin(6, Pin.IN, Pin.PULL_DOWN),
Pin(7, Pin.IN, Pin.PULL_DOWN),
Pin(8, Pin.IN, Pin.PULL_DOWN),
Pin(9, Pin.IN, Pin.PULL_DOWN)
]
# Susunan tombol keypad
keys = [
['1', '2', '3', 'A'],
['4', '5', '6', 'B'],
['7', '8', '9', 'C'],
['*', '0', '#', 'D']
]
# Password yang benar
password = "1289"
# Variabel untuk menyimpan input
input_password = ""
def get_key():
for i, row in enumerate(rows):
# Aktifkan satu baris
row.value(1)
for j, col in enumerate(cols):
if col.value() == 1:
key = keys[i][j]
# Tunggu tombol dilepas
while col.value() == 1:
sleep(0.01)
row.value(0)
return key
row.value(0)
return None
print("=== Pico Password System ===")
print("Masukkan password:")
print("Tekan # untuk Enter")
print("Tekan * untuk menghapus")
while True:
key = get_key()
if key is not None:
print("Tombol:", key)
# Tombol Enter
if key == '#':
print("Memeriksa password...")
if input_password == password:
print("Password Benar!")
else:
print("Password Salah!")
# Reset input
input_password = ""
print("Masukkan password lagi:")
# Tombol hapus
elif key == '*':
input_password = ""
print("Input dihapus.")
print("Masukkan password lagi:")
# Tombol biasa
else:
input_password += key
# Menampilkan tanda * agar password tidak terlihat
print("Password:", "*" * len(input_password))
sleep(0.1)
Penjelasan Program
1. Menentukan Pin Keypad
Bagian berikut menentukan empat pin yang digunakan sebagai row:
rows = [
Pin(2, Pin.OUT),
Pin(3, Pin.OUT),
Pin(4, Pin.OUT),
Pin(5, Pin.OUT)
]
Sedangkan pin GP6 hingga GP9 digunakan sebagai column:
cols = [
Pin(6, Pin.IN, Pin.PULL_DOWN),
Pin(7, Pin.IN, Pin.PULL_DOWN),
Pin(8, Pin.IN, Pin.PULL_DOWN),
Pin(9, Pin.IN, Pin.PULL_DOWN)
]
Konfigurasi tersebut harus sesuai dengan kabel yang dipasang dari keypad ke Raspberry Pi Pico.
2. Membuat Susunan Tombol
Susunan tombol ditulis dalam bentuk array dua dimensi:
keys = [
['1', '2', '3', 'A'],
['4', '5', '6', 'B'],
['7', '8', '9', 'C'],
['*', '0', '#', 'D']
]
Program menggunakan susunan tersebut untuk menentukan tombol berdasarkan posisi row dan column.
3. Menentukan Password
Password ditentukan menggunakan variabel:
password = "1289"
Jika ingin mengganti password menjadi 5678, cukup ubah menjadi:
password = "5678"
4. Menyimpan Input Password
Variabel berikut digunakan untuk menyimpan tombol yang telah ditekan:
input_password = ""
Setiap kali pengguna menekan tombol angka, karakter tersebut akan ditambahkan:
input_password += key
Misalnya pengguna menekan 1, 2, 8, dan 9, maka nilai input_password menjadi 1289.
5. Memeriksa Password
Ketika tombol # ditekan, program akan membandingkan input dengan password:
if input_password == password:
print("Password Benar!")
else:
print("Password Salah!")
Jika keduanya sama, password dianggap benar.
Pengujian Sistem
Setelah program berhasil dijalankan pada Raspberry Pi Pico, buka Shell pada Thonny IDE untuk melihat hasilnya. Saat sistem aktif, akan muncul:
Jika memasukkan password yang salah, misalnya: 189D, maka hasilnya:
Dengan demikian, Raspberry Pi Pico berhasil digunakan sebagai pengendali sistem password menggunakan keypad 4x4.
Pengembangan Sistem Password
Proyek ini masih dapat dikembangkan menjadi sistem yang lebih kompleks.
1. Menggunakan LED sebagai Indikator
LED dapat digunakan sebagai indikator status password. Misalnya:
- LED menyala → password benar
- LED mati → password salah
Dengan tambahan LED, pengguna tidak harus melihat Shell Thonny untuk mengetahui hasil pemeriksaan password.
2. Menambahkan Buzzer
Buzzer juga dapat ditambahkan untuk memberikan suara ketika tombol keypad ditekan. Contohnya:
- Bunyi pendek → tombol ditekan
- Bunyi berbeda → password benar
- Bunyi panjang → password salah
3. Menggunakan Servo sebagai Pengunci
Proyek ini dapat dikembangkan dengan menambahkan OLED I2C sebagai media untuk menampilkan informasi kepada pengguna. Raspberry Pi Pico akan menerima input password dari keypad 4x4, kemudian memeriksa password yang dimasukkan. Hasil pemeriksaan tersebut selanjutnya dapat ditampilkan pada OLED. Jika password yang dimasukkan benar, OLED dapat menampilkan pesan bahwa password diterima. Sebaliknya, jika password salah, OLED dapat menampilkan pesan bahwa password yang dimasukkan tidak sesuai. Dengan penambahan OLED, sistem password menjadi lebih interaktif dan mudah digunakan karena pengguna dapat melihat informasi mengenai proses input dan hasil pemeriksaan password secara langsung melalui layar.
4. Menambahkan Batas PercobaanSistem juga dapat diberi batas jumlah percobaan. Misalnya pengguna hanya mendapatkan tiga kesempatan. Jika password salah sebanyak tiga kali, sistem dapat mengaktifkan buzzer atau menonaktifkan input keypad selama beberapa detik. Konsep ini membuat Pico Password System menjadi lebih mirip sistem keamanan sederhana.
Kelebihan Menggunakan Keypad 4x4
Penggunaan keypad 4x4 pada Raspberry Pi Pico memiliki beberapa keuntungan, antara lain:
1. Keypad menyediakan banyak tombol dalam jumlah pin yang relatif sedikit karena menggunakan sistem matriks.
2. Keypad mudah digunakan untuk memasukkan angka atau karakter.
3. Keypad dapat digunakan untuk berbagai proyek seperti sistem password, digital door lock, alarm sederhana, mesin input angka, sistem akses ruangan, kontrol perangkat elektronik, dan proyek IoT sederhana.
Oleh karena itu, kombinasi Raspberry Pi Pico dan keypad 4x4 cukup menarik untuk proyek pembelajaran mikrokontroler.
Baca juga: Keypad 4x4 Raspberry Pi Pico: Fungsi, Wiring dan Contoh Program MicroPython
Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.
- Diskusi umum dan tanya jawab praktik: https://t.me/edukasielektronika
- Kendala spesifik dan kasus tertentu: http://bit.ly/Chatarduino






0 Komentar