
Tutorial Arduino Tinkercad: Cara Membuat Kunci Pintu Digital Pintar (Smart Door Lock System) Menggunakan Keypad Matrix 4×3, Motor Servo, Layar LCD I2C, & Arduino
Pada bagian ini akan dibahas pembuatan sistem kunci pintu digital pintar berbasis mikrokontroler Arduino (Smart Door Lock System) menggunakan Keypad Matrix 4×3 untuk input password, motor servo sebagai penggerak mekanis kunci pintu, layar LCD 16×2 I2C untuk antarmuka pengguna, serta platform simulasi Tinkercad / WOKWI. Skematik rangkaian ditunjukkan pada Gambar 1, program Arduino pada Kode 1, dan video pembuatan pada tautan Video 1. Sistem dirancang untuk mengamankan akses ruangan menggunakan PIN master 6 digit (“123456”). Pengguna memasukkan kombinasi angka melalui keypad, di mana layar LCD menampilkan karakter asterisk/input secara real-time. Jika password benar, motor servo berputar membuka kunci pintu dan menampilkan pesan “Door is Open”. Pengguna dapat mengunci kembali pintu dengan menekan tombol bintang (*), serta mereset input dengan menekan tombol pagar (#).
Gambar 1. Skematik rangkaian sistem
List Pin:
- Modul Keypad Matrix 4×3
Pin Baris 1 (Row 1) => Digital Pin 1 (TX / Pin 1)
Pin Baris 2 (Row 2) => Digital Pin 2
Pin Baris 3 (Row 3) => Digital Pin 3
Pin Baris 4 (Row 4) => Digital Pin 4
Pin Kolom 1 (Col 1) => Digital Pin 5
Pin Kolom 2 (Col 2) => Digital Pin 6
Pin Kolom 3 (Col 3) => Digital Pin 7 - Layar LCD 16×2 I2C (Alamat: 0x27)
GND => GND
VCC => 5 / 3.3V
SDA => Pin SDA (A4 pada Arduino Uno / GPIO 21)
SCL => Pin SCL (A5 pada Arduino Uno / GPIO 22) - Aktuator Motor Servo Kunci Pintu
Signal (PWM) => Digital Pin 9 (servoPin / myservo)
VCC => 5V
GND => GND
List Virtual PIN:
- Proyek ini dirancang sebagai sistem kunci pintu digital mandiri (standalone/offline) pada platform Tinkercad / Arduino menggunakan Keypad Matrix, motor servo, dan layar LCD tanpa koneksi modul Wi-Fi/Cloud ESP32. Oleh karena itu, pemetaan Virtual Pin Blynk tidak diterapkan pada modul proyek ini.
//-ALFIAN CENTER-
//--SUBSCRIBE--
#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
Servo myservo;
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define Password_Lenght 7 // Berikan ruang yang cukup untuk enam karakter + karakter NULL
int pos = 0; // variabel untuk menyimpan posisi servo
char Data[Password_Lenght]; // 6 adalah jumlah karakter yang dapat ditampungnya + karakter nol = 7
char Master[Password_Lenght] = "123456";
byte data_count = 0, master_count = 0;
bool Pass_is_good;
char customKey;
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
bool door = true;
byte rowPins[ROWS] = {1, 2, 3, 4}; //sambungkan ke pinout baris pada keypad
byte colPins[COLS] = {5, 6, 7}; //sambungkan ke pinout kolom pada keypad
Keypad customKeypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS); //menginisialisasi turunan kelas NewKeypad
//-ALFIAN CENTER-
//--SUBSCRIBE--
void setup()
{
myservo.attach(9);
ServoClose();
lcd.init();
lcd.backlight();
lcd.setCursor(2, 0);
lcd.print("Alfian Center");
lcd.setCursor(2, 1);
lcd.print("--SUBSCRIBE--");
delay(3000);
lcd.setCursor(1, 0);
lcd.print("*Arduino Door*");
lcd.setCursor(0, 1);
lcd.print("--Look project--");
delay(3000);
lcd.clear();
}
//-ALFIAN CENTER-
//--SUBSCRIBE--
void loop()
{
if (customKey == '#')
{
lcd.clear();
clearData();
}
if (door == 0)
{
customKey = customKeypad.getKey();
if (customKey == '*')
{
lcd.clear();
ServoClose();
lcd.print(" Door is close");
delay(3000);
door = 1;
}
}
else Open();
}
//-ALFIAN CENTER-
//--SUBSCRIBE--
void clearData()
{
while (data_count != 0)
{ // Ini dapat digunakan untuk ukuran array apa pun,
Data[data_count--] = 0; //hapus array untuk data baru
}
return;
}
void ServoOpen()
{
for (pos = 180; pos >= 0; pos -= 5) { // berubah dari 0 derajat menjadi 180 derajat
// in steps of 1 degree
myservo.write(pos); // suruh servo untuk pergi ke posisi di variabel 'pos'
delay(15); // menunggu 15ms hingga servo mencapai posisinya
}
}
void ServoClose()
{
for (pos = 0; pos <= 180; pos += 5) { // berubah dari 180 derajat menjadi 0 derajat
myservo.write(pos); // suruh servo untuk pergi ke posisi di variabel 'pos'
delay(15); // menunggu 15ms hingga servo mencapai posisinya
}
}
//-ALFIAN CENTER-
//--SUBSCRIBE--
void Open()
{
lcd.setCursor(0, 0);
lcd.print(" Enter Password ");
customKey = customKeypad.getKey();
if (customKey) // memastikan tombol benar-benar ditekan, sama dengan (customKey != NO_KEY)
{
Data[data_count] = customKey; // menyimpan char ke dalam array data
lcd.setCursor(data_count, 1); // gerakkan kursor untuk menampilkan setiap karakter baru
lcd.print(Data[data_count]); // cetak char pada kursor tersebut
data_count++; // menambah array data sebanyak 1 untuk menyimpan karakter baru, juga melacak jumlah karakter yang dimasukkan
}
if (data_count == Password_Lenght - 1) // jika indeks array sama dengan jumlah karakter yang diharapkan, bandingkan data dengan master
{
if (!strcmp(Data, Master)) // sama dengan (strcmp(Data, Master) == 0)
{
lcd.clear();
ServoOpen();
lcd.print(" Door is Open");
door = 0;
clearData();
}else{
lcd.clear();
lcd.print(" Wrong Password");
delay(1000);
door = 1;
clearData();
}
}
}
Kode Arduino 1. Kode Program

Video 1. Video tutorial pembuatan
TAG:
smart door lock arduino, kunci pintu keypad arduino, tutorial tinkercad arduino, keypad matrix 4×3 arduino, motor servo kunci pintu, oled lcd i2c arduino, blynk wokwi smart door, tutorial arduino uno, iot sistem pengaman pintu, password door lock arduino, library keypad arduino, library servo arduino, library liquidcrystal i2c, pinout keypad 4×3 arduino, strcmp password check arduino, fungsi clear data array, rotasi motor servo 180 derajat, tutorial tinkercad indonesia, simulasi arduino uno, sistem keamanan rumah pintar, lcd screen display arduino, datastream kunci pintu, smart home security appliances, proyek teknik elektro kreatif, mekatronika kunci pintu otomatis, tugas akhir arduino uno, skripsi iot door lock, ide proyek mikrokontroler keamanan, skematik smart door arduino, diagram rangkaian keypad servo lcd, source code smart door arduino, program arduino keypad password, simulasi iot tanpa hardware, platform simulasi tinkercad, wokwi arduino smart door, alat pengaman rumah berbasis mikrokontroler, telemetry data lcd screen, proyek sains elektro, portofolio mikrokontroler keamanan, praktikum arduino uno, modul keypad 4×3 matrix, pinout arduino keypad servo, indikator status lcd, grafik password door lock, sistem akses pintu otomatis, efisiensi keamanan rumah, panduan arduino keypad lcd, belajar mikrokontroler online, simulator komponen elektronik tinkercad, tinkercad custom circuit door lock, internet of things indonesia, iot smk teknik elektro, iot universitas teknik, prototipe kunci pintu arduino, alat pengaman pintu otomatis, smart security project, arduino ide programming, tutorial arduino pemula, proyek elektro sistem keamanan, panduan lengkap tinkercad arduino, sensor keypad tombol akurat, sistem animasi layar lcd, logika verifikasi master password, notifikasi status salah password, sistem kendali akses interaktif, otomatisasi pintu elektronik, proyek mekatronika elektro, simulasi hardware smart door, sistem kunci pintu arduino, proyek arduino populer, kodingan door lock otomatis, keypad library arduino, rangkaian keypad dan servo, tutorial mikrokontroler pemula, wawasan teknik elektro, aplikasi lcd display keamanan, konsol pengaman pintu mini arduino, koding logika strcmp password, pemantauan status input real time, arduino security management system
