كانت الدارات الالكترونية ثابتة التصميم، مما يعني أن تغيير أو تعديل أي جزء بسيط فيها كان يعني الكثير من العمليات المعقدة مثل اللحام وقطع الأسلاك وإعادة النظر في المخططات الالكترونية والكثير من الأمور المزعجة التي أدت الى اقتصار وظيفة تطوير المنتجات الالكترونية على مجموعة من المهندسين المختصين فقط.
بفضل التطور التكنولوجي في مجال الاتصالات واختراع الدارات المدمجة Integrated Circuits، أصبح من الممكن وضع دارة الكترونية كاملة على شريحة صغيرة قد لا يتجاوز حجمها رأس الدبوس، حتى أنه في الوقت الحالي هناك دارات الكترونية يقدر حجمها بالنانومتر والتي لا يمكن رؤيتها إلا باستخدام مكبرات خاصة.
كما أدى تطور الدارات المدمجة إلى ظهور جيل خاص من الدارات الالكترونية يسمى المتحكمات الدقيقة (Micro Controller)، وهي أشبه بكمبيوتر مصغر قابل للبرمجة لأداء مجموعة من الوظائف، مثل قراءة درجه الحرارة، التحكم في محرك كهربائي أو حتى إدارة خطوط الإنتاج في المصانع الكبرى، وكل ذلك يتم ببساطة عن طريق أوامر برمجية.
وبذلك تحولت تقنية صناعة الدارات والأنظمة الالكترونية من التصميم الالكتروني البحت المعتمد على المكونات الصلبة فقط إلى أوامر برمجية يمكن لأي فرد أن يكتبها بنفسه بسهولة ويسر.
تتميز المتحكمات الدقيقة أيضاً بإمكانية التغيير والتعديل في أي وقت، فبكل بساطة لو أردنا أن نغير شيئاً في مشروع ما يمكن ذلك بالتعديل في السطور البرمجية، وإعادة وضع الأوامر الجديدة على المتحكم الدقيق وتجربتها أكثر من مرة، وهكذا إلى أن نصل إلى الهدف المنشود من المشروع.
🔹 المتحكمات الدقيقة المتحكم الدقيق هو رقاقة متكاملة تحتوي حاسوب صغير محدود الإمكانات وذاكرة وعدد من المداخل والمخارج العامة، وقد يحتوي بعض الملحقات والحساسات (حساس للحرارة مثلاً أو إمكانية التحويل من الرقمي للتماثلي).
توجد المتحكمات الدقيقة في جميع الأجهزة والأشياء من حولنا في حياتنا اليومية ابتداءً من التلفزيونات والغسالات والثلاجات الحديثة إلى السيارات وألعاب الأطفال إلى الحواسيب والمكيفات والمصاعد الكهربائية، بل إلى أبعد من ذلك إلى المصانع المؤتمتة والأقمار الاصطناعية، باختصار أصبحت المتحكمات الدقيقة تدخل في كل الأنظمة الأتوماتيكية والأنظمة شبه الأتوماتيكية.
إن استخدام المتحكم الدقيق يعطي الدارات أو الأنظمة الالكترونية المزيد من المرونة في التعديل والتشغيل، ويقلل من حجم الدارة لأنه يحل محل الكثير من العناصر والدارات مثل البوابات المنطقية والتايمرات وغيره، ويعطينا إمكانية التحكم في أزمان تشغيل وإيقاف العناصر الأخرى بأزمان تصل إلى أجزاء من الثانية، وعندما نريد التعديل على الدارة لسنا مضطرين إلى تغيير التوصيلات بل فقط نقوم بالتعديل على البرمجة.
تعتبر المتحكمات الدقيقة المدير التنفيذي للدوائر والأنظمة الالكترونية الذي يتحكم في كل شيء ويعطي الأوامر لكل العناصر في النظام ويستقبل ويحلل التقارير الواردة من أنظمة المراقبة ويتخذ القرارات بناء على نتائج تحليل هذه التقارير.
تستقبل المتحكمات الدقيقة إشارة رقمية 0 أو 1، أو تماثلية في بعض الأنواع التي تحتوي على محول من تماثلي إلى رقمي وتعطي خرج على شكل إشارة رقمية أيضاً 0 أو 1.
تقوم المتحكمات بتحليل الإشارة الداخلة إليها سواء كانت رقمية أو تماثلية، وبناءً على نتيجة التحليل تقوم باتخاذ قرارات محددة نحددها نحن للمتحكم الدقيق عن طريق البرمجة، ثم يقوم المتحكم بإعطاء هذه القرارات على شكل أوامر لبقية العناصر في النظام في شكل رقمي 0 أو 1.
هناك العديد من لغات البرمجة التي يتم برمجة المتحكمات الدقيقة وفقها أغلبها يعتمد على لغة السي C كأساس، وبعضها يعتمد على الواجهات الرسومية مثل الفلوكود. تمت برمجة المتحكمات الدقيقة قديماً عبر حرق البرنامج في ذاكرة ROM بطرق متخصصة، لكن أغلبها حاليا تحتوي ذواكر Flash يمكن إعادة برمجتها مرات عديدة باستخدام دارات بسيطة، وتتم كتابة البرنامج بلغة الآلة مباشرة عبر ملف HEX وذلك لبساطة معماريتها (RISC) أو بلغة التجميع Assembly وبعضها تدعم لغة C.
🔹 أنواع المتحكمات الدقيقةكما أن هناك أنواع متعددة من المتحكمات الدقيقة من شركات مختلفة وكل شركة لها أكثر من موديل واحد من المتحكمات ومن أشهر الشركات المنتجة للمتحكمات الدقيقة: Toshiba، Intel، Motorola، Microchip التي لديها متحكمات PIC، وAtmega التي لديها متحكمات AVR.
لكل شركة COMPILER خاص بها وأوامر البرمجة الخاصة بها حتى فى اللغة الواحدة، فمثلا لبرمجة متحكمات INTEL باستخدام لغة ASSEMBLY استخدم أوامر مختلفة تماماً عن الأوامر التي استخدمها لبرمجة الـ MICROCHIP، ولغات البرمجة الخاصة ببرمجتها ASSEMBLY ، C، C++، BASIC، FORTRAN.
🔹 تتفاوت المتحكمات الدقيقة فيما بينها:
• بالملحقات المتوفرة فيها ومدى دقتها (مثلاً عدد المؤقتات Timers وكم بت متوفر).
• عدد الأرجل المتاحة للمدخلات والمخرجات العامة (General purpose I/O pins).
• حجم الذاكرة، سواء المتاحة للبرنامج أو للبيانات، وتقاس بالبايت، وإمكانية إعادة الكتابة.
• توفر دارات التحويل بين الرقمي والتناظري وعدد تلك القنوات.
• استهلاك الطاقة، وإمكانية السبات.
• سرعة المعالجة وتردد المعالج، أحياناً يصل إلى 20 MHz، ودقة تلك السرعة، حيث غالباً تحتاج إلى ربطه بكريستالة خارجية.
• دعم طرق الربط مثل I2C بل إن الحديثة منها تدعم USB وغيرها.
🔹 بعض أنواع المتحكمات الدقيقة.
⭕️ الأردوينوالأردوينو كومبيوتر صغير الحجم بإمكانه التفاعل والتحكم في الوسط المحيط به بشكل أفضل من الكومبيوتر المكتبي، وتقنياً هو منصة Platform برمجية مفتوحة المصدر تتكون من متحكم إلكتروني Micro-Controller وبيئة تطويرية تكاملية لكتابة البرمجيات IDE.
يتميز أردوينو عن باقي البوردات التطويرية للمتحكمات الدقيقة الأخرى بمدى سهولة التعامل معها، وبساطة اللغة البرمجية المستخدمة، والتي عمل فريق من ايطاليا على تطويرها منذ عام 2005 حتى الآن.
لغة أردوينو البرمجية هي لغة Processing و لغة C التي تعد أساس لغات البرمجة الحديثة وصاحبة ثورة تقنية البرمجيات.
قد يظن البعض أن أردوينو مصمم للهواة فقط لكن هذا ليس صحيح، حيث تم تطويره لمناسبة جميع المستويات من الهواة وانتهاء بالمشاريع المتطورة، والدليل ميزته الجبارة، التي تجعل أردوينو على قمة المتحكمات الدقيقة، وهي إمكانية دمجه في مشاريع يتم برمجتها بلغات هندسية متطورة مثل Java وMatlab.
حيث تجد مكتبات برمجية جاهزة بلغة الماتلاب خاصة بالتعامل مع أردوينو.
⭕️ ميزات الأردوينو:
يتميز الأردوينو بمجموعة من الأمور التي تصنع الفارق بينه و بين غيره أهمها:
-البساطة: قطعة الأردوينو مصممة لتناسب احتياجات الجميع، محترفين، أساتذة، طلاب وهواة الإلكترونيات التفاعلية.
-الثمـــن: لوح الأردوينو أقل ثمناً مقارنةً مع الألواح الأخرى من نفس النوع.
-التركيب الذاتي (Self-Assembly): يمكنك تحميل ورقة البيانات Datasheet الخاصة بالأردوينو مجاناً من الموقع الرسمي و شراء القطع وتركيبه بنفسك.
– متعدد المنصات: برنامج الأردوينو له القدرة على الاشتغال على الويندوز windows، الماك Mac OS واللينكس Linux، بينما أغلب المتحكمات الالكترونية الأخرى تشتغل فقط على الويندوز فقط.
-بيئة برمجية سهلة وبسيطة: البيئة البرمجية Programming Environment مصممة لتكون سهلة للمبتدئين و ثابتة و قوية للمحترفين.
-Open Source Software: مكتوب بلغة السي ++C و متاح للجميع لتحميله وبإمكان المبرمجين التعديل عليه وفق احتياجاتهم.
-Open Source Hardware: الأردوينو مصنوع أساساً من متحكمات ATMEGA8 وATMEGA168 والمخططات منشورة تحت ترخيص Creative Commons، مما يتيح إلى مصممي الدارات الالكترونية Electronic Circuits تصميم داراتهم الخاصة.
⭕️ أنواع الأردوينو :
يوجد أكثر من 40 نوعاً من ألواح أردوينو Arduino Boards، تختلف في القدرات والشكل والحجم والثمن حتى تتناسب مع جميع الأفكار والتصميمات.
نذكر من أنواعه:
– الأردوينو أونو Arduino uno الذي يعد أفضل اختيار للمبتدئين من أجل اكتشاف عالم الأردوينو، فهو بسيط وسهل الاستعمال ويتناسب مع أغلب الإضافات Extensions والدروع Shields.
– الأردوينو نانو Arduino nano يمتلك تقريباً نفس قدرات Arduino Uno، لكن حجمه أصغر بحوالي الثلث.
– أردوينو ميغا Arduino megaيتميز بأنه يملك أكبر ذاكرة بين قطع Arduino الأخرى وعدد أكبر من المداخل والمخارج Input/Output، يعتبر أفضل وأكبر Arduino يمكن الحصول عليه، وأيضاً الأغلى سعراً بين باقي القطع
⭕️ برمجة الأردوينو يمكن برمجة الأردوينو بعدة لغات برمجية، لعل أبرزها لغة Arduino C، وهي اللغة التي اخترناها لبرمجة تطبيقنا هذا.
تم اشتقاق لغة أردوينو البرمجيّة من لغة proccessing ولغة C والتي تعد أساس لغات البرمجة الحديثة لتكون لغة Arduino C هي اللغة المستخدمة.
تتميز لغة البرمجة بسهولة كتابتها وهي open source بالتالي يسهل إيجاد مراجع لتطبيقاتها، وهذا ما يجعلها الأكثر تداولاً بين مستخدمي الأردوينو وتسمح هذه اللغة بتشكيل اتصال مع المتحكمات الأخرى بالبروتوكولات الشهيرة مثل USART, SPI, I2C وغيرها.
إعداد المهندسة آية عبدالعال