Tutorial berikut ini merupakan kelanjutan dari pembahasan sebelumnya mengenai
keypad dan lcd dengan menitikberatkan pada proses input dan pengecekan password. Prinsipnya mudah saja hanya dengan memindahkan penekanan tombol ke array memory dan kemudian membandingkannya dengan password yg diinginkan. Untuk itu agar diperhatikan juga pembahasan mengenai
ARRAY.
uint8_t pas[6]; // ARRAY untuk menyimpan inputan tombol
uint8_t pase[6]={ 1,2,3,4,5,6 } ; //ARRAY password yg akan dibandingkan
Langkah pertama mendeklarasikan ARRAY yg akan menyimpan inputan tombol. Kita batasi jumlah password yg diinput 6 angka sehingga array ini memiliki panjang 6. Setiap tombol ditekan maka array pas[ ] akan dimasukkan nilai dari variabel keypad.
Untuk menampilkan karakter diatas scriptnya adalah :
lcd_init(LCD_DISP_ON_CURSOR); //inisialisasi LCD
lcd_puts(" Input Password:");
lcd_gotoxy(4,1); //pindah baris
Sedangkan untuk memindahkan inputan keypad seperti berikut:
//jika tombol ditekan (bukan * dan # )
if(keypad!= 100 && keypad !=21 && keypad !=20 )
{
if( posisi < 6 ) { //ada 6 buah password
lcd_putc('*') ; // tampilkan asterix untuk password
pas[posisi]=keypad; //pindahkan nilai keypad ke array
posisi++; //tambahkan nilai posisi
}
_delay_ms(150);
}
Jika ingin mengoreksi password yg telah dimasukkan , maka cancel diwakili oleh tombol '*' dan scriptnya seperti berikut :
if(keypad == 21 ) // penekanan * berarti hapus 1 kebelakang
{
if(posisi != 0) posisi--; //posisi kursor dikurangi
lcd_gotoxy((posisi +4),1); //mundur 1 posisi
lcd_putc(' '); //bersihkan kursor
lcd_gotoxy((posisi +4),1); //balik lagi
_delay_ms(150);
}
Berikut ini adalah script untuk membandingkan password :
if(keypad == 20 ) // penekanan # berarti password bisa dicek
{
if(posisi == 5) { //jika sudah semua password dimasukkan
//berikut ini pembanding
if( pas[0] == pase[0] && pas[1] == pase[1] && pas[2] == pase[2] && pas[3] == pase[3] && pas[4] == pase[4] && pas[5] == pase[5] )
{
lcd_gotoxy(1,0);
lcd_puts(" Password Benar "); //jika benar
}
else
{
lcd_gotoxy(1,0);
lcd_puts(" Password Salah "); //jika salah
}
}
_delay_ms(150);
}
Hasilnya seperti berikut :
Script selengkapnya dapat didownload
disini.
SELAMAT MENCOBA