1. Hardware
Arduino Uno
LCDKeypad
[kembali]
2. Rangkaian Simulasi
Gambar 1. Rangkaian Laporan akhir 2 |
3. Flowchart [kembali]
4. Listing program
#include <LiquidCrystal.h>
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {10, 9, 8, 7}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {13, 12, 11}; //connect to the column pinouts of the keypad
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.setCursor(7,2);
}
void loop() {
char key = keypad.getKey();
if (key) {
lcd.print(key);
}
}
[kembali]
6. Prinsip kerja
Pada percobaan ini digunakan LCD dengan tipe 16x2, artinya LCD ini mampu menampilkan 16 karakter setiap barisnya. Pada percobaan ini, juga digunakan keypad 3 x 4 (3 kolom dan 4 baris) atau dengan kata lain keypad ini terdiri dari 12 saklar push button. Keypad pada dasarnya merupakan suatu saklar push button yang disusun khusus. Sehingga prinsip kerjanya sama dengan saklar push button. Keypad bekerja berdasarkan baris dan kolom untuk mengurangi jumlah pin. Terdapat beberapa cara untuk membaca matriks keypad, salah satunya adalah scanning. Proses scanning dilakukan dengan melihat satu persatu baris dari setiap kolom dimulai dari kolom 1 dengan asumsi keypad aktif dalam kondisi LOW. Berikut gambar struktur dari keypad 3x4 :
Prinsip kerja rangkaian ini,pin-pin yang terhubung dengan keypad bertindak sebgaai input sedangkan pin-pin yang terhubung ke LCD bertindak sebagai output. Saat keypad ditekan maka keypad akan memberikan sinyal kepada arduino melalui pin-pin yang terhubung dengan baris maupun kolom pada arduino. Dari arduino sinyal tersebut diolah lalu diteruskan menuju LCD.[kembali]
7. Analisa
Pada program ini pin 7 dihubungkan dengan baris ke-4 keypad, pin 8 dengan baris ke-3, pin 9 dihubungkan dengan baris ke-2, pin 10 dihubungkan dengan pin ke-1, pin 11 dihubungkan dengan kolom ke-1, pin 12 dihubungkan dengan kolom ke-2, dan pin 12 dihubungkan dengan kolom ke-3. Sedangkan pin A0 dihubung ke register select(RS) untuk melakukan proses seleksi data/instruksi yang diset HIGH untuk register data, pin A1 dihubungkan ke enable (E) diset HIGH , pin A3, A4, dan A5 terhubung ke pin data D4 sampai D7. Pin RW pada LCD diset LOW agar berfungsi sebagai write (menulis data).
Untuk menampilkan angka 5, maka matriks yang terbaca adalah Row 2 dan Col 2 dalam kondisi LOW. Untuk menampilkan angka 6, maka matriks yang terbaca adalah Col 3 dan Row 2 dalam kondisi LOW. Untuk menampilkan angka 7, maka Col 1 dan Row 3 dalam keadaan LOW. Sedangkan untuk menampilkan angka 8, maka Cola 2 dan Row 3 dalam keadaan LOW.
Gambar 3. Tabel Keypad Display | |
Langkah pertama, mendefinisikan penggunaan liquidcrystal header dan keypad header. Selanjutnya, mendefinisikan banyaknya baris dan kolom yang digunakan pada keypad yaitu 3 kolom dan 4 baris. Selanjutnya mendefinisikan urutan matriks angka untuk keypad, yaitu angka 1, 2, 3 pada baris 1, angka 4, 5, 6 pada baris 2, angka 7, 8, 9 pada baris 3, dan *, 0, # pada baris 4. Lalu diinisialisasi pin-pin mana yang digunakan sebagai input untuk kolom,yaitu pin 13,12, dan 11 serta pin-pin mana yang digunakan sebagai input untuk baris, yaitu pin 7, 8, 9,dan 10. Langkah selanjutnya, menginisialisasi pin-pin yang digunakan untuk menampilkan output dari keypad yang terhubung ke LCD, yaitu pin A0, A1, A2, A3, A4, A5. lalu menginisialisasi jumlah baris dan kolom pada LCD,yaitu 16 kolom dan 2 baris. Setelah itu, menset posisi kursor karakter, pada proram ini digunakan posisi awal kursor di kolom 7 baris ke 2. selanjutnya, menampilkan karakter pada LCD dengan menggunakan syntax print.
[kembali]
8. Link download
Rangkaian klik di sini
Video simulasi klik di sini
Flowchart klik di sini
Listing program klik di sini
HTML klik di sini
[kembali]
Tidak ada komentar:
Posting Komentar