قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية bigstreet
bigstreet
:: مهندس ::
تاريخ التسجيل: Nov 2009
المشاركات: 35
نشاط [ bigstreet ]
قوة السمعة:0
قديم 10-12-2009, 02:03 PM المشاركة 1   
yel مشروع كامل لقفل الكتروني Twitter FaceBook Google+



بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته..
اود مشاركة الاخوة هدا النرنامج الذي كتبته بلغة mikroc
وهو عبارة عن قفل الكتروني مشفر بكودين (PIN & PUK)
PIN اربعة ارقام .... PUK ثمانية ارقام.... يشتغل كما يلي :
1: يطلب منك النظام ادخال كود pin (اربع محاولات)
2 : ادا ادخلت الكود الصحيح يتم تفعيل المخرج portd0
3 : ادا فشلت في ادخال الكود اربع مرات يطلب منك ادخال الكود puk (اربع محاولات)
4: ادا ادخلت الكود الصحيح يتم تفعيل المخرج portd0
5: ادا فشلت في ادخال الكود اربع مرات يتم تفعيل نظام الانذار لحوالي 5 ثوان
ثم يتوقف النظام
اليكم الدارة
باسم الله :




و الان مع الكود :
كود:
unsigned short kp[]={0,0,10,9,8,0,7,6,5,0,4,3,2,0,0,1,0},kp1, clavier,pin[]={1,9,8,7},chiffr,nmb,error,a,puk[]={1,2,3,4,5,6,7,8}  ;

void ok () {  
lcd_cmd(lcd_clear);        
lcd_out(1,1,"code ok");        
portd.f0=1;                             
delay_ms(1000);                         
}
void delay() {                   
delay_ms(300);
}
void lcdclv ()  {                  
for(nmb=0;nmb<4;nmb++) {            
lcd_cmd(lcd_second_row);            
error=0;                          
for(chiffr=0;chiffr<a;chiffr++) {    
do {                                
clavier = Keypad_Released();
kp1=kp[clavier] ;
clavier = kp1;
} while(!clavier);
clavier--;                        
if(clavier!=pin[chiffr] ) {if (a==4) {error=1;} }        
if(clavier!=puk[chiffr] ) {  if (a==8) { error=1;  }  }
lcd_chr_cp(clavier+48);                                
}
if(error==0) { ok ();  break;}                         
if(error==1) { 
 lcd_out(1,1,"wrong code"); 
 delay();
 lcd_cmd(lcd_clear);
 if (nmb<3) 
 lcd_out(1,1,"try again"); }  
delay_ms(300);
} 
}

void main ()  {
int alarm=0;
start:
a=4;
trisd=0;
portd.f0=0;
lcd_init(&portb);
keypad_init(&portc);
lcd_cmd(lcd_cursor_off);
lcd_out(1,1," welcome ");
delay();
lcd_cmd(lcd_clear);
lcd_out(1,1,"enter PIN");
lcdclv();
if (error==0) goto start;
lcd_cmd(lcd_clear);
lcd_out(1,1,"pin blocked");
delay();
a=8;
lcd_out(1,1,"enter PUK");
lcdclv();
if(error==0) goto start;
lcd_out(1,1,"systeme blocked");
while(1) {
portd.f1=0;
delay_us(500);
portd.f1=1;
delay_us(500);
alarm++;
if(alarm==5000) break;
}
}

نا مستعد لاي سؤال
اتمنا ان افيد الاخوة كما اتمنى ان اجد من يعدل على الكود بافكار جديدة ان شاء الله

و الان مع رابط ملف hex و proteus

http://www.mediafire.com/?nlnkzn53ckt

الحمد لله الدي هدانا لهدا و ماكنا لنهتدي للولا اد هدانا


التعديل الأخير تم بواسطة : bigstreet بتاريخ 16-12-2009 الساعة 12:58 PM
اعلانات

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:103
قديم 10-12-2009, 05:06 PM المشاركة 2   
افتراضي


جزاك الله كل خير

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

Eagle69
:: مهندس متواجد ::
تاريخ التسجيل: May 2009
المشاركات: 114
نشاط [ Eagle69 ]
قوة السمعة:0
قديم 10-12-2009, 05:52 PM المشاركة 3   
افتراضي


يعطيك العافية اخي الكريم ياريت ترفع لنا البروتوس وملف السي والهيكسا لنجرب البرنامج ونتفاعل


الصورة الرمزية bigstreet
bigstreet
:: مهندس ::
تاريخ التسجيل: Nov 2009
المشاركات: 35
نشاط [ bigstreet ]
قوة السمعة:0
قديم 10-12-2009, 07:02 PM المشاركة 4   
افتراضي


تفضل اخي لقد قمت برفع ملف الهيكسا و بروتوس (hex & proteus) في الموضوع الرئيسي


kiai87
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: جنوب المغرب
المشاركات: 1,115
نشاط [ kiai87 ]
قوة السمعة:117
قديم 10-12-2009, 07:08 PM المشاركة 5   
افتراضي


سلام عليكم

مشكور أخي على هدا القفل الممتاز


الصورة الرمزية sonic 
sonic 
:: عضو ::
تاريخ التسجيل: Aug 2009
الدولة: مصر الاسكندرية
المشاركات: 298
نشاط [ sonic  ]
قوة السمعة:0
قديم 10-12-2009, 08:13 PM المشاركة 6   
افتراضي


السلام عليكم
دائرة جميلة ولكن ممكن ترفع الhex و proteusعلىmedia fire لان الرابط شير لا يعمل و ايضا اين هو الpin و puk المستخدمان فى الدائرة ولو عوزين نغير الpin او الpuk ازاى ممكن تحطنا الطريقة و ايضا لو مثالا عاوز اوصل فى الدائرة موتور ازاى اوصله و هذه الدائرة تستخدم كام فولت وهل يوجود PCB و بنسبة للkey pad لما اروح اشتريه اقوله ايه و اسمها على برنامج ايجيل


التعديل الأخير تم بواسطة : sonic  بتاريخ 10-12-2009 الساعة 08:21 PM

الصورة الرمزية bigstreet
bigstreet
:: مهندس ::
تاريخ التسجيل: Nov 2009
المشاركات: 35
نشاط [ bigstreet ]
قوة السمعة:0
قديم 10-12-2009, 08:24 PM المشاركة 7   
افتراضي


السلام عليكم
انشاء الله اخي سارفعه على media fire
اما بالنسبة لل keypad
فانا يا اخي لا اشتريها جاهزة ..يمكنك صنعها بواسطة السويتش العادية...
اما بالنسبة لتغيير الكود ففي هدا الكود لايمكن ..لكن بتعديل صغير على الكود حيث تكتب الكود في الداكرة EEPROM لتغييرها وقتما شأت و انشاء الله ساقوم بتعديل الكود لتضمين هده الخاصية...
مشاركة رائعة اخي طرحت فكرة جميلا..
و اتمنى ان اكون وفقت في الاجابة عن استفساراتك


الصورة الرمزية bigstreet
bigstreet
:: مهندس ::
تاريخ التسجيل: Nov 2009
المشاركات: 35
نشاط [ bigstreet ]
قوة السمعة:0
قديم 10-12-2009, 08:32 PM المشاركة 8   
افتراضي


تفضل اخي sonic
قمت برفقه على media fire

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 11:19 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025