News Update :

kunci pintu dengan password

Teman-teman mungkin pernah menginginkan kunci pintu dengan password!
nah sekarang bisa membuatnya dengan mikrokontroler, menggunakan IC ATMEGA 16, KEYPAD, LCD dan komponen pendukung lainnya, berikut skema dan kodenya. aplikasi yang digunakan, proeus untuk simulasinya dan COdevision avr untuk membuat programnya.









#include
#include
#include
#include

float nilai=0, password=22223333;
char temp[12], array[10], i=0, indeks=0;
//variabel indeks digunakan untuk mendeteksi jika indeks=0 unlock, indeks=1 lock

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include

void lock()
{
 while (indeks==0)
      {
      lcd_gotoxy(0,0);
      lcd_putsf("Tekan ="); 
      lcd_gotoxy(0,1);
      lcd_putsf("untuk lock");
      
      PORTB = 0b11111011;
      delay_ms(30);
      if (PINB.7 == 0)
       {
        indeks=1;
        PORTD.0=1;//terkunci
        lcd_clear();   
        lcd_gotoxy(0,0);
        lcd_putsf("mengunci");
        delay_ms(1000);
        lcd_clear();
        }
      }
}

void enter()
{
if (nilai==password)
   {
   lcd_clear();
   lcd_gotoxy(0,0);
   lcd_putsf("membuka");
   delay_ms(1000);
   i=0; nilai=0;
   PORTD.0=0;//kunci terbuka
   indeks=0;  
   }                       
else 
   {
   lcd_clear();
   lcd_gotoxy(0,0);
   lcd_putsf("password salah");
   delay_ms(2500);
   i=0; nilai=0;
   indeks=1;//karena password salah jadi masih terkunci
   }
}

void simpan_dlm_1variabel()
{
       if (i==1){nilai=array[i];} 
         
       if (i>=2 && i<=8)
           {
           nilai=(nilai*10)+array[i];
           }   


void scanning_keypad()//scanning pendeteksian penekanan keypad
{
lcd_gotoxy(0,0);
lcd_putsf("password");

PORTB = 0b11111110;
delay_ms(30);
if (PINB.4 == 0) {i++; array[i]=1; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.5 == 0) {i++; array[i]=4; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.6 == 0) {i++; array[i]=7; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.7 == 0) {lcd_clear();i=0;nilai=0;delay_ms(300);}

PORTB = 0b11111101;
delay_ms(30);
if (PINB.4 == 0) {i++; array[i]=2; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.5 == 0) {i++; array[i]=5; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.6 == 0) {i++; array[i]=8; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.7 == 0) {i++; array[i]=0; simpan_dlm_1variabel(); delay_ms(300);}

PORTB = 0b11111011;
delay_ms(30);
if (PINB.4 == 0) {i++; array[i]=3; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.5 == 0) {i++; array[i]=6; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.6 == 0) {i++; array[i]=9; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.7 == 0) {delay_ms(300);}

PORTB = 0b11110111;
delay_ms(30);
if (PINB.4 == 0) {delay_ms(300);}
if (PINB.5 == 0) {delay_ms(300);}
if (PINB.6 == 0) {delay_ms(300);}
if (PINB.7 == 0) {enter();delay_ms(300);}
}

void tampil_lcd()
{
if (nilai>0)
    {
        ftoa(nilai,0,temp);
        lcd_gotoxy(0,1);
        lcd_puts(temp);
    }
}

void main(void)
{
PORTB=0xff;
DDRB=0x0f;

PORTD=0x00;//PD0 belogika low atau dlm keadaan unlock awalnya
DDRD=0x01;//PD0 sebagai output

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// LCD module initialization
lcd_init(16);
lcd_putsf("elektra_solution");
delay_ms(1500);
lcd_clear();

while (1)
      {
      lock(); 
      scanning_keypad();
      tampil_lcd();         
      };
}

jika anda meninginkan data dalam bentuk file proteus dan codevision avr, mohon tungu untuk beberapa saat lagi!
atau tinggalan komentar anda pada postingan in. terimaasih, semoga bermanfaat!


terimakasih anda sudah bersedia menunggu, KLIK DISINI untuk download file lengkapnya
password "http://elektrasolution.blogspot.com" anpa tanda petik
LAIN WAKTU ITA BAHAS BAGAIMANA CARANYA MEMBUAT "4 X 4 LED CUB MENGGUNAKAN ATMEGA 16 atau ATMEGA 8535"sementara ini aku akan menyiapkan filnya! IKUTI TERUS INFONYA!

4 komentar:

  1. gan mau nanya,, misal keadaan udh lock trus harus tekan dlu tombol lain sebelum masukin password.y gmn gan??,, soal.y ane coba tuh pas lock klo d diemin lama" muncul buat masukin password.y gmn yahh gan tolong bantu...

    BalasHapus

 
Company Info | Contact Us | Privacy policy | Term of use | Widget | Advertise with Us | Site map
Copyright © 2011. elektra solution . All Rights Reserved.
Design Template by panjz-online | Support by creating website | Powered by Blogger