Keypad 4x4 dan Indikator Led di Arduino

Ditulis oleh agan

بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم

Selamat pagi, lebih tepatnya selamat malam sobat boarduino. apa kabar kalian semua? semoga baik. Pada kali ini kita akan belajar bersama cara mengkoneksikan keypad membrane 4x4 dengan LED, mari langsung simak dan praktekkan.

Alat dan Bahan yang dibutuhkan :
  • 1x Arduino Uno
  • 4x Resistor 330 Ohm
  • 4x LED ( Merah, Kuning, Hijau, Biru )
  • 1x Keypad membrane 4x4
  • Project board / Breadboard
  • Kabel jumper secukupnya
Langkah - langkah menghubungkan Keypad membrane 4x4 ke Arduino :

1.) Susun rangkaian seperti berikut 


Keterangan Pemasangan :

Keypad Pin Pin Digital Arduino
Pin 1 Ke pin digital 8
Pin 2 Ke pin digital 7
Pin 3 Ke pin digital 4
Pin 4 Ke pin digital 2
Pin 5 Ke pin digital 13
Pin 6 Ke pin digital 12
Pin 7 Ke pin digital 11
Pin 8 Ke pin digital 10
  • Hubungkan digital pin 3 Arduino ke LED 1 ( Biru )
  • Hubungkan digital pin 5 Arduino ke LED 2 ( Hijau )
  • Hubungkan digital pin 6 Arduino ke LED 3 ( Kuning )
  • Hubungkan digital pin 9 Arduino ke LED 4 ( Merah )
2.) Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
3.) Download dan Install program Arduino IDE di Arduino.cc ( If Needed )
4.) Download Library klik => Download plcLib.zip
5.) Setelah terinstall, jalankan program Arduino-nya.
6.) Lalu klik tab sketch, pilih import library, lalu pilih add library
7.) Lalu pilih File Library plcLib.zip dan klik open
8.) Klik menu "Tools -> Board -> Arduino Uno"
9.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )
10.) Lalu masukan Sketch dibawah ini.

Klik LIHAT DONG! untuk melihat sketch
#include <Keypad.h>
#include <plcLib.h>

char keyPress = 0;
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] = { 8, 7, 4, 2 };
byte colPins[COLS] = { 13, 12, 11, 10 };

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

void setup() {
  setupPLC();
  Serial.begin(9600);
}

void loop()
{
  keyPress = kpd.getKey();    // Read key pressed (if any)
 
  latchKey('1', '2', Y0);     // Keyboard latch, Set = '1', Reset = '2',
                              // output = Y0 (pin 3)
 
  latchKey('3', '4', Y1);     // Keyboard latch, Set = '3', Reset = '4',
                              // output = Y1 (pin 5)
 
  latchKey('5', '6', Y2);     // Keyboard latch, Set = '5', Reset = '6',
                              // output = Y2 (pin 6)
 
  latchKey('7', '8', Y3);     // Keyboard latch, Set = '7', Reset = '8',
                              // output = Y3 (pin 9)
}

unsigned int latchKey(char en, char dis, int outPin) {
  if(keyPress) {
    if (keyPress == en) {
      digitalWrite(outPin, HIGH);
      Serial.println("Lampu Menyala");
    }
    if (keyPress == dis) {
      digitalWrite(outPin, LOW);
      Serial.println("Lampu Mati");
    }
  }
}

11.) Jika berhasil, maka akan seperti video dibawah ini..



Terimakasih, semoga bermanfaat, Selamat berkarya.

Blog, Updated pada: 00:24:00

18 comments:

  1. Gan mau nanya nih, misal ane mau buat kkontrol LED. LED yang saya gunakan 3 buah dengan switch 3 buah juga nih untuk mengaktifkan masing-masing LED. Nah disini saya tambahin 1 switch lagi untuk tombol Start dengan led indikator. Pertanyannya, gimana sih gan program arduinonya jika ketiga tombol untuk mengaktifkan led itu baru bisa berfungsi saat tombol start ditekan? Jadi intinya adalah 3 buah led tidak bisa dikendalikan dengan 3 switch tersebut sebelum switch (tombol start) ditekan.
    Mohon pencerahannya gan. Terima kasih ^_^

    ReplyDelete
    Replies
    1. mas ini error messagenya kenapa itu ya :
      Arduino: 1.5.8 (Windows 7), Board: "Arduino Uno"

      Keypad_4x4_dan_Led.ino:1:20: fatal error: Keypad.h: No such file or directory
      compilation terminated.
      Error compiling.

      This report would have more information with
      "Show verbose output during compilation"
      enabled in File > Preferences.

      Delete
    2. Tambahkan dulu library Keypadnya...

      Delete
  2. haloo gan, mau nanya nih, plclib itu buat library nya apa ya? pngertian nya sprti apa gitu, mohon jawabnya gan thx :)

    ReplyDelete
    Replies
    1. Halo, plcLib sebenarnya dibuat untuk menggunakan arduino dengan dengan style PLC (Programmable Logic Control).

      Delete
  3. Dibagian baris ini kok ada kesalahan ya, kesalahannya apa ya mas?
    Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

    ReplyDelete
    Replies
    1. Salam kenal, saya compile bisa kok mas... Coba copy dan paste ulang, mungkin ada yang tertinggal.

      Delete
  4. Mas mau nanya gimana ya caranya agar keypad bisa mengganti parameter di arduino? Trimakasih

    salam
    Edi S

    ReplyDelete
    Replies
    1. Salam kenal. Maksudnya parameter bagaimana ya?

      Delete
  5. ko keyped.h eror ya? katanya warning: Keypad.h: No such file or directory

    ReplyDelete
    Replies
    1. Salam kenal. Tambahkan library keypad pada software Arduino IDE.

      Delete
  6. Mas,aku awam banget. Itu klo sdh slesai upload,laptop /pc harus nyala terus ta?

    ReplyDelete
    Replies
    1. Tidak perlu, laptop cuma untuk mengisi program ke board arduino. Kalau sudah berhasil di upload, pakai baterai atau adaptor 9V saja.

      Delete
  7. om pengen nanya dong, itu led nya bisa nyala dari codingan mana? Y0,Y1,Y2,Y3? kenapa dengan Y itu? kan kalau gk pake keypad ada tuh pinMode(12,OUTPUT). OUTPUT disitu artinya ditampilkan cmiiw

    ReplyDelete
    Replies
    1. Iya Y0 sampai Y3. Itu karena menggunakan library plcLib, silahkan dipahami dulu cara penggunaan library tersebut.

      Delete
  8. gan nanya, kok bisa Y0 dinyatakan sebagai pin 3, Y1 = pin 5, Y2 = pin 6, dan Y3 = pin 9. mohon penjelasannya :D

    ReplyDelete
    Replies
    1. Karena definisi pin sesuai contoh dari library PLClib.

      Delete

Masih Bingung atau Hal Lainnya? Silahkan Bertanya di Kolom Komentar :)

~ Dilarang SARA
~ Dilarang PORNOGRAPHY
~ Dilarang SPAM
~ Dilarang MENINGGALKAN LINK AKTIF
~ Maaf untuk Anonymous, tidak bisa Berkomentar.

Apabila Komentar anda belum muncul, Tunggu sampai di Moderasi.
Terimakasih atas Perhatiannya.


English French German Spain Italian Dutch Russian