شرح فكرة المشروع
في هذا المشروع نستخدم مستشعر EMG لقراءة إشارات العضلات وربطها مع Unity لصنع تجربة تفاعلية واقعية.
بالسابق كان يتم استخدام مكتبه Serial Port للتواصل مع Arduino، لكن التحديثات الأخيرة في Unity لم تعد تدعمه بشكل مباشر.
لذلك تُعد حزمة Uduino الخيار الأنسب حاليًا، فهي مدعومة، سهلة الربط، ومتوفر منها إصدار مدفوع عبر الرابط التالي كما ان الحزمة تحتوي الى دعم فني وشرح مفصل بعد شرائها ولكن تدعم فقط اصدار يونيتي 2022.1.0b3
أدوات المشروع
- اردوينو اونو R3 مع سلك توصيل Arduino Uno: عدد 1
- أسلاك توصيل من ذكر إلى أنثى 40 دبوس 20 سم wires 40pcs Male to Female
- مستشعر EMG ، مستشعر إشارة العضلات ، EMG ،
مخطط المشروع

الكود البرمجي
أولاً: قسم Arduino
الوظيفة:
- قراءة الإشارة القادمة من مستشعر EMG من المنفذ A0.
- إرسال القيمة إلى Unity عند كل طلب.
⚠️ ملاحظة مهمة:
قبل البدء بالتفاعل، يجب على كل مستخدم قياس الإشارة في حالتين:
- عند استرخاء اليد (دون أي حركة)، وتسجيل القيمة الناتجة.
- عند انقباض العضلة المستهدفة (مثل عضلة لف المعصم أو قبض الإصبع)، وتسجيل القيمة الجديدة.
لا توجد قيمة ثابتة لجميع المستخدمين، ولكن عادةً:
- في حالة الاسترخاء: تتراوح القيم بين 200 إلى 400.
- في حالة الانقباض: قد تصل القيم إلى 500 أو حتى 800.
معلومة إضافية عن الكود:
في كود الأردوينو، يتم تعريف اسم اللوحة بعبارة : Uduino uduino(“board1“); إذا تم تغيير هذا الاسم، يجب تعديله أيضًا في كود Unity ليتطابق، حتى يتمكن النظام من التواصل بشكل صحيح بين الطرفين.
ثانياً: قسم Unity
بعد تحميل مكتبة Udino من متجر Unity، قم بعمل Import لها إلى مشروعك. ثم تابع نفس خطوات الفيديو المرفق لتفعيل الاتصال بين Unity ولوحة Arduino، واستقبال البيانات الحيوية من مستشعر EMG، وربطها بردود فعل تفاعلية داخل اللعبة أو المحاكاة.
💡 شرح وظيفة الكود:
الكود يستقبل إشارات العضلات القادمة من مستشعر EMG , وعندما تتجاوز الإشارة القيمة الحدية (threshold) التي قام المستخدم بتحديدها مسبقاً (بناءً على قياسه لحالة الاسترخاء والانقباض)، يقوم الكود بتحريك الكائن داخل Unity نحو اليسار.
يتم تفعيل الحركة مرة واحدة فقط عند الانقباض، ثم يتم انتظار عودة العضلة إلى حالة الاسترخاء قبل قبول تفاعل جديد.
🛠️ ويمكنك التعديل على الكود بكل سهولة، مثل:
- تغيير اتجاه الحركة (يمين، أعلى، إلخ).
- إضافة مؤثرات صوتية أو ضوئية.
- ضبط حساسية التفاعل لتناسب إشارات عضلات كل مستخدم



