{"id":641,"date":"2026-11-07T07:39:20","date_gmt":"2026-11-07T07:39:20","guid":{"rendered":"https:\/\/kuliahelektro.org\/?p=641"},"modified":"2026-11-07T07:39:21","modified_gmt":"2026-11-07T07:39:21","slug":"tutorial-arduino-tinkercad-cara-membuat-kunci-pintu-digital-pintar-smart-door-lock-system-menggunakan-keypad-matrix-4x3-motor-servo-layar-lcd-i2c-arduino","status":"publish","type":"post","link":"https:\/\/kuliahelektro.org\/?p=641","title":{"rendered":"Tutorial Arduino Tinkercad: Cara Membuat Kunci Pintu Digital Pintar (Smart Door Lock System) Menggunakan Keypad Matrix 4&#215;3, Motor Servo, Layar LCD I2C, &amp; Arduino"},"content":{"rendered":"\n<p>Pada bagian ini akan dibahas pembuatan sistem kunci pintu digital pintar berbasis mikrokontroler Arduino (Smart Door Lock System) menggunakan Keypad Matrix 4&#215;3 untuk input password, motor servo sebagai penggerak mekanis kunci pintu, layar LCD 16&#215;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 (&#8220;123456&#8221;). 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 &#8220;Door is Open&#8221;. Pengguna dapat mengunci kembali pintu dengan menekan tombol bintang (*), serta mereset input dengan menekan tombol pagar (#).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/www.youtube.com\/watch?v=cOoxaw_vazc&amp;lc=UgyqU2_7ZbLGY16ixUN4AaABAg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" loading=\"lazy\" width=\"800\" height=\"614\" src=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-11.png\" alt=\"\" class=\"wp-image-643\" style=\"aspect-ratio:1.3029315960912051;width:504px;height:auto\" srcset=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-11.png 800w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-11-300x230.png 300w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-11-768x589.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure><\/div>\n\n\n<p class=\"has-text-align-center\"><strong>Gambar 1. Skematik rangkaian sistem<\/strong><\/p>\n\n\n\n<p><strong>List Pin:<\/strong><\/p>\n\n\n\n<ul>\n<li>Modul Keypad Matrix 4&#215;3<br>Pin Baris 1 (Row 1) =&gt; Digital Pin 1 (TX \/ Pin 1)<br>Pin Baris 2 (Row 2) =&gt; Digital Pin 2<br>Pin Baris 3 (Row 3) =&gt; Digital Pin 3<br>Pin Baris 4 (Row 4) =&gt; Digital Pin 4<br>Pin Kolom 1 (Col 1) =&gt; Digital Pin 5<br>Pin Kolom 2 (Col 2) =&gt; Digital Pin 6<br>Pin Kolom 3 (Col 3) =&gt; Digital Pin 7<\/li>\n\n\n\n<li>Layar LCD 16&#215;2 I2C (Alamat: 0x27)<br>GND =&gt; GND<br>VCC =&gt; 5 \/ 3.3V<br>SDA =&gt; Pin SDA (A4 pada Arduino Uno \/ GPIO 21)<br>SCL =&gt; Pin SCL (A5 pada Arduino Uno \/ GPIO 22)<\/li>\n\n\n\n<li>Aktuator Motor Servo Kunci Pintu<br>Signal (PWM) =&gt; Digital Pin 9 (servoPin \/ myservo)<br>VCC =&gt; 5V<br>GND =&gt; GND<\/li>\n<\/ul>\n\n\n\n<p><strong>List Virtual PIN:<\/strong><\/p>\n\n\n\n<ul>\n<li>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.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/-ALFIAN CENTER-\r\n\/\/--SUBSCRIBE--\r\n\r\n#include &lt;Keypad.h>\r\n#include &lt;LiquidCrystal_I2C.h>\r\n#include &lt;Servo.h>\r\n\r\nServo myservo;\r\n\r\nLiquidCrystal_I2C lcd(0x27, 16, 2);\r\n\r\n#define Password_Lenght 7 \/\/ Berikan ruang yang cukup untuk enam karakter + karakter NULL\r\nint pos = 0;    \/\/ variabel untuk menyimpan posisi servo\r\n\r\nchar Data&#91;Password_Lenght]; \/\/ 6 adalah jumlah karakter yang dapat ditampungnya + karakter nol = 7\r\nchar Master&#91;Password_Lenght] = \"123456\";\r\n\r\nbyte data_count = 0, master_count = 0;\r\nbool Pass_is_good;\r\n\r\nchar customKey;\r\n\r\nconst byte ROWS = 4;\r\nconst byte COLS = 3;\r\n\r\nchar keys&#91;ROWS]&#91;COLS] = {\r\n  {'1', '2', '3'},\r\n  {'4', '5', '6'},\r\n  {'7', '8', '9'},\r\n  {'*', '0', '#'}\r\n};\r\n\r\nbool door = true;\r\n\r\nbyte rowPins&#91;ROWS] = {1, 2, 3, 4}; \/\/sambungkan ke pinout baris pada keypad\r\nbyte colPins&#91;COLS] = {5, 6, 7}; \/\/sambungkan ke pinout kolom pada keypad\r\n\r\nKeypad customKeypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS); \/\/menginisialisasi turunan kelas NewKeypad\r\n\r\n\/\/-ALFIAN CENTER-\r\n\/\/--SUBSCRIBE--\r\nvoid setup()\r\n{\r\n  myservo.attach(9);\r\n  ServoClose();\r\n  lcd.init();\r\n  lcd.backlight();\r\n  lcd.setCursor(2, 0);\r\n  lcd.print(\"Alfian Center\");\r\n  lcd.setCursor(2, 1);\r\n  lcd.print(\"--SUBSCRIBE--\");\r\n  delay(3000);\r\n  lcd.setCursor(1, 0);\r\n  lcd.print(\"*Arduino Door*\");\r\n  lcd.setCursor(0, 1);\r\n  lcd.print(\"--Look project--\");\r\n  delay(3000);\r\n  lcd.clear();\r\n}\r\n\/\/-ALFIAN CENTER-\r\n\/\/--SUBSCRIBE--\r\nvoid loop()\r\n{\r\n  if (customKey == '#')\r\n    {\r\n    lcd.clear();\r\n    clearData();\r\n  }\r\n  if (door == 0)\r\n  {\r\n    customKey = customKeypad.getKey();\r\n    if (customKey == '*')\r\n    {\r\n      lcd.clear();\r\n      ServoClose();\r\n      lcd.print(\"  Door is close\");\r\n      delay(3000);\r\n      door = 1;\r\n    }\r\n  }\r\n  else Open();\r\n}\r\n\r\n\/\/-ALFIAN CENTER-\r\n\/\/--SUBSCRIBE--\r\nvoid clearData()\r\n{\r\n  while (data_count != 0)\r\n  { \/\/ Ini dapat digunakan untuk ukuran array apa pun,\r\n    Data&#91;data_count--] = 0; \/\/hapus array untuk data baru\r\n  }\r\n  return;\r\n}\r\n\r\nvoid ServoOpen()\r\n{\r\n  for (pos = 180; pos >= 0; pos -= 5) { \/\/ berubah dari 0 derajat menjadi 180 derajat\r\n    \/\/ in steps of 1 degree\r\n    myservo.write(pos);              \/\/ suruh servo untuk pergi ke posisi di variabel 'pos'\r\n    delay(15);                       \/\/ menunggu 15ms hingga servo mencapai posisinya\r\n  }\r\n}\r\n\r\nvoid ServoClose()\r\n{\r\n  for (pos = 0; pos &lt;= 180; pos += 5) { \/\/ berubah dari 180 derajat menjadi 0 derajat\r\n    myservo.write(pos);              \/\/ suruh servo untuk pergi ke posisi di variabel 'pos'\r\n    delay(15);                       \/\/ menunggu 15ms hingga servo mencapai posisinya\r\n  }\r\n}\r\n\r\n\/\/-ALFIAN CENTER-\r\n\/\/--SUBSCRIBE--\r\nvoid Open()\r\n{\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(\" Enter Password \");\r\n  customKey = customKeypad.getKey();\r\n  if (customKey) \/\/ memastikan tombol benar-benar ditekan, sama dengan (customKey != NO_KEY)\r\n  {\r\n    Data&#91;data_count] = customKey; \/\/ menyimpan char ke dalam array data\r\n    lcd.setCursor(data_count, 1); \/\/ gerakkan kursor untuk menampilkan setiap karakter baru\r\n    lcd.print(Data&#91;data_count]); \/\/ cetak char pada kursor tersebut\r\n    data_count++; \/\/ menambah array data sebanyak 1 untuk menyimpan karakter baru, juga melacak jumlah karakter yang dimasukkan\r\n  }\r\n  if (data_count == Password_Lenght - 1) \/\/ jika indeks array sama dengan jumlah karakter yang diharapkan, bandingkan data dengan master\r\n  {\r\n    if (!strcmp(Data, Master)) \/\/ sama dengan (strcmp(Data, Master) == 0)\r\n    {\r\n      lcd.clear();\r\n      ServoOpen();\r\n      lcd.print(\"  Door is Open\");\r\n      door = 0;\r\n      clearData();\r\n    }else{\r\n      lcd.clear();\r\n      lcd.print(\"  Wrong Password\");\r\n      delay(1000);\r\n      door = 1;\r\n      clearData();\r\n    }\r\n  }\r\n   \r\n}<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-center\"><strong>Kode Arduino 1. Kode Program<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.youtube.com\/watch?v=cOoxaw_vazc&amp;lc=UgyqU2_7ZbLGY16ixUN4AaABAg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"576\" src=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-12-1024x576.png\" alt=\"\" class=\"wp-image-644\" srcset=\"https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-12-1024x576.png 1024w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-12-300x169.png 300w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-12-768x432.png 768w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-12-1536x864.png 1536w, https:\/\/kuliahelektro.org\/wp-content\/uploads\/2026\/11\/image-12-2048x1152.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><strong>Video 1. Video tutorial pembuatan<\/strong><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">TAG:<\/h1>\n\n\n\n<p class=\"has-text-align-left\">smart door lock arduino, kunci pintu keypad arduino, tutorial tinkercad arduino, keypad matrix 4&#215;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&#215;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&#215;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<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pada bagian ini akan dibahas pembuatan sistem kunci pintu digital pintar berbasis mikrokontroler Arduino (Smart Door Lock System) menggunakan Keypad Matrix 4&#215;3 untuk input password, motor servo sebagai penggerak mekanis kunci pintu, layar LCD 16&#215;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&#8230;<\/p>\n","protected":false},"author":3,"featured_media":644,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts\/641"}],"collection":[{"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=641"}],"version-history":[{"count":3,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts\/641\/revisions"}],"predecessor-version":[{"id":646,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/posts\/641\/revisions\/646"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=\/wp\/v2\/media\/644"}],"wp:attachment":[{"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kuliahelektro.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}