Cara mengakses Keypad menggunakan Arduino Uno
Pada part 1 barang yang dibutuhkan seperti dibawah ini :
- Arduino board
- 4x4 Keypad
- lcd i2c 2x16
Cara kerja dari keypad
Di bawah setiap tombol adalah sakelar membran. Setiap sakelar dalam satu baris terhubung ke sakelar lain dalam barisan dengan jejak konduktif di bawah bantalan. Setiap sakelar dalam kolom terhubung dengan cara yang sama - satu sisi sakelar terhubung ke semua sakelar lain dalam kolom itu dengan jejak konduktif. Setiap baris dan kolom dibawa ke satu pin, dengan total 8 pin pada keypad 4X4:
setelah dijelaskan fungsi dan cara kerja keypad kemudian hubungkan arduino dengan keypad seperti pada gambar dibawah
INSTALL THE LIBRARY
Sebelum membuat program, sudah disediakan libraries yang dapat digunakan sehingga akan sangat mempermudah dalam pemrogramannya.
1. lcd i2c
2. keypad
Note dalam List program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <Keypad.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x3F, 16, 2); //deklarasi akan jumlah baris dan kolom //4 baris const byte ROWS = 4; //4 kolom const byte COLS = 4; char keys[ROWS][COLS] = { //penggambaran kondisi keypad ke dalam program {'1','2','3','a'}, // {'4','5','6','b'}, // {'7','8','9','c'}, // {'#','0','*','d'} // }; byte rowPins[ROWS] = {7, 6, 5, 4}; //pin untuk kontrol baris byte colPins[COLS] = {11, 10, 9, 8}; //pin untuk kontrol kolom Keypad keypad=Keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS); |
LiquidCrystal_I2C lcd(0x3F, 16, 2); pada alamat i2c bisa berbeda-beda
bisa digunakan untuk scaner i2c
Peletakan Library pada PC/LAPTOP : 1. Mac : (home directory)/Documents/Arduino/libraries 2. PC (Windows) : My Documents -> Arduino -> libraries 3. Linux : (home directory)/sketchbook/libraries
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | /* --- www.sinauprogramming.com --- */ #include <Keypad.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x3F, 16, 2); //inisialisasi akan jumlah baris dan kolom //4 baris const byte ROWS = 4; //4 kolom const byte COLS = 4; char keys[ROWS][COLS] = { //matrik kondisi keypad ke dalam program {'1','2','3','a'}, // {'4','5','6','b'}, // {'7','8','9','c'}, // {'#','0','*','d'} // }; byte rowPins[ROWS] = {7, 6, 5, 4}; //posisi pin untuk kendali baris byte colPins[COLS] = {11, 10, 9, 8}; //posisi pin untuk kendali kolom Keypad keypad=Keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS); //map pin arduino yang dihubungkan dengan keypad void setup(){ lcd.begin(); //penggunaan serial komunikasi dengan kecepatan 9600 baudrate Serial.begin(9600); lcd.setCursor(0,0); lcd.print(" Tes keypad ="); lcd.setCursor(0,1); lcd.print(" "); delay(2000); lcd.clear(); // } void loop(){ char tombol = keypad.getKey(); if (tombol!= NO_KEY){ Serial.println(tombol); lcd.setCursor(0,0); lcd.print(" Tes Keypad="); lcd.setCursor(5,1); lcd.print(tombol);} } |
Hasil dari pemrograman diatas yaitu apabila ditekan tombol maka hasil penekan akan muncul pada serial monitor sesuai dengan bagian karakter tombol yang ditekan.Dari program sederhana diatas juga ditampilkan pada LCD
0 Comments