● online
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- Arduino Uno R3 Compatible ATmega328P DIP....
- MP3 TF 16P Alternatif DFPlayer mini MP3 Player Ard....
- ESP32 ESP-32 Wireless Module ESP32-S ESP-WROOM-32 ....
- Potensiometer 10K - Mono Potensio Meter Linear Res....
- DS3231SN DS3231 SN I2C RTC Module & Baterai Mo....
- RC Servo ARM Horn M3 Metal 25T MG995 MG946R MG996R....
- Raspberry Pi 4 Model B 8GB Original UK E14 Raspi 4....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Tutorial Keypad 4×4 dan LCD 1602 Menggunakan Arduino Uno
Keypad 4×4 berfungsi sebagai penghubung antara perangkat (mesin) elektronik dengan manusia atau dikenal dengan istilah Human Machine Interface (HMI). Papan tombol matriks 4×4 memiliki konstruksi atau susunan yang sederhana dan hemat dalam penggunaan port mikrokontroler. Keypad sering sekali kita jumpai dalam kehidupan sehari-hari contohnya meteran listrik pada rumah, kalkulator, dan keyboard komputer. LCD adalah perangkat elektronik yang digunakan sebagai luaran (Output) untuk menampilkan karakter berupa kata, huruf maupun gambar. Pada tutorial kali ini LCD digunakan untuk menampilkan karakter dari tombol keypad yang ditekan.
Gambar 1. Keypad 4×4
Keypad 4×4 terdapat 16 karakter (16 tombol) yang terdiri dari karakter angka 0-9, karakter alphabet A-D serta terdapat karakter spesial * dan #. Konfigurasi pin dari keypad 4×4 terdiri dari 4 pin baris dan 4 pin kolom seperti terlihat pada gambar dibawah ini.
Gambar 2. Pinout keypad 4×4
Untuk lebih memahami cara akses keypad serta menampilkan karakter tombol keypad yang ditekan marilah kita buat percobaan sederhana, namun sebelum itu persiapkan:
Alat dan Bahan
- Arduino Uno.
- LCD 1602 I2C.
- Keypad 4×4.
- Jumper Male to Male secukupnya.
- Jumper Male to female secukupnya.
Buatlah rangkaian seperti terlihat pada gambar 2 dengan konfigurasi pin:
- R1 dihubungkan pada pin 9 Arduino Uno.
- R2 dihubungkan pada pin 8 Arduino Uno
- R3 dihubungkan pada pin 7 Arduino Uno.
- R4 dihubungkan pada pin 6 Arduino Uno.
- C1 dihubungkan pada pin 5 Arduino Uno.
- C2 dihubungkan pada pin 4 Arduino Uno.
- C3 dihubungkan pada pin 3 Arduino Uno.
- C4 dihubungkan pada pin 2 Arduino Uno.
- GND LCD I2C dihubungkan pada pin GND Arduino Uno
- VCC LCD I2C dihubungkan pada pin 5V Arduino Uno
- SDA LCD I2C dihubungkan pada pin A4 Arduino Uno
- SCL LCD I2C dihubungkan pada pin A5 Arduino Uno
Gambar 3. Gambar Pengkabelan
Source Code (Enroll)
Selanjutnya buka IDE Arduino Anda (dapat diunduh di arduino.cc), dan copy-kan listing program sebagai berikut:
#include <Keypad.h> #include <Wire.h> // Memanggil library wire.h #include <LiquidCrystal_I2C.h> // Memanggil library LCD dengan I2C LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C(0x27) LCD dan Jenis LCD (20x4) const byte ROWS = 4; //4 baris const byte COLS = 4; //4 kolom char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte colPins[COLS] = {5, 4, 3, 2}; // pin 2,3,4,5 untuk pin kolom keypad (lihat gambar) byte rowPins[ROWS] = {9, 8, 7, 6}; // pin 6,7,8,9 untuk pin baris keypad (lihat gambar) Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); char stringAngka[17]; int indexKeypad = 0; void setup(){ Serial.begin(9600); lcd.init(); // instruksi untuk memulai LCD lcd.begin(16,2); // instruksi untuk menggunakan lcd 20x4 lcd.backlight(); // instruksi untuk mengaktifkan lampu latar LCD lcd.setCursor(4,0); // karakter tampil pada kolom 5 baris 1 LCD 1602 lcd.print("Tutorial"); // karakter tampil pada kolom 0 baris 2 LCD 1602 lcd.setCursor(0,1); //karakter tampil pada kolom 5 baris 1 LCD 1602 lcd.print("Keypad 4x4 & LCD"); //karakter tampil pada kolom 0 baris 2 LCD 1602 delay(2000); lcd.clear(); } void loop(){ lcd.setCursor(4,0); //karakter tampil pada kolom 5 baris 1 LCD 1602 lcd.print("Keypad LCD"); //karakter tampil pada kolom 0 baris 2 LCD 1602 lcd.setCursor(0,1); //karakter tampil pada kolom 5 baris 1 LCD 1602 lcd.print("Tombol keypad: "); //karakter tampil pada kolom 0 baris 2 LCD 1602 char key = keypad.getKey(); if (key) { Serial.println(key); switch (key) { case '0': // Instruksi untuk menampilkan karakter pada LCD dan Serial monitor case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case '#': if (!indexKeypad) { lcd.clear(); } stringAngka[indexKeypad++] = key; lcd.setCursor(15,1); lcd.println(key); break; case '*': //Tombol * Keypad digunakan sebagai reset lcd.clear(); indexKeypad = 0; break; } } }
Sebelum upload program pastikan anda telah install library Keypad.h, LiquidCrystal_I2C.h, dan Wire.h. Langkah-langkah mengintall library klik sketch, include library, klik manage library, pada bagian pencarian ketik library yang anda cari, kemudian setelah library ditemukan klik install. Jika library sudah terinstall upload sketch (program di atas) dengan menekan tombol upload atau melalui shortkey CTRL+U, pastikan pengaturan board pada Arduino Uno & pastikan port yang anda gunakan sesuai dengan yang tertera pada device manager. Setelah program selesai diunggah aktifkan serial monitor kemudian tekan keypad dan amati karakter yang ditampilkan pada LCD 1602.
Gambar 4. Data serial monitor ketika tombol keypad 1 dan 2 ditekan
Gambar 5. Karakter LCD ketika keypad 1 ditekan
Gambar 6. Karakter LCD ketika keypad 2 ditekan
Ketika tombol 1 keypad ditekan maka serial monitor akan menampilkan karakter 1 dan pada LCD 1602 akan muncul karakter 1 seperti terlihat pada Gambar 5. Kemudian ketika tombol 2 keypad ditekan maka pada serial monitor akan muncul karakter 2 dan pada LCD muncul karakter 2 seperti pada Gambar 6. Jika hasil percobaan anda telah sesuai seperti pada tutorial ini maka selamat anda telah berhasil menggunakan keypad sebagai masukan dan menampilkan karakter tombol yang anda tekan pada LCD 1602. Anda dapat mencoba untuk menekan tombol keypad yang lain untuk memastikan bahwa karakter yang ditampilkan pada serial monitor maupun LCD 1602 telah sesuai dengan tombol yang anda tekan. Jika karakter yang ditampilkan tidak sesuai dengan tombol yang anda tekan, maka anda perlu periksa program pada baris 8-12. Pastikan sudah sesuai seperti keypad yang anda miliki.
Tutorial Keypad 4×4 dan LCD 1602 Menggunakan Arduino Uno
Hallo ketemu lagi dengan pembahasan sensor DHT11, kali ini kita akan menggunakannya pada NodemMCU. Nanti akan dibahas mengenai rangkaian... selengkapnya
Sensor suara merupakan sensor yang dapat mengubah besaran suara menjadi besaran listrik dimana nilai diperoleh dari besarnya gelombang suara... selengkapnya
Dulu kita sudah belajar untuk mengisi bootloader Arduino Uno ke IC Atmega328 juga, namun dengan jenis DIP (LIHAT DISINI).... selengkapnya
Sedikit kembali ke awal pembelajaran, pembahasan kali ini diperuntukan untuk anda yang masih bingung untuk belajar Arduino dari mana.... selengkapnya
LDR merupakan sebuah resistor yang nilai resistansinya dapat berubah-ubah sesuai dengan cahaya di sekelilingnya. Untuk pemanfaatan sensor ini sudah... selengkapnya
NodeMCU dikhususkan sebagai board yang dapat terhubung dengan jaringan internet (Wifi), jadi buat yang ingin belajar Internet of... selengkapnya
Bluetooth merupakan komunikasi wireles (nirkabel) menggunakan SPP (Serial Port Protocol) dengan frekusensi kerja 2.4 GHz. Dengan Bluetooth, kita dapat... selengkapnya
Siapa yang nggak kenal dengan running text? Running text merupakan sebuah teks berjalan pada sebuah papan yang berisi led-led... selengkapnya
Oke pada artikel kali ini membahas telegram kembali menggunakan sensor DHT untuk mendeteksi suhu dan kelembaban. Jadi nanti akan... selengkapnya
Kali ini kita akan mencoba menggunakan sensor DHT11 pada ESP32. Seperti yang kita ketahui sensor DHT11 ini berfungsi untuk... selengkapnya
Kabel Jumper Dupont Pelangi 10 cm female to female 1 lembar = 40 kabel
Rp 9.0001 X LDR Sensor 5mm Cahaya 5528 Light Dependent Resistor LDR
Rp 4.00012A 300W DC Buck Step Down Converter CC CV Driver LED charge Battery Spesifikasi: Input Voltage: 5-40V Output Voltage: 1.2-35V… selengkapnya
Rp 39.400Features: Brand new and high quality. Control the speed of a DC motor with this controller. High efficiency, high torque,… selengkapnya
Rp 25.400Support terus UKM indonesia dengan membeli produk-produk dalam negeri. Untuk kualitas tidak usah diragukan, udah kita tes QC dengan sangat… selengkapnya
Rp 8.500Spesifikasi: 1. 14 digital input / output ports RX, TX, D2 ~ D13, 2. 8 analog input ports A0 ~… selengkapnya
Rp 82.500Temperature and humidity transmitter SHT20 sensor industrial grade high precision temperature and humidity monitoring Modbus RS485 (MD02) MODBUS debugging assistant… selengkapnya
Rp 96.800TILT SENSOR adalah sensor untuk mendeteksi sudut kemiringan / derajat, dimana cara kerja sensor ini adalah dengan menggunakan 2 buah… selengkapnya
Rp 9.800Putaran = 180º Specifications • Weight: 55 g • Dimension: 40.7 x 19.7 x 42.9 mm approx. • Stall torque:… selengkapnya
Rp 36.400Dual Volt Amp Meter Digital Ampere Meter Voltmeter 10A 0-100V Ammeter Dilengkapi dengan pengukuran Voltmeter dan Amperemeter dalam 1 display… selengkapnya
Rp 26.500
Saat ini belum tersedia komentar.