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

   

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 22-03-2009, 01:52 PM المشاركة 17   
افتراضي



أخى المهندس ahmad_s_f واضح جدا فى كلمتك هذه تمكنك فى البرمجة وأتمنى مواصلة الموضوع وتبادل الأفكار ! أنا تعلمت المايكرو كنترولر منذ عام أى فى مارس 2008 وتطورت الأفكار لدى حيث كان لدى معرفة بسيطة بلغة البيزيك القديمة ومعرفة جيدة نوعا ما بتصميم الهاردوير للكروت والدوائر الإلكترونية ولكن يجب أن أذكر أنى كنت بحاجة ملحة جدا جدا لتعلم المايكرو كنترولر وكنت لا أنام إلا ساعات قليلة وأواصل البحث والإطلاع وفى كل ما يخص الموضوع كيث كان مطلوب منى أن أقوم بتصميم جهاز كمبيوتر خاص بماكينة حفر يقوم بحساب سرعة الدوران وزوايا الميل ودرجات الحرارة وبناءا على ذلك يقوم بعمل تشغيلات تلقائية لبعض الوظائف بالماكينة وبصراحة كنت أواصل التحث والإنفاق على هذا الموضوع والمشروع من مكونات وتعمق فى التجارب وفى كل لحظة كنت أدعو الله أن يوفقنى ووالله ما هى إلا شهور معدودة فكنت على آخر شهر 7 من عام 2008 أى بعد أربعة أشهر من التجارب والبحث والدعاء لله فعلا فى كل لحظة أن يعلمنى ويمكننى حيث كنت لا أنوى المايكرو كنترولر بالتحديد فكنت أفكر فى استخدام جهاز لاب توب يوضع بالماكينة ويبرمج ، لكن وجدت ان المايكرو كنترولر يمكن أن يقوم بكل هذا مع ما لدى من معرفة بتصميم الهاردوير وبدأت بالفعل فى إنجاز مشاريع مختلفة خاصة بالغرض المطلوب ، فقد قمت بتنفيذ مشروع يقرأ سرعة دوران الماكينة وزاوية الميل x,y ويعيد ضبط الماكينة تلقائى ويقيس درجات الحرارة ووو .... ثم تعرض النتائج على شاشة واحدة Lcd وصورت هذا كله فيديو وكنت كل يوم أكتشف الجديد فى البرمجة ، وبعدما كتبت هذا الموضوع الخاص بالساعة بأيام تبين لى أفكار أكثر تطورا منها استخدام طريقة :
sub function mask
sub procedure interrupt
على سبيل المثال وكل هذا بفضل الله وأعتبر هذا الوقت قصير لما وصلت له من مستوى وإن كان متواضعا فكل هذا من فضل ربى
ومرحبا بما لديك من أفكار فأنا قد وضع تعليمات البرنامج لذلك ولم أكتفى بالهيكس فقط
فى إنتظار المناقشة والأفكار ! !


التعديل الأخير تم بواسطة : wleed antar بتاريخ 22-03-2009 الساعة 02:03 PM
اعلانات

الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 22-03-2009, 02:05 PM المشاركة 18   
افتراضي


أخي الكريم المهندس وليد .. وفقك الله وإلى مزيد من النجاح الباهر بإذن الله
ماشاء الله عليك .. أكثر الله من علمك وزادك مساعدة لإخوانك ..

أخى المهندس ahmad_s_f واضح جدا فى كلمتك هذه تمكنك فى البرمجة وأتمنى مواصلة الموضوع وتبادل الأفكار !
أخي فقط لدي بعض الأفكار والمناقشات .. وخصوصا في طريقة كتابة الكود .. وأشكرك على إتاحة الفرصة لتبادل الأفكار فأنا متأكد أن كلانا سيستفيد من الآخر بإذن الله. وبالطبع لو اشترك مزيد من الأعضاء في هذه المناقشة فسيكون هذا فتح كبير من الله سبحانه وتعالى على الكثيرين ونحن أولهم . .

========================================

أولا : قبل البدء في المناقشة شوقتني لما تحدثت عنه
فقد قمت بتنفيذ مشروع يقرأ سرعة دوران الماكينة وزاوية الميل x,y ويعيد ضبط الماكينة تلقائى ويقيس درجات الحرارة ووو .... ثم تعرض النتائج على شاشة واحدة Lcd وصورت هذا كله فيديو وكنت كل يوم أكتشف الجديد فى البرمجة ،
كم سنكون جميعا في غاية السعادة .. وكم سيستفيد الجميع لو وضعت هذا المشروع وشرحته في موضوع جديد .. فنحن في انتظارك .

ثانيا : بالنسبة للكود قبل أن أبدأ في عملية المناقشة الفعلية أريد أن أسألك عدة أسألة ..
1- كيف سيقوم البرنامج بعد الثانية (بما أنها ساعة رقمية كل زمن قدره واحد ثانية يزيد عداد الثواني ) .. وما هي التقنية التي استخدمتها في العد
2- هل ترى أن هذه الساعة دقيقة .. أم أن الدقة غير مهمة .. لدي الكثير من الأفكار لتصبح ذو دقة أعلى .

هناك المزيد .. ولكن نبدأ بهذه النقاط ..

وشكراً لك على ما تبذله .. ووفقك الله .
------------------------------------------------
وفقنا الله جميعا لما يحب ويرضى ورزقنا وإياكم العلم النافع
والسلام عليكم ورحمة الله وبركاته

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

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 22-03-2009, 02:21 PM المشاركة 19   
افتراضي


كيف سيقوم البرنامج بعد الثانية
استخدمت كود delay فكل كود delay مكمل للآخر ليكون المجموع 1000 مللي ثانية وهذه طريقة غير محترفة لكن توفى بالغرض وستجد نسبة خطأ فى الدقة لكن صغير حوالى كل 20 دقيقة تقريبا خطأ عدة ثوانى تأخير أو تقديم

لكن ما هى أفضل طريقة لإستخدام المؤقت الداخلى للعد الدقيق ؟ من أجل الدقة ؟


الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 22-03-2009, 02:36 PM المشاركة 20   
افتراضي


ستخدمت كود delay فكل كود delay مكمل للآخر ليكون المجموع 1000 مللي ثانية وهذه طريقة غير محترفة لكن توفى بالغرض وستجد نسبة خطأ فى الدقة لكن صغير حوالى كل 20 دقيقة تقريبا خطأ عدة ثوانى تأخير أو تقديم
لم أفهم قصدك جيدا من أن كل كود ديلاي مكمل للآخر .
هل تقصد هذه الأوامر :
كود:
delay_us( 1705 )
كود:
delay_us( 1706 )
إذا كنت تقصد ذلك ؟؟ فكيف ستتكرر ليصبح مجموع تكرارها يساوي واحد ثانية ؟؟ مزيد من التوضيح لو سمحت ؟؟

-----------------------------------
بالنسبة للدقة .. يجب أن أخبرك بها بعد إجابتك وتوضيحك للأمر ديلاي ؟؟

-----------------------------------
فقد قمت بتنفيذ مشروع يقرأ سرعة دوران الماكينة وزاوية الميل x,y ويعيد ضبط الماكينة تلقائى ويقيس درجات الحرارة ووو .... ثم تعرض النتائج على شاشة واحدة Lcd وصورت هذا كله فيديو وكنت كل يوم أكتشف الجديد فى البرمجة ،
سألتك عن هذا الأمر ولم ترد ؟؟

----------------------------------


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 22-03-2009, 02:49 PM المشاركة 21   
افتراضي


أخى الكريم بالنسبة للمشاريع الأخرى من فضلك انتظرنى حتى اتاحة الفرصة لى من حيث الوقت لأنى فى عملى حاليا وهذا سيحتاج لبعض الوقت
-----------------------------------------------------------------------------
بالنسبة للديلاى فالبرنامج يكون فى بحث عن ضغطة أى زر وأثناء ذلك من متابعة يقوم بالتأخير فكان يجب علىَ أن أقوم بتجزءة أمر ديلاى وإلا لو كتبت ديلاى 1000 ميللى لكان البرنامج سيتأخر ثانية ولن يقبل أى أمر مثل ضغطة زر أو ما شابه ولكن عرفت بعد ذلك أنه يمكن عمل مثل المقاطعة لكى يقوم البرنامج من الإستجابة للضغط حتى ولو كان تحت أمر ديلاى 1000 ميللى
وبالتوفيق لنا جميعا


الصورة الرمزية الفارس العنيد
الفارس العنيد
:: مهندس ::
تاريخ التسجيل: Oct 2008
المشاركات: 39
نشاط [ الفارس العنيد ]
قوة السمعة:
قديم 22-03-2009, 02:54 PM المشاركة 22   
افتراضي


السلام عليكم
اخي ملف الهيكس الموجود كيف سانقله لي المتحكم وهو بهذا لشكل
انا اعرف انه بيكون ملف وليس مكتوب بلغة الاله
ثانيا رابط ملف البروتوس لايعمل
ارجو منك رفعه هو وملف الهيكس
وجزاك لله خيرا


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 22-03-2009, 03:04 PM المشاركة 23   
افتراضي


السلام عليكم
اخي ملف الهيكس الموجود كيف سانقله لي المتحكم وهو بهذا لشكل
انا اعرف انه بيكون ملف وليس مكتوب بلغة الاله
ثانيا رابط ملف البروتوس لايعمل
ارجو منك رفعه هو وملف الهيكس
وجزاك لله خيرا
وعليكم السلام ورحمة الله وبركاته
بالنسبة لملف الهيكس قم بعمل الآتى
قم بتظليل الكود بالكامل هكذا :-
كليك شمال من يمين أسفل آخر سطر فى الكود واسحب الماوس إلى أعلى سطر فى الكود ناحية اليسار وتأكد أن الكود تم تظليله بالكامل ثم اختار نسخ
قم بفتح مستند نصى جديد على سطح المكتب
الصق فيه الكود
قم بفتح حفظ باسم من قائمة فايل
وفى خانة نوع الملف اختار كل الملفات
وفى خانة الإسم أكتب clock.hex
ثم اضغط Enter
ستجد ملف اسمه بنظام الهيكس جديد على سطح المكتب
-------------------------------------

بالنسبة للبروتوس أعتذر لضيق الوقت الآن ويمكنك البحث داخل مشاركات المنتدى وستجده ان شاء الله

وبالتوفيق


الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 22-03-2009, 03:27 PM المشاركة 24   
افتراضي


أخى الكريم بالنسبة للمشاريع الأخرى من فضلك انتظرنى حتى اتاحة الفرصة لى من حيث الوقت لأنى فى عملى حاليا وهذا سيحتاج لبعض الوقت
أتمنى أن يرزقك الله الوقت وأن يعينك على ذلك .. ونحن في انتظارك ..

------------------------------------------------------------------------------
===========================================
بالنسبة للكود الذي كتبته لدي الكثير من التعليقات عليه ::

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

===========================================

2- عندما رأيت الكود الذي كتبته أخي وليد فوجئت بهذاالعدد الرهيب من جمل IF .. لقد استخدمت 66 جملة IF في مشروعك ..
وكما يقول خبراء البرمجة أن استخدام عدد كبير من الجمل الشرطية مثل جمل iF يعتبر عيب خطير في الكود ويجب بقدر الإمكان الإقلال منه .. فإن قلة عدده يدل على احتراف المبرمج .. أخي الكريم هذا المشروع لا يحتاج إلى هذا العدد الكبير من جمل IF فربما لإنجاز مثل هذا المشروع نحتاج فقط لحوالي من 10 إلى 13 جملة IF فقط .

===========================================

3- الملحوظة الثالثة : : أهم ميزة لابد أن تكون في برنامج الساعة هي الدقة ولكنك تقول : :
ستجد نسبة خطأ فى الدقة لكن صغير حوالى كل 20 دقيقة تقريبا خطأ عدة ثوانى تأخير أو تقديم
لو افترضنا أن هذا الكلام صحيح .. فهذه دقة سيئة .. لماذا ؟؟ لأنه في الساعة الواحدة سيكون هناك نسبة خطأ 3 ثواني .. وفي اليوم الواحد ستكون نسبة الخطأ حوالي 72 ثانية وفي الشهر الواحد ستكون نسبة الخطأ 36 دقيقة أي أنه في السنة ستكون نسبة الخطأ حوالي سبع ساعات (7.2) وهذا رقم ضخم ..
هذا طبعا لن يكون هوه وحده نسبة الخطأ .. فهناك عوامل أخرى فمثلا الكريستال يوجد به نسبة خطأ ... كما أنه هناك زمن تنفيذ الأوامر فكل أمر سيحتاج لوقت معين لتنفيذه هذا أيضا سيجعل نسبة الخطأ تزداد وتزداد .

وإن عملية حساب زمن تنفيذ الأوامر عملية معقدة وليست سهلة خصوصا في اللغات الحديثة مثل لغة البيزك ولغة السي .. ونفرض جدلاً أننا استطعنا حساب زمن تنفيذ الأوامر ( وسنعدل في زمن الديلاي ليتماشى مع ذلك ) فستواجهنا مشكلة أكبر وهو أننا لن نستطيع معرفة ما سينفذه البك بالضبط من أوامر نظراً لوجود جمل IF الكثيرة فربما ينفذ البك ما بداخل هذه الجملة وبالتالي سيستغرق زمنا قدره كذا وكذا .. وربما لا ينفذ جملة iF تلك فربما تتحقق وربما لا يتحقق الشرط .. إذن سنخدل في عمليات معقدة جداً جداً ..

لذلك لابد من استخدام تقنيات أخرى في عملية التوقيت .


يتبع إن شاء الله.. الآن أنا منتظر ردك .

============================================
وفقنا الله جميعا لما يحب ويرضى ورزقنا وإياكم العلم النافع والعمل الصالح

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



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