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

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

badr nahed
:: مهندس ::
تاريخ التسجيل: Sep 2015
المشاركات: 23
نشاط [ badr nahed ]
قوة السمعة:0
قديم 26-01-2016, 03:55 PM المشاركة 1   
افتراضي مساعدة في مشروعي الدراسي Twitter FaceBook Google+



السلام عليكم :
علي صناعة مشروع وتقديمه في اخر السنة الدراسية لانهاء تكويني في مجال
الكهرباء الصناعية وقع اختياري على مشروع صنع عارضتين لتنظيم الزبناء في وكالة معينة وكان البيك السبيلي لصنع هذا المشروع
شرح بسيط للمشروع: كل زبون يدخل ياخد رقم وعندما يضغظ احد الموظفين على زر الزيادة يزداد الرقم على الشاشة ويتقدم الزبون صاحب دلك الرقم:
الصورة 1 توضح المشروع
الصورة 1


:

تكبدت شهرين من دراسة وسهر الليالي في لغة برمجة البيك وانهيت دورة الاستاد احمد سمير فايد جزاه الله كل الخير
اخترت بيك16f628 وبدات اشتغل عليه شهر من العناء وبفضل الله وصلت لنيجة مرضية الصورة 2 والكود 3 يوضحان
الصورة2

الكود3
void main() {char x,y,z,w; CMCON=0x07;
trisb=0b00110000;
trisa=0b00000000;
portb=0b00000000;
porta=0b00000000;
x==0;y==0;z==0;w==0;

while(1)
{if(portb.f4==1){x++; if(x==10){y++; x=0;}if(x==z){x++;}delay_ms(250);}
if(portb.f5==1){z++; if(z==10){w++; z=0;}if(z==x){z++;}delay_ms(250);}

portb=x; porta=2; porta=0; portb=y; porta=1; porta=0;
portb=z; porta=8; porta=0; portb=w; porta=4; porta=0;


}}
فدهبت للاستاد وانا سعيد بما وصلت له فاطلعته على مشروع في الحاسوب
هنا كانت المفاجئة وكانا الاستاد اراد بي العسر وليس اليسر والله اعلم" قال لي عليك اضافة كيباد كل عارضة مثلا لو اراد الموظف ادخال رقم عشوائي يدخله من الكيباد بكل سهولة وتعطي اضافة لمشروعك ... فلم استطع ان اقول شيء للاستاد غير حسنا
وعدت للبيت وانا غارق في التفكير كيف سافعل هدا وكيف وكيف وكيف..؟؟؟؟
اول شيء فكرت فيه هو تغيير البيك للحصول على عدد كافي من الارجل وتعلم كود الكيباد عليه اخترت 16f877a وبفضل الله في هذا المنتدى الغالي نجحت في الحصول على كود الكيباد يفي بالغرض الصورة4 والكود5 يوضحان
الصورة 4


الكود5
char kp,x;
const char g[] ={0,1,4,7,10,2,5,8,0,3,6,9,12};
char keypadport at portd;
void main(){
trisb=trisc=0; portb=portc=0;
while(1){ kp=keypad_key_click();
while (kp&&kp!=4&&kp!=12){ for(x=0;x<12;x++) {
if (kp)
portb=g[kp];
portc=0;
delay_ms(250);
kp=keypad_key_click();
if(kp&&portb){
portc=portb;
portb=g[kp];
kp=0;
break;
}}}}}
عدت للمشروع الاول وغير البيك 16f628 ب 16f877a
العارضتان لم تشتغلا ابد ورحت اعدل واعدل حتى وجدت المشكل غيرت فقط امر الانتظار delay من 250 الى 18 وشتغل المشروع حتى الان لا اعرف السر في هذا؟؟؟؟؟؟؟
فقلت الحمد لله
فجاء امر الحسم وهو ادخال الكيباد فادخلت الكيباد وحصل نفس المشكل مجددا العارضتان لا تضيئان ابدا هل كود الكيباد يؤثر على multiplixing او امر الانتظار حاولت حل المشكل لكن وجدت نفس عاجز عن حل المشكلة.
كنت قد اقتنيت لوازم المشروع وصنعت العارضيتن بالعناصر الليد تبقت فقط برمجة البيك وصنع دائرته صور العارضتين.
سارع ملفات البروتوس والميكرو سي من الاول الى الاخير من استطاع منكم مساعدة في اي شيء فلا يبخل على وجزاكم الله
بدات افكر في تخلي عن المشروع وعدم التفكير في البيك مجددا سيضيع كل شيء ونقطة المشروع ستاثر على معدلي الدراسي في حالة لم اقدم مشروع اسف ان طولت عليكم وشكر لكم قبل كل شيء
المشروع الاول على pic16f628
http://www.mediafire.com/download/x1...%89+16f628.rar
نفس المشروع على pic16f877a
http://www.mediafire.com/download/za...89+16f877a.rar
كيباد وحده على pic16f877a
http://www.mediafire.com/download/2a...th+16f877a.rar
دمج الكيباد مع المشروع وعدم الاشتغال
http://www.mediafire.com/download/8r...8%A7%D9%84.rar
وهده صور العارضتان التي صنعت



التعديل الأخير تم بواسطة : badr nahed بتاريخ 26-01-2016 الساعة 04:00 PM
اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 26-01-2016, 04:47 PM المشاركة 2   
افتراضي


نصيحــــــــــة :
لا تعرض النتائج التي توصلت لها على الاستاذ في وقت مبكر لانه طلباته لن تنتهي و كل ما تنفذ طلب يطلبه سيطلب منك تطويرا اخرا ...
اعرض النتائج في نهاية العام الدراسي

حيدر علاج حسن

التعديل الأخير تم بواسطة : حيدر علاج حسن بتاريخ 26-01-2016 الساعة 04:57 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 26-01-2016, 05:38 PM المشاركة 3   
x8


نصيحــــــــــة :
لا تعرض النتائج التي توصلت لها على الاستاذ في وقت مبكر لانه طلباته لن تنتهي و كل ما تنفذ طلب يطلبه سيطلب منك تطويرا اخرا ...
اعرض النتائج في نهاية العام الدراسي
هاهاها اتفق مع الاخ حيدر هذا ما يحدث


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 26-01-2016, 06:07 PM المشاركة 4   
x2 اين المساواة


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

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


1- اخى العزيز يرجى كتابة comment امام بداية كل دوارة loop ما وظيفتها , وارفع اخر ملف , حتى يمكن مقارنة الاكواد بالمطلوب منها .

2- ملاحظة الاولى الترددات غير متماثلة بين الكريستالة و البيك و الكود .

3- فى انتظار رفع الكود بالتعليقات .

4- يفضل ضبط المسافات لضبط رؤية الحلقات المتداخلة ليكون سهلا فى القراءة و الاصلاح مثل هذا :

كود:
 while (kp&&kp!=4&&kp!=12){
                   for(i=0;i<12;i++) {
                         if (kp)
                         x=g[kp];
                         j=0;
                         delay_ms(250);
                         kp=keypad_key_click();
                             if(kp&&x) {j=x;
                                       x=g[kp];
                                       kp=0;
                                       break;
                                      }
                                   }
                                 }
5- الكود التالى بالذات خطأ : لانه غير مقسم بالاقواس فمن سيقارن مع من ..

كود:
      while (kp&&kp!=4&&kp!=12)
6- حضرتك كنت ذكرتك من قبل باهمية مقاومات توضع على portd 0-3 دخل المفاتيح , مع ان حضرتك و ضعتها مع المفتاحين فى الاعلى ..!!!!!!! اين المساواة و العدالة بين المفاتيح ... ؟؟؟



و الله الموفق و المستعان

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



magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 343
نشاط [ magdy_3 ]
قوة السمعة:0
قديم 26-01-2016, 07:05 PM المشاركة 5   
افتراضي


السلام عليكم
اخى مشتاق الله
هذا الكود
كود:
while (kp&&kp!=4&&kp!=12)
ليس خطأ
هو عبارة عن while بثلاث اشرط
ان تكون kp لاتساوى صفر
وان لا تساوى 4
وان لا تساوى 12
وغير ذلك سوف يدخل البيك فى loop while
حتى لا يتحقق اى شرط منهم فيخرج من ال loop


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 26-01-2016, 07:36 PM المشاركة 6   
افتراضي


السلام عليكم
اخى مشتاق الله
هذا الكود
كود:
while (kp&&kp!=4&&kp!=12)
ليس خطأ
هو عبارة عن while بثلاث اشرط
ان تكون kp لاتساوى صفر
وان لا تساوى 4
وان لا تساوى 12
وغير ذلك سوف يدخل البيك فى loop while
حتى لا يتحقق اى شرط منهم فيخرج من ال loop

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

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

الافضل برمجيا لا يكتب امر بدون اقواس و من قال ان البروسيسور يفهم ما تفهمه فى عقلك
اخى يجب التعامل مع البروسيسور على انه الة غبية , ويمكن قراءة و فهم الامر السابق بطريقتين كالتالى :

كود:
     while ( kp && (kp!=4) && (kp!=12) )


وهذا ما تقصده بينما كان يمكن قراءته كالتالى :

كود:
       while ( ( kp && kp )   !=  (4 && kp!=12) )

هذا ما اقصده و لله الفضل و المنة .
فايهما سينفذه البروسيسور ؟؟؟؟ و الاثنين صحيحين بينما تقصد شئ البروسيسور ينفذ شئ اخر و الخطأ عندنا نحن .

و الله الموفق و المستعان

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


ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 27-01-2016, 05:43 AM المشاركة 7   
افتراضي


أرجو أن لا تعتبرنى محبطا لكن مادام الأستاذ ذكر هذا فالغالب أنه سيقول وضعت واحدة لموظف و نسيت الآخر و الأفضل أن تفكر بهذا من الآن و البيك 877 به إمكانية

إما تضيف أخرى للموظف الآخر أو تلجأ لحل بسيط أن يكون المشرف على الموقع له فقط حق تغيير الرقم العشوائى لأى من الموظفين من أزرار إضافية


badr nahed
:: مهندس ::
تاريخ التسجيل: Sep 2015
المشاركات: 23
نشاط [ badr nahed ]
قوة السمعة:0
قديم 27-01-2016, 04:11 PM المشاركة 8   
Unhappy


السلام عليكم شكرا لكل اضافاتكم المفيدة
حتى الان انا اريد دمج كود الكيباد مع الكود الرئيسي هدا هو المشكل الدي ان عاجز عن حله لتوضيح اظن كود الكيباد يؤثر على عملية multiplexing على العارضات فهل من حل وجزاكم الله مع اني سارفع ملف من جديد مع comment امام كل دوارة من اجل اخي في الله {مشتاق الله}

إضافة رد

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

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

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


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

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