fbpx

الفتاة الفاتنة.. والمتحكمات الدقيقة

كانت ممشوقة القامة، عيناها زرقاوان، وشعرها الأسود الطويل يتدلى بانسياب على كتفيها. لم تكن كغيرها من الفتيات، فلقد كانت فاتنة بحق! كانت تجلس في أحد المجمعات التجارية الشهيرة قرب إحدى محلات الماركات المعروفة، ورائحة العطر الفواحة تملأ المكان. كانت تتمايل برأسها برفق تنظر إلى أعين المارة بالقرب منها. ولسوء حظ صاحبنا عزام أنه كان في ذلك اليوم مارا من ذلك المجمع التجاري، وصادف مروره ذلك المحل الذي تقف الفاتنة عند بابه..حينها لم يتمالك عزام نفسه وحاول الاقتراب منها، لعله يتمكن من التعرف على تلك الفاتنة. وقبل أن يقترب أبطأ في خطواته، ووضع يده على مقدمة رأسه وقطب جبينه وبدأ يفكر بصوت مرتفع قائلا: هل هذه الفتاة حقيقة؟ أم أنها من نسج الخيال؟  يالجمالها 🙂 كان عزام حينها يرتدي حذاءه المتواضع ومعطفا جلديا أسود اللون، ويحمل جواله الآي فون 4 متباهيا به لعله يلفت انتباه الفاتنة. لكن هيهات! فتلك الفاتنة أبعد ماتكون عن تلك المظاهر الخداعة..تابع عزام السير بخطوات واثقة..وراودته نفسه أن يحادث تلك الفتاة،  وبالفعل، ما إن اقترب منها حتى طأطأ رأسه وانحنى قليلا وهمس في أذنها قائلا: ممكن نتعرف؟

حركت الفتاة رأسها والتفتت إلى عزام  بشكل مريب ورمقته بنظرات غريبة بعينيها المتسعتين..وبدت حينها أصوات أجهزة ميكانية وتروس غريبة ..وماهي إلا لحظات حتى نطقت الفاتنة بصوت كمبيوتري: أهلا وسهلا بك..تفضل بزيارتنا… 🙂

وياللهول..ياللفضيحة..بدأ عزام يهذي مع نفسه. فتلك الفتاة لم تكن سوى مجرد دمية وضعت لجذب أنظار الزبائن للمحل. احمر وجه عزام…وأحس بأن الأرض تجثو على صدره من هول ذلك الموقف المحرج. ومن ثم تبسم ضاحكا مستغربا وسأل نفسه: من الذي حرك تلك الفتاة وأعلمها بوجودي وجعلها تتحدث؟

تعالوا لنتعرف اليوم على سر تلك الفتاة الذي جعلها تنطق وتحرك رأسها.

نتناول في تدوينتنا لهذا اليوم ما يعرف بـالمتحكمات الدقيقة أو المعالجات الصغرية. وسنجيب عن أسئلة عديدة منها: ماهي تلك المتحكمات الدقيقة؟ وكيف يمكننا تعلم تنفيذ المشاريع من خلالها؟

المتحكمات الدقيقة µC, uC or MCU هي عبارة عن قطع إلكترونية شبه موصلة تسمى معالجا دقيقا فهي تعالج معلومات معينة لتتخذ بناء عليها قرارات، وتحوي داخلها بوابات منطقية ومداخل ومخارج رقمية وتماثلية، فيمكنكم تخيلها أنها تشبه المعالج الموجود في جهاز الحاسب الآلي لديكم أو الآلة الحاسبة. وبداخل ذلك المتحكم المئات أو الآلاف أحيانا من الترانزستورات. تستخدم المتحكمات في العديد من التطبيقات الصناعية والمنزلية واليومية: كأجهزة المحمول، الكاميرات، الخ. بدأ ظهورها في نهاية الستينيات من القرن الماضي ومع مطلع السبعينيات، حينئذ احتل المتحكم 8051 من شركة انتل الصدارة في الأسواق. يتكون المتحكم من عناصر رئيسية يمكن اعتبارها الأعمدة الرئيسة لوصف أي متحكم، وهي: وحدة المعالجة والحساب، الذاكرة العشوائية، مجموعة من المداخل والمخارج، ناقل تسلسلي لينقل البيانات بين مكونات المتحكم. يقوم المتحكم بشكل مبسط بمعالجة مدخل معين: حساس ضوء مثلا ويتخذ قرارا بفتح بوابة منطقية معينة عند حساسية ضوء معينة وكل ذلك بناء على مجموعة تعليمات مخزنة على شكل برنامج  داخل المتحكم. وسبب التسمية بالمتحكم لأن لديه القدرة على التحكم في مخارجه بناء على تعليمات أو برنامج مخزن داخل ذاكرته. وسمي دقيقاً لأن حجمه صغير جداً.

ويمكن توضيح البنية الداخلية للمتحكم كما هو واضح في المثال أدناه وهو لمتحكم من شركة شهيرة تسمى ميكروشيب:

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

كيف يمكن السيطرة على هذا المتحكم؟ أي من الذي يعلمه التحكم وإصدار الأوامر؟

يتم ذلك من خلال كتابة شيفرة أو برنامج خاص ليتم تخزينه داخل ذاكرة المتحكم، ومن ثم يتم تنفيذ تعليماته ليتصرف المتحكم بناء عليها.

تعني أنه يجب برمجة المتحكم بواسطة كتابة برنامج..حسنا، وبأي لغة برمجية؟ وماهو عدد الأوامر؟

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

حسنا ، وكيف يتم نقل البرنامج إلى المتحكم؟ هل هناك جهاز خاص سينقل الكود من الحاسب مثلا للمتحكم؟

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

إذا هاقد عرفنا  المبرمجة و المتحكم ولدينا البرنامج المفسر ولغة برمجة ماذا بعد ذلك؟

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

وكم تستغرق عملية البرمجة؟

مجرد ثوان إذا كان البرنامج جاهزا والمتحكم مجهزا لاستقبال الشفرة.

ماهي أشهر المتحكمات التي يستخدمها الهواة؟ ومن أي شركة؟ وكيف يمكنني اختيار متحكم دقيق؟

الأمر متروك للمصمم، فذلك يعتمد في نهاية الأمر على خبرة المصمم والتطبيق الذي هو بصدد صنعه. فليس هناك متحكم سحري يلبي متطلبات كافة التطبيقات، فلكل تطبيق منتج معين مناسب له. وبشكل عام، إذا كنت مبتدئاً فأنصحك أن تبدأ بمتحكمات شركة Microchip وذلك كونها متوفرة بكثرة في الأسواق، ولها دعم هائل ومشاريع مجانية عديدة. والجدير بالذكر أن هناك العديد من المنافسين على الساحة مثل شركة إنتل، شركة تكساس انسترومنتس، شركة أنالوج وغيرها.

هل هناك رقم خاص لمتحكم معين من شركة ميكروشيب؟

نعم، كبداية أنصحك باستخدام PIC16F84

ولم هذا الرقم تحديدا؟

عدد أوامره بسيط فيمكن برمجته بسهولة، وسعره زهيد وعدد مداخله ومخارجه قليلة ويمكن فهم تعليماته بسهولة كما أنه له العديد من المشاريع المجانية المتوفرة على الشبكة العنكبوتية.

حسنا، وكيف يمكن تشغيل هذا المتحكم؟ ما هو فرق الجهد الخاص به؟

لكل متحكم دقيق فرق جهد خاص به، ويذكر ذلك في ملف المواصفات الفنية الخاصة بالمتحكم. فبعضها يعمل بواسطة 3.3فولت وبعضها عن طريق 5فولت.

وسيم..كفانا حديثا..نريد مشاهدة فيديو يلخص أهم تلك النقاط التي ذكرتها..

تعالوا نشاهد هذا الفيديو:

[youtube v=”jKT4H0bstH8″]

هل هناك تطبيقات يمكنني الاستفادة منها كهاو للمتحكمات وتكون بسيطة في نفس الوقت؟

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

نأتي للسؤال المهم: أين نجد هذا المتحكم؟ وكم يبلغ سعره؟

يمكنكم شراؤه من محلات بيع القطع الإلكترونية وينبغي أن تطلبوا من البائع رقما معينا فهي عديدة وكما ذكرت لكم يمكنكم البدء بمتحكم PIC16F84 وسعره زهيد جدا لا يتعدى اليورو الواحد

هل لديك دارة أو تطبيق بسيط كي نبدأ به؟

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

نصيحة أخيرة:

أطلب من كل هاو أن يبدأ بهذا الموقع المميز كي يتعلم الأساسيات بطريقة احترافية أو الرجوع لمنتدى القرية الإلكترونية

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

قائمة المصادر:

1. هام راديو

2. مايكرو إلكترونيكا

3. مشاريع

4. منتدى القرية

12 تعليق

  1. فَور مروري بدءا بعنوان الموضوع ومن ثم المقدمة تِباعاً أدركتُ إمّا أن يكون وسيم الخاير أو أنّ هُناك خطأ ما 🙂

    رائع بالطبع !

    أيضا ستتحدث “الفتاة” حين استشعارها أي جسم يمرّ بالقُرب، حتى ون لم تكُن هي الغاية =}

    بإنتظار المزيد ؛

  2. أووه…المبدعتان مرة واحدة! يبدو أنني لازلت في أحد أحلامي 🙂
    لنبدأ بالمبدعة الأولى: تسنيم..فور مرورك وقراءتك للتدوينة استيقظت الفتاة من جديد ودبت فيها الروح وهتفت في أذني: وسيم ..المبدعة الأولى مرت من هنا..فشكرا لتسنيم على كلماتك المحفزة!

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

    تمنياتي لكما بإبداع دائم أيتها العزيزتان!

  3. لما قرت موضوع المقال حبيت اقراة فالمتحكمات هي اروع ما تعلمتة في الجامعة
    ولكن اكثر ما اعجبني بداية القصة كانت رائعة

  4. microcontroller أكيد سمعنا عنها كتير ..
    بكل محاضرات الهاردوير.. كنّا لازم نطرّق لهذه الكلمة..!

    بس بهذه التفاصيل .. أول مرة بسمع فيها..
    وقريباً رح أشتري وأجرب 🙂

    الله يجزيك الخير أفدت الجميع بهذه المعلومات المميزة ..

    كل الشكر والتقدير.

    سؤال : من ضمن اللغات التي نبرمج بها .. هل ذكرت لنا بعض هذه اللغات .. “لغات الآلة ؟؟
    وهل يستخدم الماتلب لهذه المهمة؟

  5. ماشاء الله..فتاة النهضة هبة علي هنا أيضا!
    شكرا لكلماتك المحفزة وأتمنى أن تستفيدي دائما من هذه التدوينات.

    جوابا لسؤالك الأول هبة: على سبيل المثال، المتحكمPIC من شركة Microchip يمكن برمجته باستخدام لغة بيزك أو لغة C أو Pascal. ولاستخدام أي واحدة من هذه اللغات فلابد من استخدام Compiler خاص لكل لغة على حدة. وتفضلي هذا الرابط وبه تلك البرامج الخاصة:
    http://www.mikroe.com/eng/categories/view/10/pic-compilers/
    الشق الثاني من السؤال: هل يمكن استخدام MATLAB لهذه المهمة؟
    بالتأكيد ممكن هبة! لكنه ليس واسع الانتشار على حد علمي البسيط. وإليك هذين الرابطين لمشاريع بهذا الخصوص:
    http://www.instructables.com/id/MATLAB-to-PIC-serial-interface/

    http://www.crazyengineers.com/forum/electrical-electronics-engineering/8719-matlab-pic-serial-communication.html

    حظا موفقا هبة، وبانتظار سماع أخبار شرائك لعدة برمجة المتحكمات.

  6. أشكرك أخي على الروابط , وهي بحوزتي الآن ,,, وسأقرئ ما ورد بها..

    بإذن الله قريباً , وإن واجهتنا بعض الأسئلة سنلجئ إليك 🙂

    زادك الله علماً ..

    كلما تعلمت إزدت علماً بجهلي 🙂

اترك ردا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *