المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس السابع : برمجة مدخل تناظري


زكي شاكر
12-19-2009, 01:53 AM
بسم الله الرحمن الرحيم
برمجة مدخل تناظري: قراءة وتحويل جهد تناظري (analog)
يتوفر المتحكم PIC16F877a على مبدل A/D وبذلك يصير بالامكان إدخال قيمة غير رقمية (5 فولت أو أقل) وقراءتها داخليا
ومن تم تحويلها الى ما يقابلها رقميا اي على شكل عدد ..
شرح الطريقة بفلوكود :
التحميل من هنا (http://dbaasco.com/up4/dldFoV76814.rar.html)
تطبيق ذو صلة بموضوع المبدل التناظري / الرقمي : adc
http://www.dbaasco.com/vb/t2631.html

noornader
12-19-2009, 06:53 AM
أخى العزيز/ زكى شاكر

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

زكي شاكر
12-19-2009, 12:00 PM
أكرمك الله
أخي العزيز نور نادر
شكرا على مرورك الكريم بالموضوع
وجازاك الله خيرا على جهودك في تيسير البرمجة بفلوكود
وتبسيطها حتى لا يفوت نفعها إخواننا وأحباءنا العرب والمسلمين ..
:b1 (440):

سعيد قادر
12-19-2009, 06:52 PM
شكرا لك استاذى زكى شاكر على هذا الموضوع الرائع وبارك الله فيك :b1 (440):
استاذى العزيز اذا امكن ان تشرح لنا كيف يتم قياس الفولت واضهارها على سيفن سجمنت ببرنامج فولوكود بصراحة لااعرف الطرق المتبعة فى هذه العملية ولك جزيل الشكر والتقدير:b1 (440)::b1 (440):

زكي شاكر
12-19-2009, 10:10 PM
لا شكر على واجب أخي الكريم ..
هل تقصد عرض الناتج على عارضة سباعية واحدة أم أكثر ؟

سعيد قادر
12-31-2009, 11:48 PM
شكرا لك استاذى الفاضل :b1 (440):على ثلاثة اذا امكن ولك الشكر:b1 (440):

سعيد قادر
01-01-2010, 04:45 PM
استاذى العزيز :

ماهية فكرة هذه العملية كيف يقاس الفولتية ؟؟؟

وماهية الطرق المتبعة فى العملية ؟؟ وكيف يتم اضهارها على السيفن سجمنت ؟؟

وماهو الفرق بين قيا س فولتية( ac و dc ) فى الدائرة؟؟؟

وشكرا لك :b1 (440):

زكي شاكر
01-01-2010, 04:54 PM
شكرا لك استاذى الفاضل :b1 (440):على ثلاثة اذا امكن ولك الشكر:b1 (440):
نخليها على ثلاثة ..
استاذى العزيز :

ماهية فكرة هذه العملية كيف يقاس الفولتية ؟؟؟

وماهية الطرق المتبعة فى العملية ؟؟ وكيف يتم اضهارها على السيفن سجمنت ؟؟

وماهو الفرق بين قيا س فولتية( ac و dc ) فى الدائرة؟؟؟

وشكرا لك :b1 (440):


أخي سعيد أنا فاهم جيدا ما تريد الوصول اليه وان شاء الله لي عودة للموضوع (الدسم :msn-wink:) بعد حين ..
وأرجو من الله التوفيق ..
:b1 (440):

سعيد قادر
01-01-2010, 06:26 PM
بارك الله فيك استاذى الفاضل فى الانتضار انشاء الله ولك منى الشكر والتقدير :b1 (440)::b1 (440)::b1 (440):

زكي شاكر
01-04-2010, 11:55 PM
بسم الله الرحمن الرحيم
إضافة عارضات سباعية للتطبيق السابق :
http://www.dbaasco.com/up/im-1/dbaasco0cf25913ce.png

بنية التطبيق:
- تحويل جهد تناظري الى ما يقابله رقما بمدى 0 الى 1000 على الاقل
- تحويل ناتج التحويل السابق من النظام الثنائي الى النظام العشري حتى نتمكن من العرض بالصيغة العشرية ..
تذكير بطريقة التوصيل للعارضات :
http://www.dbaasco.com/up/im-1/dbaascoca54b3f3e6.png
ملاحظة :
المشروع تم تنفيذه بفلوكود 3 تماشيا مع أهداف دورة فلوكود التي تتركز حول الاصدار الثالث ..
يمكن فتح الملف بالاصدار الرابع وإذا ظهرت رسالة خطأ يكفي حذف الرمز المشار اليه في الصورة التالية :
http://www.dbaasco.com/up/im-1/dbaascofb8c033085.png
وبذلك يصبح الملف متوافقا مع الاصدار الحالي ..

ابو نادر
01-05-2010, 08:50 AM
درس رائع ياخبير الفلو كود

بارك الله فيك يامهندس زكي شاكر

noornader
01-05-2010, 01:04 PM
جزاك الله خيرا اخى العزيز المهندس/ زكى شاكر
إضافات ممتازة تعطى تفاعل مع الموضوع
تقبل تحياتى

سعيد قادر
01-05-2010, 09:24 PM
بارك الله فيك يا استاذ زكى لدية استفسار عن هذا الدرس كيف يتم تحديد الارقام مع تغير المقاومة المتغيرة ؟؟ وماهية القاعدة او الفكرة المتبعة فى هذا الموضوع ؟؟
ارجو التوضيح اذا امكن ولك الشكر :type:

زكي شاكر
01-05-2010, 09:41 PM
أخي أبو نادر ، أخي نور نادر .. اسعدني مروركم بالموضوع شكرا لكم.

***************
أخي سعيد قادر .. انا عند وعدي :
و قد تم اجتياز المرحلة الاصعب هنا :
http://www.dbaasco.com/vb/post19712-11/
مرحلة التحويل من الثنائي الى العشري لنتمكن من عرض ناتج عملية تحويل الانالوج / الديجيتال على عارضات 7segments..
لا تشغل بالك الان بهذه الكلمات الغامضة..
ان شاء الله سأشرح الموضوع بعد الانتهاء من كل التطبيقات المتعلقة به ..
وارجو من الله التوفيق

سعيد قادر
01-05-2010, 11:59 PM
شكرا لك استاذى الفاضل فى الانتضار انشاء الله :popcorn2:

زكي شاكر
01-06-2010, 01:35 AM
شكرا لك استاذى الفاضل فى الانتضار انشاء الله :popcorn2:

أخي سعيد رجاء لا تكتفي فقط بالانتظار و الاستمتاع بحبات البوب كورن :
شارك معنا:
http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf
اطلع على المبدل التناظري / الرقمي في المتحكم PIC16F877a من الصفحة 129 الى 135
وحاول ان تجد المصطلحات التي في نافذة خيارات مكون adc بفلوكود :
http://www.dbaasco.com/up/im-1/dbaasco272786e070.png
حتى تعرف ان مع فلوكود أيضا نكون بحاجة للتعرف على بعض مسجلات المتحكم وطريقة عملها
:msn-wink:

زكي شاكر
01-07-2010, 12:55 AM
بارك الله فيك يا استاذ زكى لدي استفسار عن هذا الدرس كيف يتم تحديد الارقام مع تغير المقاومة المتغيرة ؟؟ وماهية القاعدة او الفكرة المتبعة فى هذا الموضوع ؟؟
ارجو التوضيح اذا امكن ولك الشكر :type:

السلام عليكم
حتى يمكن الرد على هذا السؤال المهم نحاول التعرف على مايحدث داخل المتحكم حول هذا الجانب :
http://www.dbaasco.com/up/im-1/dbaascod30b7d168b.png
الجهد القادم من المقاومة يدخل عبر المدخل التناظري الذي تم اختياره A0 يتحول الى عدد مقابل له
ومن تم يمكن وضعه في مسجل (متغير) لقراءة محتوى ناتج التحويل ثم نعرض الناتج بماكرو عرض تنائي او بعارضات سباعية او شاشة ل س دي ..
----
في المتحكم شريحة الكترونية تحول الجهد التناظري الى عدد رقمي
كل جهد له عدد مقابل له ..نسمي العدد N مثلا ..
عملية التحويل هذه تحتاج لجهد مرجعي يحدده المبرمج شرط ان لا يتعدى 5 فولت ..
وتحتاج كذلك لمسجل وسيط "نوصله" بالبرمجة طبعا ، بالمبدل انالوج/ ديجيتال و..
هذا المسجل هو مسجل محجوز من ذاكرة الرام لهذا الغرض ..نسميه كما نريد مثلا :adc_value
اسم ذو معنى ..
adc_value هو مسجل بالنسبة للاسمبلي اما فلوكود والمكروسي واللغات المشابهة فتسميه: متغير .. variable
المسجلات لا تتعدى8bits ..
لذلك فانها لا تقدر على استيعاب اكثر من 256 امكانية (256 عشري/11111111 تنائي )
فلو برمجنا مسجلا كعداد فإنه سيعد من 0 الى 255 فقط ولا يستطيع تعديها لانه لا يملك "مخارج" اكثر من 8
لا مشكل .. المتغير في فلوكود (وفي غيره ) يمكن ان نسند له قيمة أكبر من ذلك :
http://www.dbaasco.com/up/im-1/dbaasco61cb1a73be.png
دور adc_value هو قراءة (او تخزين) ناتج عملية التحويل اي قراءة العدد الذي تحول ..
عملية التحويل انالوج/ديجيتال عملية خطية
بمعنى: نختار مثلا الجهد المرجعي = 5 فولت
وإذا جعلنا adc_value وهومتغير قراءة العدد N ،من نوع Byte .. فإن اصغر قيمة للعدد N طبعا هي 0 وأكبر قيمة هي 255 معنى هذا ان:
مجال التحويل الرقمي تم تحديده ما بين 0 و255 .. وعليه فإن 5 فولت ستقسم على المجال 255
نستنتج مما سبق القانون التالي :
V=(Vref * N)/255
V = الفولت المقابل للعدد N
الاعدادت في فلوكود:
http://www.dbaasco.com/up/im-1/dbaasco31307aeddc.png
ملاحظة :
رغم ان المتغير يمكن ان نسند له قيمة تفوق 255 كما رأينا في الصورة رقم 2 .. فإن اكبر قيمة في مشروع التحويل هذا لا يجب ان تتعدى 1023 ..
لماذا ؟
ببساطة لان مسجل التحويل في المتحكم هو من فئة 10 بت اي انه لا يتعدى 1023 ..
هما في الواقع مسجلان يبدا كل واحد منهما بالحروف التالية : Adres (الداتا شيت)

noornader
01-07-2010, 10:52 PM
شكرا أخى العزيز الأستاذ المهندس/ زكى شاكر
على هذا الشرح الرائع والمجهود الكبير المبذول فى توصيل المعلومة
ولكن لى استفسار عن جزء فى الماكرو ADC_7seg
وبالأخص فى عنصرالحساب calculation والموضح بالصورة

http://www.dbaasco.com/up/im-1/dbaascof0d87775e5.png

أرجو إلقاء الضوء على العمليات المجراه بداخله وبالأخص Module operators
واكون شاكر لك على سعة صدرك
تحياتى

زكي شاكر
01-08-2010, 12:12 AM
لا شكر على واجب أخي العزيز نور نادر
ذلك هو تطبيق لطريقة تحويل رقم تنائي الى نظيره العشري المعروفة في المنطق الالكتروني ونظم العد ..
وهي طريقة تعتمد على إجراء عمليات قسمة متتالية على الرقم التنائي (binaire ) والاحتفاظ بالبواقي للحصول في النهاية على النظير العشري (Decimal)..
Mod 10 تعني ان عملية التحويل تستهدف النظام العشري
بالمرفقات تطبيق بسيط لبرنامج بفلوكود يحول عددا تنائيا الى نظيره العشري لتوضيح الفكرة والطريقة:
ندخل العدد التنائي في المتغير ctr وفلوكود يحوله الى نظيره العشري ثم يعرضه على 4 عارضات سباعية ..
ctr اسم اخترناه ويمكن اختيار اي اسم لهذا المتغير ..
المثال عن تحويل العدد التنائي 11111011010 الى مقابله بالعشري وهو 2010
http://www.dbaasco.com/up/im-1/dbaascof845bea08f.png
وبالمرفقات ايضا تطبيق حول اسخدام طريقة التحويل هذه لبناء مشروع عداد 4 ارقام
(ملف بالسرعة العادية وملف آخر بحركة بطيئة للتمكن من رؤية تحول الارقام على العارضات)
أتمنى ان تكون الفكرة وصلت وأرجو من الله التوفيق للجميع..

noornader
01-08-2010, 11:27 AM
شكرا اخى العزيز/ زكى شاكر على التوضيح
وجزاكم الله كل خير
تحياتى

سعيد قادر
01-08-2010, 01:49 PM
بارك الله فيك استاذى الكريم الرائع زكى شاكر لقد فتحت ابواب كثير كانت مغلقة لدى.... وقد راح فكرى الى ابعدمن هذا :wings:...... شكرا شكرا جزيلا لك :b1 (348):
:kumbaya:
مع تحياتى لك بالتوفيق

زكي شاكر
01-08-2010, 02:15 PM
بارك الله فيكم أخي نور نادر واخي سعيد قادر ..
شكرا على اسئلتكم الهادفة وعلى اهتمامكم بالموضوع .. واسمحوا لي ان اقوم بتعديل مشاركتي السابقة لاستدراك بعض هفوات الكيبورد ..
ماذا نعمل ؟ منتجات الصين هذا حالها ..
تقبلوا مني أجمل التحيات .

azm
02-25-2010, 10:55 PM
مشكور أخي الكريم

mohamedeln
04-15-2010, 04:58 PM
مشكوووووووووووووووووووور

metwally.mustafa
04-18-2010, 08:43 PM
جزاكم الله خيرا

wesimkhld
07-05-2011, 05:38 PM
والله الدروس عظيمهههههههههههه
الله يجعله في ميزان حسناتكم
خير الناس من نفع الناس

islem
07-12-2011, 01:22 AM
دائما نحو التميز بارك الله فيكم