السلام عليكم و رحمة الله وبركاته..
اخ محمد نالنسبة اللمصفوفة kp قمت بعملها خصيصا لقراءة ال keypad
حيث سوف تمكننا من التعرف على الزر المضغوط حيث بتجاهل الاشارات مثل + - * / on و يقرأ الارقام حسب ترتيبها الاصلي المكتوب على keypad
الان مع التفاصيل ...
هدا هو الخرج الدي يعطيه الكايپاد قبل التعديل :
|
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
|
وهدا موافق لترتيب الموالي :
|
/9,8,7,*,6,5,4,-,3,2,1,+,=,0,on
|
حيث انه اذا قمنا نالضغط على الزر / فسوف تقرأ الرقم 1 الرقم5 سوف يقرأ 7
الان لاحظ معي نريد حدف الاشارات و الاحتفاض بالارقام مع تعديل ترتيبها
لذلك سوف نقوم بتغييرهم ، حيث سنعطي الاشارات الرقم 0 ونرتب باقي الارقام حيث نعطي باقي الارقام مقابلاتها الحقيقية مع اضافة رقم واحد..
مثلا الرقم 5 سنعطيه 6
بعد الخروج من دائرة القراءة سنحدف واحد للعودة للوضع الاصلي
المسالة شيئاما معقدة لكن حاول اعادتها مع كود اخر للفهم اكثر...
اما بالنسبة للاخ fadi tout قرات ايمايلك صراحة ملاحظات جميلة..
بالنسبة للمتغير clavier فانت محق لايوجد من داعي له و قد قمت بتعديل الكود .. اما بالنسبة للامر if(clavier!=pin[chiffr] ) {if (a==4) {error=1;} }
فانا لا اتفق معك فيه لانه لايمكن الاستغناء عنه عند حدفه لن يتمكن البرنامج من التمييز بين الكودين pin puk
اما القسم الفرعي delay(); فهو جد مهم ، لان الامر يتكرر اكتر من مرة الا اني نسيت اعادته يمكنك ملاحظة ذلك ..
و في الاخير اود شكر الاخوين على المشاركة القيمة و الملاحظات الدقيقة..
و السلام عليكم