hey everyone ,,i have a project to make using microcontroller ,,,i need the code (c-language program ) of that project ,,,the project name is :::CODE locking system in this a four digit predefined password needs to be specified by the user .this password is stored in the system .while unlocking if the entered password from keypad matches with the stored password ,then the lock opens and a message is displayed on LCD .
and have you started coding it? don't expect anyone here to start coding it for you. It's quite simple once you get started with it. Program starts -> ask user for a password -> check the password file (If it exist, compare the passwords, if it doesn't then write the password to file) -> display message That's the most simple way though, you should use encryption and user input validation if you want a good mark.
ok can u help me out for this ????? i have the code but it is not working properly ,,,i need your help
Maybe, post your code and the errors you're having
ok i will post it with in 10 minutes
#include<reg51.h> #define port P1 #define dataport P2 #define key P0 #define sec 100 sbit rs = port^0; sbit rw = port^1; sbit en = port^2; sbit col1=key^4; sbit col2=key^5; sbit col3=key^6; sbit row1=key^0; sbit row2=key^1; sbit row3=key^2; sbit row4=key^3; sbit lock_output=P0^7; int check=0; int digit[4]={0,0,0,0}; int dig_input[4]={0,0,0,0}; int dig_input_recheck[4]={0,0,0,0}; int i,k; void delay(unsigned int msec) // Time delay function { int i,j ; for(i=0;i<msec;i++) for(j=0;j<1275;j++); } void lcd_cmd(unsigned char item) // Function to send command to LCD { dataport = item; rs= 0; rw=0; en=1; delay(1); en=0; return; } void lcd_data(unsigned char item) // Function to send data to LCD { dataport = item; rs= 1; rw=0; en=1; delay(1); en=0; return; } void lcd_data_string(unsigned char *str) // Function to send data to string { int i=0; while(str[i]!='\0') { lcd_data(str[i]); i++; //delay(10); } return; } void lcd(unsigned char str[10]) { lcd_cmd(0x38); lcd_cmd(0x0e); lcd_data_string(str); } void ans() { if(check>3) { lcd_cmd(0x01); lcd_cmd(0x82); lcd_data_string(" LOCK OPEN"); lock_output=1; delay(300); while(1); } else { lcd_cmd(0x01); lcd_cmd(0x82); lcd_data_string(" WRONG PASSWORD"); lock_output=0; delay(300); } } void code_check() // Function to check password { if(i<=3 ) { switch((i+1)) { case 1: { if(dig_input[0]==digit[0]) { check=check+1; } break; } case 2: { if(dig_input[1]==digit[1]) { check=check+1; } break; } case 3: { if(dig_input[2]==digit[2]) { check=check+1; } break; } case 4: { if(dig_input[3]==digit[3]) { check=check+1; } break; } } } delay(10); if(i==3) { ans(); } } void display(int a) //Display function { switch(a) { case 1:{ lcd_data('*'); delay(100); digit[i]=1; code_check(); break; } case 2:{ lcd_data('*'); delay(100); digit[i]=2; code_check(); break; } case 3:{ lcd_data('*'); delay(100); digit[i]=3; code_check(); break; } case 4:{ lcd_data('*'); delay(100); digit[i]=4; code_check(); break; } case 5:{ lcd_data('*'); delay(100); digit[i]=5; code_check(); break; } case 6:{ lcd_data('*'); delay(100); digit[i]=6; code_check(); break; } case 7:{ lcd_data('*'); delay(100); digit[i]=7; code_check(); break; } case 8:{ lcd_data('*'); delay(100); digit[i]=8; code_check(); break; } case 9:{ lcd_data('*'); delay(100); digit[i]=9; code_check(); break; } case 0:{ lcd_data('*'); delay(100); digit[i]=0; code_check(); break; } } } void check_col1() { row1=row2=row3=row4=1; row1=0; if(col1==0) display(1); row1=1; row2=0; if(col1==0) display(4); row2=1; row3=0; if(col1==0) display(7); row3=1; row4=0; if(col1==0) { row4=1; } } void check_col2() { row1=row2=row3=row4=1; row1=0; if(col2==0) display(2); row1=1; row2=0; if(col2==0) display(5); row2=1; row3=0; if(col2==0) display(8); row3=1; row4=0; if(col2==0) display(0); row4=1; } void check_col3() { row1=row2=row3=row4=1; row1=0; if(col3==0) display(3); row1=1; row2=0; if(col3==0) display(6); row2=1; row3=0; if(col3==0) display(9); row3=1; row4=0; if(col3==0) { row4=1; } } void check_password_col1() { row1=row2=row3=row4=1; row1=0; if(col1==0) dig_input[k]=1; row1=1; row2=0; if(col1==0) dig_input[k]=4; row2=1; row3=0; if(col1==0) dig_input[k]=7; row3=1; row4=0; if(col1==0) { row4=1; } } void check_password_col2() { row1=row2=row3=row4=1; row1=0; if(col2==0) dig_input[k]=2; row1=1; row2=0; if(col2==0) dig_input[k]=5; row2=1; row3=0; if(col2==0) dig_input[k]=8; row3=1; row4=0; if(col2==0) { dig_input[k]=0; row4=1; } } void check_password_col3() { row1=row2=row3=row4=1; row1=0; if(col3==0) dig_input[k]=3; row1=1; row2=0; if(col3==0) dig_input[k]=6; row2=1; row3=0; if(col3==0) dig_input[k]=9; row3=1; row4=0; if(col3==0) { row4=1; } } void pass_set() { row1=row2=row3=row4=0; while(col1==1 && col2==1 && col3==1); for(i=0;i<4;i++) { k=i; delay(50); lcd_cmd(0xc4+i); delay(100); row1=row2=row3=row4=0; while(col1==1 && col2==1 && col3==1); row1=row2=row3=row4=0; if(col1==0) check_password_col1(); else if(col2==0) check_password_col2(); else if(col3==0) check_password_col3(); lcd_data('*'); delay(50); } } void main() { int e,j=0,count=1; col1=col2=col3=1; //FOR PASSWoRD INPUT do { lcd_cmd(0x01); //Clear LCD screen lcd_cmd(0x81); lcd("ENTER PASSWORD:"); pass_set(); for(e=0;e<4;e++) dig_input_recheck[e]=dig_input[e]; lcd_cmd(0x01); lcd("CONFIRM PASSWORD:"); pass_set(); for(e=0;e<4;e++) { if(dig_input_recheck[e]==dig_input[e]) j++; } if(j<4) { lcd_cmd(0x01); lcd_cmd(0x85); lcd("PASSWORD"); lcd_cmd(0xC2); lcd("NOT MATCH"); delay(300); } } while(j<4); while(count<4) //Code input and check { lcd_cmd(0x01); lock_output=0; lcd_cmd(0x82); lcd("ENTER PASSWORD"); check=0; row1=row2=row3=row4=0; while(col1==1 && col2==1 && col3==1); for(i=0;i<4;i++) { delay(100); lcd_cmd(0xc4+i); row1=row2=row3=row4=0; while(col1==1 && col2==1 && col3==1); row1=row2=row3=row4=0; if(col1==0) check_col1(); else if(col2==0) check_col2(); else if(col3==0) check_col3(); } count++; delay(1); } if(count==4) { lcd_cmd(0x01); lcd_cmd(0x86); lcd("SORRY"); lcd_cmd(0xc1); lcd("NO MORE TRIALS"); while(1); } }
check it plz and tell me if u find any error
upload your .c file please, the site text formatting is a pain in the retriceto copy/paste your code.
its in notepad ,,
Join our real-time social learning platform and learn together with your friends!