06 · TK-101 · المشاريع
مختبر تواصل الحاسوب: التحكم بـ Arduino من برامج VB.NET عبر المنفذ التسلسلي
تجارب سنة كاملة تربط برنامج Windows مكتوب بـ VB.NET بلوحة Arduino عبر المنفذ التسلسلي: تشغيل خمسة مصابيح ومحرك DC، تدوير محرك سيرفو بشريط تمرير، وقراءة مقاومة متغيرة وحساس ضوء وحساس مسافة بالموجات فوق الصوتية وعرضها على الشاشة.

المشكلة
الحاسوب يعرض ويقرر، والمتحكم الدقيق يقرأ الحساسات ويشغّل الأحمال. الربط بينهما هو أساس أي واجهة تشغيل (HMI)، والمختبر يبني هذا الربط خطوة خطوة: من أمر بحرف واحد إلى قراءة حساس حية على الشاشة.
الحل وطريقة العمل
كل تجربة لها جانبان: برنامج Arduino، ونموذج Windows Forms بـ VB.NET يستخدم System.IO.Ports.SerialPort بسرعة 9600:
- اختيار المنفذ: قائمة تُملأ من
SerialPort.GetPortNamesعند فتحها، وزر Connect/Disconnect يفتح المنفذ ويشغّل مؤقتاً للقراءة. - الإخراج: خمسة مصابيح بأزرار تتبدل بين الأحمر والأخضر وترسل أوامر مثل
11و10(رقم المصباح ثم الحالة)، ومحرك DC بأمري1و2، وسيرفو يأخذ زاويته منTrackBar. - الإدخال: المقاومة المتغيرة وحساس الضوء LDR يُقرآن بـ
analogRead، وحساس HC-SR04 يحسب المسافة من زمن الصدىpulseIn / 57. القيمة تصل إلى البرنامج فيغيّر لون الحقل حسب مدى القيمة، أو يحرك صورة على الشاشة بمقدار المسافة.
التنفيذ والتحديات
التحدي الأساسي هو أن البيانات تصل متقطعة: ReadExisting قد يعيد جزءاً من رقم، فيجب التحقق بـ IsNumeric أو Integer.TryParse قبل استخدامه. وفي مهام الامتحان قُسم مدى القراءة (0 إلى 1023) إلى أربعة نطاقات لكل منها لون. هذه تجارب مختبر جامعي على لوحة Arduino UNO.
المهارات المكتسبة
الاتصال التسلسلي بين الحاسوب والمتحكم، برمجة Windows Forms بـ VB.NET، قراءة الحساسات التناظرية والرقمية على Arduino، التحكم بالسيرفو ومحرك DC، وتصميم بروتوكول أوامر بسيط.