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

   

الصورة الرمزية timorlank
timorlank
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2015
الدولة: الجزائر
المشاركات: 50
نشاط [ timorlank ]
قوة السمعة:
قديم 09-05-2016, 07:33 PM المشاركة 17   
ha



اسلام عليكم

لقد سألتها الان قالت لي ان الكود يكون مخزن واذا غلطنا تأتي رساله والانذار

اعلانات

ahmed idris
:: مهندس متميز ::
تاريخ التسجيل: Jul 2015
المشاركات: 450
نشاط [ ahmed idris ]
قوة السمعة:
قديم 09-05-2016, 09:43 PM المشاركة 18   
افتراضي


السلام عليكم
أخي timorlank أثناء البحث الى مشروع بالميكروسي برو مشابه لمشروعك:
Digital Door Lock using PIC16F887
في هذا الرابط:
http://latesteeprojects.blogspot.com...pic16f887.html
يفي الموقع توجد الكود بالميكروسي +صورة للدائرة + فيديو يوضح طريقة العمل.
حتى أتأكد من أنه يعمل قمت بنسخ الكود وعملت المشروع بالميكروسي كما في الموقع يعني بالبيك 16F887 فحصلت على ملف الهيكس الضروري للمحاكاة
صممت الدائرة على بروتوس وقمت بمحاكاتها وكانت النتائج مطابقة لما هو مذكور في الموقع
بما أن مشروعك بالمتحكم PIC16F876 أدخلت التعديلات المناسبة على المشروع بالميكروسي وبروتوس :
الدائرة:

ملفات الميكروسي وبروتوس 7 و بروتوس 8:
1- العرض بالانجليزية (هو الاصلي طبعا) ،اسم الملف serrure_4
http://up.top4top.net/downloadf-129osrw2-rar.html
2- نفس الملفات بعد ترجمة العرض إلى الفرنسية،اسم الملف serrure_5 :
http://up.top4top.net/downloadf-129w4d63-rar.html
إذا رغب الإخوة المبرمجين في مساعدتك أعتقد أن بإمكانهم إدخال التعديلات المناسبة على الكود لإضافة الليد الاحمر والأخضر ورنين جرس التنبيه كما طلبت أخي الكريم
وإن شاء الله تحقق هدفك
والله الموفق


التعديل الأخير تم بواسطة : ahmed idris بتاريخ 09-05-2016 الساعة 10:50 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 09-05-2016, 10:58 PM المشاركة 19   
sun


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

اخى العزيز بالاضافة لمشاركة الاخ احمد ادريس جزاه الله خيرا .
بعون الله و فضله اود المشاركة لخدمتك :

اليك برنامج يطلب كلمة السر و اذا نجحت يفتح الباب و يضئ اخضر ثم ينتظر 10 ثوانى ثم يغلق الباب ثانية .
و اذا اخطأت ثلاث محاولات فانه بعد كل محاولة يظهر رسالة الخطأ ثم بعد الرابعة يضئ احمر و يشغل جرس.

البرنامج بميكروسي :

كود:
 char keypadPort at portc;
#define  open_door   porta.f3=1
#define close_door   porta.f5=1
#define greenLedon   portb.f6=0
#define greenLedoff  portb.f6=1
#define redLedon     portb.f7=0
#define redLedoff    portb.f7=1
#define alarmOn      porta.f2=1
 // LCD module connections
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;

sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB4_bit;
sbit LCD_D7_Direction at TRISB5_bit;
// End LCD module connections

char readKepad(){
char kp;
kp = Keypad_Key_Press();
   switch (kp) {
      case  1: kp = 49; break; // 1
      case  2: kp = 50; break; // 2
      case  3: kp = 51; break; // 3
      case  4: kp = 65; break; // A
      case  5: kp = 52; break; // 4
      case  6: kp = 53; break; // 5
      case  7: kp = 54; break; // 6
      case  8: kp = 66; break; // B
      case  9: kp = 55; break; // 7
      case 10: kp = 56; break; // 8
      case 11: kp = 57; break; // 9
      case 12: kp = 67; break; // C
      case 13: kp = 42; break;  // '*'
      case 14: kp = 48; break;  // '0'
      case 15: kp = 35; break;  // '#'
      
      default: kp = 0;
    }
   return kp;
}

char READ_PASS(){
char i ,key  ;
                 for(i=7;i<=12;i=i+1){      // store entered passwodr in eeprom 7-->12
                                        key=readKepad();
                                        while( !key){ key=readKepad();}
                                        EEprom_write(i,key-48);
                                        lcd_chr(2,i-6,'*');
                                        delay_ms(500);
                                          }
                 //// comparing   

               if(EEPROM_Read(1)==EEPROM_Read(7) && EEPROM_Read(2)==EEPROM_Read(8)&& EEPROM_Read(3)==EEPROM_Read(9)&& EEPROM_Read(4)==EEPROM_Read(10)&& EEPROM_Read(5)==EEPROM_Read(11)&& EEPROM_Read(6)==EEPROM_Read(12))
                 {   lcd_cmd(_lcd_clear);
                     return 1;
                 } else  return 0;
     }

void main() {
char key , i ,Comp ,errorCount = 0;
CMCON=7;
trisa=0x00;
trisb=0x00;
greenLedoff ;
porta.f0=0;
redLedoff ;
Keypad_Init();
Lcd_Init();
Lcd_Cmd(_LCD_CURSOR_OFF);

 if(EEPROM_READ(0)>0){ for(i=1;i<=6;i=i+1) { EEprom_write(i,0);} }   // for default password for first time only .000000
  while(1){
         lcd_cmd(_LCD_CLEAR);
         Lcd_Out(1,1,"HELLOW"); delay_ms(1000);
          Lcd_Out(1,1,"Open the Door");
          Lcd_Out(2,1,"Press * ");
      
       key=readKepad();
      while( !key){ key=readKepad();}
      delay_ms(400);
      if(key=='*'){
                    lcd_cmd(_LCD_CLEAR);
                    Lcd_out(1,1,"Enter Password");  delay_ms(1000);
                     Comp=READ_PASS();
                    if(Comp==1){ lcd_out(1,1,"Password OK");
                                 Lcd_Out(2,1,"YOU ARE WELCOME");
                                  errorCount = 0 ; 
                                  greenLedon ;
                                  open_door;
                                  delay_ms(10000);  // DELAY FOR WAITING TO CLOSE DOOR AGAIN
                                  close_door ;      // close door again
                                  greenLedoff ;
                    }else { errorCount++;
                            if(errorCount> 3){redLedon; alarmOn; }
                            lcd_cmd(_lcd_clear);
                             lcd_out(1,1,"wrong password");
                              delay_ms(1000);
                          }
                 }

          }
  }

الدائرة :



اذا اردت اى تعديل ان شاء الله ممكن نساعدك .

يرجى ملاحظة تعديلات تصميم الدائرة .

هذا و بالله التوفيق

الله مولانا ولا مولى لهم

انى عذت بربى و ربكم ان ترجمون

الله يرفع عنك سوريا - كلنا حلب و غزة




الصورة الرمزية timorlank
timorlank
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2015
الدولة: الجزائر
المشاركات: 50
نشاط [ timorlank ]
قوة السمعة:
قديم 10-05-2016, 12:51 AM المشاركة 20   
x4


السلام عليكم
أخي timorlank أثناء البحث الى مشروع بالميكروسي برو مشابه لمشروعك:
Digital Door Lock using PIC16F887
في هذا الرابط:
http://latesteeprojects.blogspot.com...pic16f887.html
يفي الموقع توجد الكود بالميكروسي +صورة للدائرة + فيديو يوضح طريقة العمل.
حتى أتأكد من أنه يعمل قمت بنسخ الكود وعملت المشروع بالميكروسي كما في الموقع يعني بالبيك 16F887 فحصلت على ملف الهيكس الضروري للمحاكاة
صممت الدائرة على بروتوس وقمت بمحاكاتها وكانت النتائج مطابقة لما هو مذكور في الموقع
بما أن مشروعك بالمتحكم PIC16F876 أدخلت التعديلات المناسبة على المشروع بالميكروسي وبروتوس :
الدائرة:

ملفات الميكروسي وبروتوس 7 و بروتوس 8:
1- العرض بالانجليزية (هو الاصلي طبعا) ،اسم الملف serrure_4
http://up.top4top.net/downloadf-129osrw2-rar.html
2- نفس الملفات بعد ترجمة العرض إلى الفرنسية،اسم الملف serrure_5 :
http://up.top4top.net/downloadf-129w4d63-rar.html
إذا رغب الإخوة المبرمجين في مساعدتك أعتقد أن بإمكانهم إدخال التعديلات المناسبة على الكود لإضافة الليد الاحمر والأخضر ورنين جرس التنبيه كما طلبت أخي الكريم
وإن شاء الله تحقق هدفك
والله الموفق
بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

اخى العزيز بالاضافة لمشاركة الاخ احمد ادريس جزاه الله خيرا .
بعون الله و فضله اود المشاركة لخدمتك :

اليك برنامج يطلب كلمة السر و اذا نجحت يفتح الباب و يضئ اخضر ثم ينتظر 10 ثوانى ثم يغلق الباب ثانية .
و اذا اخطأت ثلاث محاولات فانه بعد كل محاولة يظهر رسالة الخطأ ثم بعد الرابعة يضئ احمر و يشغل جرس.

البرنامج بميكروسي :

كود:
 char keypadPort at portc;
#define  open_door   porta.f3=1
#define close_door   porta.f5=1
#define greenLedon   portb.f6=0
#define greenLedoff  portb.f6=1
#define redLedon     portb.f7=0
#define redLedoff    portb.f7=1
#define alarmOn      porta.f2=1
 // LCD module connections
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;

sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB4_bit;
sbit LCD_D7_Direction at TRISB5_bit;
// End LCD module connections

char readKepad(){
char kp;
kp = Keypad_Key_Press();
   switch (kp) {
      case  1: kp = 49; break; // 1
      case  2: kp = 50; break; // 2
      case  3: kp = 51; break; // 3
      case  4: kp = 65; break; // A
      case  5: kp = 52; break; // 4
      case  6: kp = 53; break; // 5
      case  7: kp = 54; break; // 6
      case  8: kp = 66; break; // B
      case  9: kp = 55; break; // 7
      case 10: kp = 56; break; // 8
      case 11: kp = 57; break; // 9
      case 12: kp = 67; break; // C
      case 13: kp = 42; break;  // '*'
      case 14: kp = 48; break;  // '0'
      case 15: kp = 35; break;  // '#'
      
      default: kp = 0;
    }
   return kp;
}

char READ_PASS(){
char i ,key  ;
                 for(i=7;i<=12;i=i+1){      // store entered passwodr in eeprom 7-->12
                                        key=readKepad();
                                        while( !key){ key=readKepad();}
                                        EEprom_write(i,key-48);
                                        lcd_chr(2,i-6,'*');
                                        delay_ms(500);
                                          }
                 //// comparing   

               if(EEPROM_Read(1)==EEPROM_Read(7) && EEPROM_Read(2)==EEPROM_Read(8)&& EEPROM_Read(3)==EEPROM_Read(9)&& EEPROM_Read(4)==EEPROM_Read(10)&& EEPROM_Read(5)==EEPROM_Read(11)&& EEPROM_Read(6)==EEPROM_Read(12))
                 {   lcd_cmd(_lcd_clear);
                     return 1;
                 } else  return 0;
     }

void main() {
char key , i ,Comp ,errorCount = 0;
CMCON=7;
trisa=0x00;
trisb=0x00;
greenLedoff ;
porta.f0=0;
redLedoff ;
Keypad_Init();
Lcd_Init();
Lcd_Cmd(_LCD_CURSOR_OFF);

 if(EEPROM_READ(0)>0){ for(i=1;i<=6;i=i+1) { EEprom_write(i,0);} }   // for default password for first time only .000000
  while(1){
         lcd_cmd(_LCD_CLEAR);
         Lcd_Out(1,1,"HELLOW"); delay_ms(1000);
          Lcd_Out(1,1,"Open the Door");
          Lcd_Out(2,1,"Press * ");
      
       key=readKepad();
      while( !key){ key=readKepad();}
      delay_ms(400);
      if(key=='*'){
                    lcd_cmd(_LCD_CLEAR);
                    Lcd_out(1,1,"Enter Password");  delay_ms(1000);
                     Comp=READ_PASS();
                    if(Comp==1){ lcd_out(1,1,"Password OK");
                                 Lcd_Out(2,1,"YOU ARE WELCOME");
                                  errorCount = 0 ; 
                                  greenLedon ;
                                  open_door;
                                  delay_ms(10000);  // DELAY FOR WAITING TO CLOSE DOOR AGAIN
                                  close_door ;      // close door again
                                  greenLedoff ;
                    }else { errorCount++;
                            if(errorCount> 3){redLedon; alarmOn; }
                            lcd_cmd(_lcd_clear);
                             lcd_out(1,1,"wrong password");
                              delay_ms(1000);
                          }
                 }

          }
  }

الدائرة :



اذا اردت اى تعديل ان شاء الله ممكن نساعدك .

يرجى ملاحظة تعديلات تصميم الدائرة .

هذا و بالله التوفيق

الله مولانا ولا مولى لهم

انى عذت بربى و ربكم ان ترجمون

الله يرفع عنك سوريا - كلنا حلب و غزة




السلام عليكم اخواني احمد ادريس ومشتاق لله بارك الله فيكم على التعاون

فعلا كلا الدارتين جيدتين

لكن دراة الاخ مشتاق لله هي نفسها المطبقه في الشروع لكن ينقصها فقط SW1 SW2

سالتها لمادا ما فادتهما ولم تجبني سأسألها مره اخرى

لكن الداره للاخ مشتاق لله هي نفسها للمشروع تحتوي على led وعلى جرس يعني طبق الاصل

فقط لو يتم الارشاد حتى اوجهها ماذا تفعل للترجمتها الكلمات مثلا beinvenue



ربما هي تعرف جيدا كيف تترجمها

بخصوص التطبيق ان امكن فقط التوجيه حتى نبقى في الدرب الصحيح ولا تخطيء مره اخرى

للانه حقيقه افرحني الامر هذا وشييء مشرف من اخوتي الاعزاء

وسيبقى لكم الاجر على هذا العمل ولن ننسى خيركم

وبارك الله فيك اخي احمد ادرسي ومجدي ومشتاق لله على هذا التواضع والوقف الى جانبنا


حتى هي والله وجهت لكم شكرها

وان شاء الله يتم التوجيه فقط حتى نكمل هذا الامر الذي كان عسير واليوم هو بفضل الله ووقفكم معنا سيكون بحول الله يسير


تحياتي لكم


magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 339
نشاط [ magdy_3 ]
قوة السمعة:
قديم 10-05-2016, 02:54 AM المشاركة 21   
افتراضي


السلام عليكم
انا دخلت علشان اسالك اخى هل ممكن الغاء sw2 sw1
وهل ممكن التعديل بعض الشئ فى التوصيلات ولا لا
ولاكن لقيت الاخوة الكرام قامو بلازم واكتر
على العموم لو هذا ما تريده يبقى تمام
ولو فى شئ مختلف عن ما تريده
نحن فى الخدمة


الصورة الرمزية timorlank
timorlank
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2015
الدولة: الجزائر
المشاركات: 50
نشاط [ timorlank ]
قوة السمعة:
قديم 10-05-2016, 07:17 PM المشاركة 22   
افتراضي


السلام عليكم
انا دخلت علشان اسالك اخى هل ممكن الغاء sw2 sw1
وهل ممكن التعديل بعض الشئ فى التوصيلات ولا لا
ولاكن لقيت الاخوة الكرام قامو بلازم واكتر
على العموم لو هذا ما تريده يبقى تمام
ولو فى شئ مختلف عن ما تريده
نحن فى الخدمة
السلام عليكم

نعم اخي ساعودنا الاخوه ما شاء الله

فقط بقي امر اخير

وهو فقط توجيه اي برنامج تستعمله فقط حتى لا تقع في الخطأ السابق

وهل هناك اي شيء مخفي للحفظ


للانني ساعطيه لها الان فور قدومها من الجامعه

اي برنامج تستعمله بالتحديد لتفادي الخطا الاول وهو نقص ملف hex مثلما قال الاخ ahmed


وهكذا يكون الباقي عليها ان تكمله



وانا ان شاء الله سأشترك في دورة هنا في المنتدى للمتحكمات والله حقا اول مره ارى المجال وهو حقيقه نافع جدا في الحياة العمليه في شتى المجالات

سبحان الله وبحمده سبحان الله العظيم

حياكم الله اخوتي الاعزاء


الصورة الرمزية timorlank
timorlank
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2015
الدولة: الجزائر
المشاركات: 50
نشاط [ timorlank ]
قوة السمعة:
قديم 10-05-2016, 09:38 PM المشاركة 23   
افتراضي


السلام عليكم اخواني الاعزاء

لقد اعطيتها الانشاء الخاص بالاخ ahmed idris

والخاص بالاخ مشتاق لله

والحمد لله تعرف كيف تستعمل micro c

واشتغل لها الخاص بالاخ مشتاق لله وهي سعيده والحمد لله

والله اخواتي افرحتمونا بعد عناء طويل

وهي بكل صدق تبعث لكم بكل التشكرات ودعوات الخير

المشروع اشتغل

اتمنى ان يجعلنا الله جيران في الجنه بجانب رسولنا الكريم محمد صلى الله عليه وسلم


وانا اعجبني المجال سأحاول ان اتعلمه ضمن مجالي لانني اصلح عقول السيارت والعدادات والكهرباء

سيكون امر جميل ورائع

قدر ما اشكركم فقليل

حياكم الله اخوتي في الله


ahmed idris
:: مهندس متميز ::
تاريخ التسجيل: Jul 2015
المشاركات: 450
نشاط [ ahmed idris ]
قوة السمعة:
قديم 10-05-2016, 11:40 PM المشاركة 24   
افتراضي


مبروك أخي الكريم
وبالتوفيق إن شاء الله..



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