في هذا الدرس العملي، ستتعلم خطوة بخطوة كيفية بناء ذراع روبوتية بست درجات حرية يمكنك صنعها بنفسك مع إمكانية التحكم الكامل بالهواتف الذكية عبر البلوتوث من الصفر. يأخذ هذا المشروع ذراع روبوتية يتم التحكم فيها بواسطة مقياس الجهد تم تطوير هذا الإصدار من الإصدار السابق مع إضافة ميزة الاتصال اللاسلكي عبر البلوتوث. بدلاً من تدوير المقابض التقليدية، ستتمكن من التحكم في جميع المفاصل الستة مباشرةً من خلال تطبيق مخصص لنظام أندرويد على هاتفك.
على وجه التحديد، يجمع النظام الكامل بين أجزاء ميكانيكية مطبوعة بتقنية الطباعة ثلاثية الأبعاد، ولوحة أردوينو أونو، ومحرك سيرفو PCA9685، ووحدة بلوتوث HC-05، وتطبيق مخصص من MIT App Inventor. ونتيجة لذلك، تكون النتيجة نظامًا لاسلكيًا بالكامل. ذراع روبوتية يتم التحكم فيها عبر البلوتوث بإمكانها حفظ وإعادة تشغيل وتكرار تسلسلات الحركة، مما يمنحك بشكل أساسي ذراع روبوت قابلة للبرمجة يمكنك تشغيلها من أريكتك.
Whether you are a hobbyist, an engineering student, or a maker looking for an ambitious weekend project, this guide walks you through every detail: CAD design, 3D printing, assembly, electronics wiring, Arduino programming, Bluetooth setup, and mobile app development. Furthermore, all source code, STL files, and the app are available for download on our مستودع GitHub. You can also get the STL files from Cults3D أو من خلالنا متجر أومارترونيكس.
ما ستتعلمه في مشروع ذراع روبوتية بست درجات حرية يمكنك صنعها بنفسك
في نهاية هذا البرنامج التعليمي، ستكتسب خبرة عملية في العديد من التخصصات الأساسية في مجال الميكاترونيك والروبوتات. ستتعلم تحديدًا كيفية تصميم أجزاء روبوتية بارامترية باستخدام برنامج Autodesk Inventor، وطباعة مكونات هيكلية ثلاثية الأبعاد بدقة عالية في تركيب المحركات المؤازرة، وتوصيل لوحة أردوينو بمحرك مؤازر PCA9685 ووحدة بلوتوث HC-05، وكتابة كود أردوينو لمعالجة أوامر البلوتوث في الوقت الفعلي مع استيفاء سلس للمحركات المؤازرة، وبناء تطبيق أندرويد كامل الوظائف باستخدام MIT App Inventor، ومعايرة ذراع روبوت سداسي المحاور لحركة دقيقة ومتكررة.
ما هو الذراع الروبوتي ذو 6 درجات حرية؟
باختصار، يشير مصطلح DOF إلى درجات الحرية، وهو يحدد عدد المحاور المستقلة التي يمكن للروبوت التحرك عليها. ذراع روبوتية بست درجات حرية يحتوي هذا الروبوت على ستة مفاصل تعمل بمحركات مؤازرة: خمسة محاور دورانية تتحكم في وضعية الذراع، بالإضافة إلى مفصل ماسك يفتح ويغلق الطرف المؤثر. بعبارة أخرى، تمنح المحاور الخمسة (دوران القاعدة، والكتف، والمرفق، وانحناء المعصم، ودوران المعصم) الذراع قدرة على تحديد الموضع والاتجاه بخمس درجات حرية، بينما يشغل المفصل السادس الماسك للإمساك بالأشياء. في تصميمنا، تُشغل ثلاثة محركات مؤازرة عالية العزم من طراز MG996R مفاصل القاعدة والكتف والمرفق، بينما تتولى ثلاثة محركات مؤازرة دقيقة من طراز SG90 التحكم في انحناء المعصم ودورانه والماسك. ونتيجة لذلك، يوفر هذا المزيج عزم دوران كافيًا للمفاصل الثقيلة ودقة كافية لحركات الطرف المؤثر الخفيفة.
للحصول على مقدمة أكثر تفصيلاً حول كيفية عمل محركات السيرفو وكيفية التحكم بها باستخدام أردوينو، راجع قسمنا دليل التحكم في محرك المؤازرة.
ذراع روبوتية بست درجات حرية يمكنك صنعها بنفسك: نظرة عامة على المشروع وبنية النظام
يتألف هذا المشروع من خمس مراحل رئيسية: التصميم الميكانيكي، والطباعة ثلاثية الأبعاد، والتجميع، وتوصيل الدوائر الإلكترونية مع دمج تقنية البلوتوث، وتطوير البرمجيات لكل من أردوينو وتطبيق الهاتف الذكي. يرتكز تصميم النظام على أردوينو أونو كوحدة تحكم رئيسية، حيث يتواصل مع مشغل سيرفو PCA9685 عبر بروتوكول I2C لتوليد ست إشارات PWM مستقلة، ويستقبل أوامر الحركة لاسلكيًا من هاتف أندرويد عبر وحدة بلوتوث HC-05 باستخدام الاتصال التسلسلي.
من ناحية التطبيق، يوفر برنامج MIT App Inventor بيئة سهلة الاستخدام لإنشاء واجهة الهاتف الذكي عبر خاصية السحب والإفلات. يرسل التطبيق أوامر نصية بسيطة عبر البلوتوث: قيم أشرطة التمرير للتحكم في المفاصل في الوقت الفعلي، بالإضافة إلى أوامر مخصصة لحفظ الوضعيات، وتشغيل التسلسلات، وإيقاف التشغيل، وإعادة ضبط الذاكرة، وتفعيل/إلغاء وضع التكرار. بعد ذلك، يقوم برنامج Arduino الثابت بتحليل كل أمر وارد، وربطه بقناة المؤازرة الصحيحة، وتنفيذ حركات سلسة ومتدرجة لتجنب الحركة المتقطعة.
قائمة كاملة بالمكونات اللازمة لصنع ذراع روبوتية بست درجات حرية
قبل البدء بالبناء، اجمع جميع المكونات المدرجة في الجدول أدناه. وبالتالي، فإن وجود جميع الأجزاء في متناول اليد يمنع التوقفات المحبطة أثناء البناء. بالإضافة إلى الأجزاء من بناء سابق يتم التحكم فيه بواسطة مقياس الجهد, ، يضيف هذا التحديث الخاص بتقنية البلوتوث وحدة HC-05 ويزيل مقاييس الجهد الستة حيث يتم التحكم الآن لاسلكيًا من خلال التطبيق.
ذراع روبوتية بست درجات حرية (اصنعها بنفسك): قائمة الأجزاء والمكونات
| غرض | كمية | جزء | وصف |
|---|---|---|---|
| 1 | 1 | الأساس_1 | باختصار، المنصة الأساسية |
| 2 | 1 | base_link_upper1 | وبالمثل، القسم السفلي العلوي |
| 3 | 1 | arm_link_1 | وبالتحديد، وصلة الذراع الأولى |
| 4 | 1 | arm_link_2 | وبالمثل، وصلة الذراع الثانية |
| 5 | 1 | arm_link_3 | وبالمثل، وصلة الذراع الثالثة |
| 6 | 1 | قاعدة المقبض | قاعدة ماسكة |
| 7 | 1 | Gripper_2 | إصبع ماسك |
| 8 | 1 | جير_رايت | معدات التثبيت (يمين) |
| 9 | 1 | الترس الأيسر | معدات التثبيت (يسار) |
| 10 | 1 | ماسك | مجموعة الماسك |
| 11 | 4 | وصلة | أجزاء وصلة الماسك |
| 12 | 2 | فاصل | فواصل التثبيت |
| 13 | 3 | محرك سيرفو MG996R | باختصار، محرك سيرفو عالي العزم (القاعدة، الكتف، الكوع) |
| 14 | 3 | محرك سيرفو صغير SG90 | وبالمثل، محرك سيرفو صغير (معصم، ماسك) |
| 15 | 14 | ANSI B18.6.4 رقم 2-32 3/8 بوصة | وبالتحديد، برغي رأس العارضة، رقم 2-32 |
| 16 | 2 | ANSI B18.6.4 رقم 2-32 1/4 بوصة | وبالمثل، برغي رأس العارضة، رقم 2-32 |
| 17 | 3 | DIN 7985 M1.6×2-Z | على وجه التحديد، برغي متقاطع M1.6×2 |
| 18 | 7 | ISO 4762 M3x16 (AS 1420) | وبالمثل، برغي ذو رأس سداسي M3x16 |
| 19 | 12 | ISO 4032 M3 (AS 1112) | باختصار، صامولة سداسية M3 |
| 20 | 2 | ANSI B18.6.4 رقم 2-32 1/2 بوصة | وبالمثل، برغي رأس العارضة، رقم 2-32 |
| 21 | 3 | بوق MG955 | وبالتحديد، بوق لبندقية MG996R |
| 22 | 3 | DIN 7985 M3x6-Z | وبالمثل، برغي متقاطع M3x6 |
| 23 | 3 | ذراع سيرفو SG90 | باختصار، بوق لـ SG90 |
| 24 | 2 | ANSI B18.6.4 رقم 2-32 3/8 بوصة | وبالمثل، برغي رأس العارضة، رقم 2-32 |
| 25 | 12 | ANSI B18.6.4 رقم 3-28 1/2 بوصة | وبالمثل، مسمار رأس العارضة، رقم 3-28 |
| 26 | 1 | محمل كروي 6806ZZ (30x42x7) | وبالتحديد، محمل ذو أخدود عميق (30x42x7) |
| 27 | 1 | أردوينو أونو أو ميجا | باختصار، وحدة التحكم الرئيسية |
| 28 | 1 | لوحة تشغيل المؤازرة PCA9685 | وبالتحديد، مشغل PWM ذو 16 قناة (I2C) |
| 29 | 6 | وحدة بلوتوث HC-05 | باختصار، مقبض تحكم تناظري لكل محرك سيرفو |
| 30 | 1 | لوح التجارب | وبالمثل، قاعدة توصيل لمقاييس الجهد |
| 31 | 1 | مزود طاقة 5 فولت 10 أمبير | والأهم من ذلك، مصدر طاقة المؤازرة |
| 32 | 1 | أسلاك توصيل (ذكر-ذكر) | على وجه التحديد، توصيلات أردوينو بـ PCA9685 |
| 33 | 1 | أسلاك توصيل (ذكر-أنثى) | وبالمثل، توصيلات مقياس الجهد بلوحة أردوينو |
| 34 | 1 | لوح خشبي | بشكل أساسي، منصة تثبيت الذراع |
التصميم الميكانيكي لذراع روبوتية بست درجات حرية (DIY) باستخدام برنامج Autodesk Inventor
أولاً، تتضمن هذه المرحلة تصميم كل مكون باستخدام برنامج Autodesk Inventor. يتيح لك هذا البرنامج البارامتري للتصميم بمساعدة الحاسوب (CAD) تحديد الأبعاد بدقة، وإضافة حواف مشطوفة لتعزيز المتانة الهيكلية، والتحقق من التوافق بين الأجزاء المتداخلة قبل طباعة أي كمية من خيوط الطباعة. إذا كنت جديدًا على برنامج Inventor أو الطباعة ثلاثية الأبعاد، فراجع دليلنا. مقدمة في الطباعة ثلاثية الأبعاد والتصميم ثلاثي الأبعاد باستخدام برنامج Inventor قبل البدء.
بشكل أساسي، يتحكم نوعان من المحركات المؤازرة في قيود التصميم. تتميز محركات SG90 الصغيرة بحجمها الصغير (23 مم × 12 مم × 29 مم)، مما يجعلها مثالية لمفاصل المعصم والقبضة الخفيفة. في المقابل، توفر محركات MG996R عزم دوران يصل إلى 11 كجم-سم باستخدام تروس معدنية، مما يجعلها الخيار الأمثل لمفاصل القاعدة والكتف والمرفق التي تتحمل وزن الذراع بالكامل. ونتيجة لذلك، تم تصميم كل جيب تثبيت ونقطة تثبيت ذراع التوجيه ومقعد المحمل لتتوافق تمامًا مع أبعاد بيانات هاتين المجموعتين من المحركات المؤازرة.
وبناءً على ذلك، يُظهر الرسم الفني أدناه جميع أبعاد الأجزاء، والمقاطع العرضية، وعلاقات التجميع. استخدمه كمرجع عند التحقق من دقة الطباعة بعد إزالة كل جزء من سطح الطباعة.

طباعة مكونات ذراع روبوتية بست درجات حرية بتقنية الطباعة ثلاثية الأبعاد
بعد تصدير ملفات STL من برنامج Inventor، حان وقت تشغيل الطابعة ثلاثية الأبعاد. يُنصح باستخدام خيوط PLA لهذا المشروع لسهولة طباعتها ودقتها العالية في الأبعاد. تحديدًا، استخدم ارتفاع طبقة 0.2 مم وكثافة تعبئة لا تقل عن 40% للأجزاء الهيكلية مثل القاعدة ووصلات الذراع. أما الأجزاء الرقيقة غير الهيكلية، مثل تروس الماسك، فيمكن استخدام كثافة تعبئة 20% لتوفير المواد وتقليل وقت الطباعة.
انتبه جيدًا لتجاويف تثبيت المحركات المؤازرة. يجب أن تكون دقيقة الأبعاد لضمان تثبيت المحركات بإحكام دون اهتزاز. بعد الطباعة، قم بإجراء معالجة بسيطة: أزل مواد الدعم، وصنفر الأسطح المتلامسة بورق صنفرة ذي حبيبات 220، وجرّب تركيب كل محرك مؤازر قبل الانتقال إلى التجميع. إذا كان أحد التجاويف ضيقًا جدًا، فمن الأفضل تمريره سريعًا بسكين هوايات أو مبرد إبرة بدلًا من إعادة الطباعة.


اختيار محرك سيرفو: SG90 مقابل MG996R لذراع روبوتية سداسية المحاور يمكنك صنعها بنفسك
في النهاية، يُعد اختيار المحرك المؤازر المناسب لكل مفصل أمرًا بالغ الأهمية. تتحمل المفاصل الثلاثة السفلية (القاعدة، الكتف، الكوع) كامل وزن كل ما يعلوها، لذا فهي تحتاج إلى عزم دوران MG996R البالغ 11 كجم-سم ونظام تروس معدني. أما المفاصل الثلاثة العلوية (مفصل الرسغ، مفصل الرسغ الدوراني، الملقط) فتتحمل حملاً خفيفًا جدًا، لذا فإن المحرك SG90 خفيف الوزن بعزم دوران 1.8 كجم-سم كافٍ تمامًا مع الحفاظ على خفة حركة نهاية الذراع واستجابتها السريعة.
علاوة على ذلك، يقبل كلا المحركين إشارات PWM القياسية بتردد 50 هرتز، ويتم توصيلهما مباشرةً بمنافذ التوصيل ثلاثية الأطراف في لوحة PCA9685. يكمن الاختلاف الرئيسي في التوصيل في استهلاك التيار: إذ يمكن لمحرك MG996R الواحد أن يسحب ما يصل إلى 900 مللي أمبير تحت الحمل، بينما يسحب محرك SG90 حوالي 200 مللي أمبير. عند تشغيل ستة محركات في وقت واحد، قد يتجاوز التيار الذروي 3 أمبير، ولذلك يُعدّ استخدام مصدر طاقة خارجي 5 فولت 10 أمبير ضروريًا. لا تحاول أبدًا تشغيل ستة محركات من منفذ 5 فولت في لوحة أردوينو.
تجميع ذراع روبوتية بست درجات حرية خطوة بخطوة
بعد طباعة جميع الأجزاء وتجربتها، يمكنك البدء بالتجميع العملي. لذا، ابدأ من القاعدة صعودًا، واختبر كل مفصل للتأكد من سهولة دورانه قبل الانتقال إلى الخطوة التالية. تأنَّ في ربط البراغي، لأن الإفراط في شدها في البلاستيك المطبوع ثلاثي الأبعاد قد يُتلف السنون.

الخطوة 1: تجميع قاعدة الذراع الروبوتية ذات 6 درجات حرية التي يمكنك صنعها بنفسك
قبل كل شيء، تُعدّ القاعدة أساس الذراع بأكمله، لذا فإن الدقة فيها بالغة الأهمية. ابدأ بتثبيت محرك MG996R المؤازر الأول في قاعدة التثبيت باستخدام البراغي المرفقة. يوفر هذا المحرك حركة دوران كاملة للقاعدة بزاوية 180 درجة. بعد ذلك، اضغط على محمل الكرات ذي الأخدود العميق (6806ZZ، 30 × 42 × 7 مم) لتثبيته في مكانه على القاعدة. يقع المحمل بين لوحة القاعدة الثابتة والمنصة العلوية الدوارة، مما يقلل الاحتكاك ويطيل عمر المفصل. أخيرًا، ثبّت ذراع المحرك المؤازر على المنصة العلوية الدوارة باستخدام براغي ذاتية الثقب M2x12. ينقل هذا الذراع كل قوة الدوران من محرك القاعدة المؤازر إلى باقي أجزاء الذراع فوقه.



الخطوة الثانية: تركيب أذرع المؤازرة على وصلات ذراع الروبوت
بعد ذلك، قم بمحاذاة كل ذراع من أذرع المؤازرة مع نقطة تثبيت وصلة الذراع المقابلة له، ثم ثبّته بمسمارين لكل ذراع. تأكد تحديدًا من محاذاة الثقوب بدقة، لأن عدم محاذاة الذراع يؤدي إلى احتكاك وحركة غير منتظمة. تحقق جيدًا من كل وصلة قبل إحكام ربطها بالكامل.

الخطوة 3: تركيب محركات المؤازرة على وصلات الذراع
بعد ذلك، ضع كل محرك سيرفو في مكانه المخصص له والمطبوع بتقنية الطباعة ثلاثية الأبعاد على وصلة الذراع، مع التأكد من التوجيه الصحيح. ثبّت المحرك بمسمارين لكل محرك، واختبر ثباته بالضغط عليه برفق. من المهم جدًا ألا يتحرك محرك السيرفو أو يهتز إطلاقًا. في الواقع، يُعد تثبيت المحرك بشكل متين أمرًا أساسيًا لحركات دقيقة ومتكررة.

الخطوة الرابعة: توصيل وصلات ذراع الروبوت معًا
بعد ذلك، قم بتوصيل أجزاء الوصلات والمحركات المؤازرة معًا. ضع ذراع التحكم على إحدى الوصلات بحيث ينزلق في نقطة تثبيت الوصلة التالية، ثم ثبّته بالبراغي. اربط البراغي بالتساوي للحفاظ على التماسك الهيكلي وسلاسة حركة المفاصل في جميع أنحاء الذراع.

الخطوة 5: تجميع الماسك
بعد ذلك، قم بتثبيت مجموعة الماسك الفرعية على وصلة نهاية الذراع. يستخدم الماسك محرك سيرفو صغير SG90 مع زوج من التروس المطبوعة ثلاثية الأبعاد لفتح وإغلاق الأصابع. استخدم براغي M3x20 لمفاصل الماسك، وتأكد من أن الأصابع تتحرك بحرية تامة دون أي احتكاك قبل إتمام التركيب.

الخطوة السادسة: تركيب الذراع الروبوتية ذات الست درجات حرية على قاعدة خشبية
أخيرًا، ثبّت الذراع المُجمّع بالكامل على لوح خشبي مسطح باستخدام براغي ذاتية الثقب M3x12. وبذلك، تمنع القاعدة الصلبة الذراع من الانقلاب أثناء الحركات السريعة، وتوفر منصة ملائمة لتركيب لوحة التجارب، ولوحة أردوينو، ومصدر الطاقة.

توصيلات إلكترونية لذراع روبوتية بست درجات حرية قابلة للتركيب الذاتي مع تقنية بلوتوث
بعد اكتمال التركيب الميكانيكي، يحين وقت توصيل الدوائر الإلكترونية. تحديدًا، يضيف الإصدار الذي يعمل بتقنية البلوتوث وحدة HC-05 إلى النظام، بينما يُستغنى عن المقاومات المتغيرة الستة الموجودة في التصميم الأصلي. يتكون نظام التحكم الآن من أربعة عناصر رئيسية: وحدة التحكم الدقيقة أردوينو أونو، ومحرك سيرفو PCA9685 لتوليد إشارات PWM، ووحدة بلوتوث HC-05 للاتصال اللاسلكي، ومصدر طاقة خارجي 5 فولت 10 أمبير لتشغيل محركات السيرفو.
جدول توصيلات الأسلاك: أردوينو إلى PCA9685
| دبوس أردوينو | دبوس PCA9685 | وظيفة |
|---|---|---|
| 5 فولت | VCC | باختصار، طاقة منطقية لشريحة PCA9685 |
| أرضي | أرضي | على وجه التحديد، أرضية مشتركة |
| A4 (SDA) | السبتيين | وبالمثل، خط بيانات i2C |
| A5 (SCL) | SCL | وبالمثل، خط ساعة i2C |
جدول توصيلات الأسلاك: أردوينو إلى وحدة بلوتوث HC-05
| دبوس أردوينو | دبوس HC-05 | وظيفة |
|---|---|---|
| الدبوس 10 (SoftwareSerial RX) | تكساس | يستقبل البيانات بشكل أساسي من البلوتوث |
| الدبوس 11 (برنامج الإرسال التسلسلي) | RX (عبر مقسم الجهد) | وبشكلٍ أدق، يرسل البيانات إلى البلوتوث |
| 5 فولت | VCC | وبالمثل، يقوم بتشغيل وحدة HC-05 |
| أرضي | أرضي | وبالمثل، أرضية مشتركة |
توصيلات الطاقة المؤازرة وPCA9685
بعد ذلك، قم بتوصيل موصل كل محرك سيرفو ثلاثي الأطراف بالقنوات من 0 إلى 5 على لوحة PCA9685. تأكد من محاذاة سلك التأريض (بني أو أسود) مع الصف السفلي من الموصلات. ثم قم بتوصيل مصدر الطاقة الخارجي 5 فولت 10 أمبير بطرفي التوصيل V+ وGND على لوحة PCA9685. ونتيجة لذلك، يحافظ مسار الطاقة المخصص لمحركات السيرفو على فصل أحمال التيار العالي لمحركات السيرفو تمامًا عن الأردوينو، مما يمنع انخفاض الجهد المفاجئ والسلوك غير المنتظم.

فهم محرك سيرفو PCA9685 لذراع الروبوت سداسي المحاور الذي يتم تصنيعه ذاتيًا
لماذا لا يتم تشغيل المحركات المؤازرة مباشرةً من الأردوينو؟ يمكنك فعل ذلك مع محرك أو اثنين، لكن الأمر يصبح محدودًا بسرعة مع ستة محركات. يحتوي أردوينو أونو على ستة منافذ فقط تدعم تعديل عرض النبضة (PWM)، وقد تتعارض مكتبة Servo المدمجة مع الميزات التي تعتمد على المؤقت، مثل وظيفة tone()، أو بعض بروتوكولات الاتصال. يحل PCA9685 هذه المشكلة عن طريق نقل جميع عمليات توليد PWM إلى شريحة I2C مخصصة. يستخدم سلكين فقط (SDA وSCL) بغض النظر عن عدد المحركات المؤازرة التي تتحكم بها، ويتعامل مع 16 قناة لكل لوحة، ويمكنك توصيل ما يصل إلى 62 لوحة على التوالي للحصول على 992 محركًا مؤازرًا نظريًا.
مرجع توصيلات PCA9685
أولًا، GND هو الأرضي المشترك مع الأردوينو. OE (تمكين الإخراج) يعمل عند انخفاض الجهد، ويجب تركه غير موصول للحفاظ على تفعيل جميع المخارج افتراضيًا. SCL وSDA هما خطي الساعة والبيانات لبروتوكول I2C. يوفر VCC طاقة منطقية بجهد يتراوح بين 3.3 و5 فولت، لتشغيل شريحة PCA9685 فقط، وليس المحركات المؤازرة. V+ هو خط طاقة المحركات المؤازرة، ويستقبل جهدًا يصل إلى 6 فولت من مصدر الطاقة الخارجي عبر طرف التوصيل اللولبي المستقطب. تحتوي كل قناة على موصل ثلاثي الأطراف يقبل موصل محرك مؤازر قياسي مباشرةً.

اتصال بلوتوث مع وحدة HC-05
باختصار، وحدة HC-05 هي وحدة بلوتوث تسلسلية تُنشئ منفذًا تسلسليًا لاسلكيًا بين هاتف أندرويد ولوحة أردوينو. تعمل الوحدة بجهد 3.3 فولت، لذا يتطلب خط الإرسال (TX) من أردوينو (5 فولت) إلى طرف الاستقبال (RX) في HC-05 مُقسِّم جهد بسيطًا باستخدام مقاومتين (1 كيلو أوم و2 كيلو أوم). أما توصيل خط الإرسال (TX) من HC-05 بطرف الاستقبال (RX) في أردوينو فلا يحتاج إلى مُقسِّم جهد، لأن 3.3 فولت كافية لتسجيل أردوينو كإشارة منطقية عالية (HIGH).
في كود أردوينو تحديدًا، نستخدم مكتبة SoftwareSerial على المنفذين 10 و11 بدلًا من منافذ التسلسل المادية (0 و1). هذا يُبقي منفذ التسلسل المادي متاحًا للتصحيح عبر شاشة مراقبة التسلسل، بينما يعمل اتصال البلوتوث على قناة مخصصة له. يتم ضبط HC-05 افتراضيًا على 9600 باود، وهو ما يتوافق مع إعدادات SoftwareSerial لدينا. للاطلاع على دليل كامل حول إعداد HC-05 وأوامر AT، راجع شرح استخدام وحدة بلوتوث HC-05.
برمجة أردوينو لذراع روبوتية بست درجات حرية يمكنك صنعها بنفسك مع بلوتوث
في النهاية، برنامج أردوينو هو العقل المدبر لهذا ذراع روبوتية بست درجات حرية يمكنك صنعها بنفسك. يتولى هذا البرنامج معالجة اتصالات البلوتوث، وتحليل الأوامر، والتحكم في المحركات المؤازرة بسلاسة، وحفظ الوضعيات، وتشغيل التسلسلات، والتحكم في الحلقات. فيما يلي الكود المصدري الكامل متبوعًا بشرح مفصل لكل قسم.
شفرة المصدر الكاملة لـ Arduino لذراع الروبوت بتقنية Bluetooth
قم بتحميل البرنامج التالي إلى لوحة أردوينو أونو أو ميجا. تأكد من تثبيت مكتبة Adafruit PWM Servo Driver، ومكتبة Wire، ومكتبة SoftwareSerial عبر مدير مكتبات أردوينو قبل التجميع. يتوفر الكود وجميع ملفات المشروع أيضًا على... مستودع GitHub.
رسم تخطيطي كامل لأردوينو
#include #include #include // أولًا، الثوابت والتعريفات const int numServos = 6; const int maxConfigurations = 10; const int stepDelay = 10; const int stepSize = 1; // قنوات المؤازرة على PCA9685 const int servoChannels[numServos] = {0, 4, 8, 9, 12, 13}; // ثم، هياكل التخزين int savedConfigurations[maxConfigurations][numServos]; int currentServoPositions[numServos] = {375, 375, 375, 375, 375, 375}; int configCount = 0; bool isPlaying = false; bool loopPlayback = false; bool stopPlaying = false; int currentPoseIndex = 0; bool initialized = false; Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); SoftwareSerial BTSerial(10, 11); // أولاً، تهيئة الإعداد void setup() { Serial.begin(9600); BTSerial.begin(9600); pwm.begin(); pwm.setPWMFreq(60); for (int i = 0; i < numServos; i++) { pwm.setPWM(servoChannels[i], 0, currentServoPositions[i]); } initialized = true; Serial.println("تم بدء تشغيل وحدة تحكم سيرفو البلوتوث. جارٍ انتظار الأوامر..."); } // ثم، الحلقة الرئيسية void loop() { if (BTSerial.available()) { String input = BTSerial.readStringUntil('n'); input.trim(); Serial.println("تم استلام البيانات: " + input); إذا كان الإدخال يساوي "S" (بغض النظر عن حالة الأحرف)، فسيتم حفظ الوضعية الحالية. وإذا كان يساوي "P" (بغض النظر عن حالة الأحرف)، فسيتم بدء تشغيل الوضعيات. وإذا كان يساوي "R" (بغض النظر عن حالة الأحرف)، فسيتم إعادة ضبط الوضعيات. وإذا كان يساوي "St" (بغض النظر عن حالة الأحرف)، فسيتم إيقاف تشغيل الوضعيات. وإذا كان يساوي "LoopON" (بغض النظر عن حالة الأحرف)، فسيتم تعيين loopPlayback إلى true وطباعة "تم تفعيل التشغيل المتكرر". وإذا كان يساوي "LoopOFF" (بغض النظر عن حالة الأحرف)، فسيتم تعيين loopPlayback إلى false وطباعة "تم تعطيل التشغيل المتكرر". وإذا كان الإدخال يحتوي على فاصلة (,)، فسيتم معالجة القيمة الأخيرة. } else { Serial.println("أمر غير معروف: " + input); } } if (isPlaying && !stopPlaying) { if (loopPlayback) { playPosesInLoop(); } else { playNextPose(); } } }
وظائف التحكم في المؤازرة ومعالجة الأوامر
// أولاً، معالجة أوامر المؤازرة void processLastValue(String command) { int lastCommaIndex = command.lastIndexOf(','); if (lastCommaIndex > 0 && lastCommaIndex < command.length() - 1) { int servoIndex = command.substring(0, lastCommaIndex).toInt() - 1; float lastValue = command.substring(lastCommaIndex + 1).toFloat(); int targetPos = (int)lastValue; int targetPwmValue = map(targetPos, 0, 180, 150, 600); moveToPositionSmoothly(servoIndex, targetPwmValue); } else { Serial.println("أمر غير صالح للتحكم في المؤازرة: " + command); } } // ثم، دالة الحركة السلسة void moveToPositionSmoothly(int servoIndex, int targetPwmValue) { int currentPwmValue = currentServoPositions[servoIndex]; if (targetPwmValue > currentPwmValue) { for (int pos = currentPwmValue; pos <= targetPwmValue; pos += stepSize) { pwm.setPWM(servoChannels[servoIndex], 0, pos); delay(stepDelay); } } else { for (int pos = currentPwmValue; pos >= targetPwmValue; pos -= stepSize) { pwm.setPWM(servoChannels[servoIndex], 0, pos); delay(stepDelay); } } currentServoPositions[servoIndex] = targetPwmValue; Serial.println("تم ضبط قيمة PWM للمحرك المؤازر " + String(servoIndex + 1) + " على القيمة: " + String(targetPwmValue)); }
وظائف حفظ الوضعية، والتشغيل، وإعادة الضبط
// First, save pose function
void saveCurrentPose() {
if (configCount < maxConfigurations) {
for (int i = 0; i < numServos; i++) {
savedConfigurations[configCount][i] = currentServoPositions[i];
Serial.print("Servo "); Serial.print(i + 1);
Serial.print(" saved at PWM value: ");
Serial.println(savedConfigurations[configCount][i]);
}
configCount++;
Serial.println("Pose saved. Total saved poses: " + String(configCount));
} else {
Serial.println("Memory full, cannot save more poses.");
}
}
// Then, start playback
void startPlayingPoses() {
if (configCount == 0) {
Serial.println("No poses saved, nothing to play.");
return;
}
Serial.println("Playback of saved poses started...");
isPlaying = true;
stopPlaying = false;
currentPoseIndex = 0;
}
// Subsequently, play next
void playNextPose() {
if (currentPoseIndex < configCount) {
Serial.println("Playing pose " + String(currentPoseIndex + 1));
for (int i = 0; i < numServos; i++) {
moveToPositionSmoothly(i, savedConfigurations[currentPoseIndex][i]);
}
delay(1000);
currentPoseIndex++;
} else {
isPlaying = false;
Serial.println("Playback of poses finished.");
}
}
// Similarly, loop playback
void playPosesInLoop() {
for (int j = 0; j < configCount; j++) {
Serial.println("Playing pose " + String(j + 1));
for (int i = 0; i < numServos; i++) {
moveToPositionSmoothly(i, savedConfigurations[j][i]);
}
delay(1000);
if (stopPlaying) break;
}
}
// Finally, stop playback
void stopPlayingPoses() {
stopPlaying = true;
isPlaying = false;
Serial.println("Playback of poses stopped.");
}
// Lastly, reset all poses
void resetPoses() {
configCount = 0;
isPlaying = false;
loopPlayback = false;
currentPoseIndex = 0;
Serial.println("All saved poses have been deleted.");
}
المكتبات المطلوبة وتعليمات التحميل
قبل التجميع، قم بتثبيت المكتبات التالية من خلال مدير مكتبات بيئة تطوير أردوينو المتكاملة (Arduino IDE Library Manager): مكتبة برامج تشغيل محركات سيرفو PWM من Adafruit, سلك (مضمنة افتراضيًا)، و برنامج التسلسل (مضمنة افتراضيًا). حدد لوحتك (Arduino Uno أو Mega)، واختر منفذ COM الصحيح، ثم انقر فوق تحميل.
كيف يعمل كود أردوينو: شرح مفصل لكل قسم
بشكل عام، تم تنظيم الكود في أقسام محددة بوضوح. يتضمن قسم تهيئة المكتبة ملف Wire.h لبروتوكول I2C، وملف Adafruit_PWMServoDriver.h لوحدة PCA9685، وملف SoftwareSerial.h للاتصال عبر البلوتوث على المنفذين 10 و11. يحدد قسم الثوابت عدد المحركات المؤازرة (6)، والحد الأقصى للأوضاع القابلة للتخزين (10)، وتأخير الخطوة للحركة السلسة (15 مللي ثانية)، وحجم الخطوة (نبضة واحدة من تعديل عرض النبضة لكل خطوة).
أولًا، تقوم الدالة setup() بتهيئة منفذي الاتصال التسلسلي بسرعة 9600 باود، وتشغيل وحدة التحكم PCA9685 بتردد 60 هرتز، وتحريك جميع المحركات المؤازرة إلى وضعها المتوسط (قيمة PWM 375) لتجنب القفزات المفاجئة عند بدء التشغيل. وتقوم الدالة الرئيسية loop() بالتحقق باستمرار من بيانات البلوتوث الواردة وتوجيه كل أمر إلى دالة المعالجة المناسبة.
على وجه التحديد، تتعرف آلية معالجة الأوامر على سبعة أوامر مختلفة. يؤدي إرسال الأمر "S" إلى حفظ وضعيات المؤازرة الحالية كوضعية جديدة. يبدأ الأمر "P" تشغيل جميع الوضعيات المحفوظة بالتسلسل. يعيد الأمر "R" ضبط جميع الوضعيات المحفوظة ويحذفها. يوقف الأمر "St" التشغيل. يُفعّل الأمران "LoopON" و"LoopOFF" التشغيل المتكرر. يُعامل أي أمر يحتوي على فاصلة كأمر خاص بوضعية المؤازرة بالصيغة "servoIndex,angle" حيث تتراوح الزاوية من 0 إلى 180 درجة.
علاوة على ذلك، تُعدّ دالة moveToPositionSmoothly() أساسيةً لحركة الذراع السلسة. فبدلاً من الانتقال مباشرةً إلى قيمة PWM المستهدفة، تتحرك هذه الدالة تدريجيًا نحوها بمقدار الخطوة المحددة (stepSize) مع تأخير زمني (stepDelay) بين كل خطوة. ينتج عن ذلك حركة مفصلية سلسة وطبيعية المظهر، بدلاً من الحركات المفاجئة والسريعة التي قد تُلحق الضرر بالتروس أو تُزعزع استقرار الذراع.
بناء تطبيق جوال باستخدام MIT App Inventor للتحكم في ذراع روبوتية بتقنية البلوتوث
باختصار، تطبيق RobotArmControl هو تطبيق أندرويد مخصص تم إنشاؤه باستخدام MIT App Inventor. يوفر واجهة لمس سهلة الاستخدام للتحكم في جميع المفاصل الستة لـ ذراع روبوتية بست درجات حرية يمكنك صنعها بنفسك لاسلكيًا عبر البلوتوث. يحتوي التطبيق على ستة أشرطة تمرير فردية (واحد لكل محرك سيرفو)، وأزرار لحفظ وتشغيل وإيقاف وإعادة ضبط تسلسلات الوضعيات، ومفتاح تبديل لوضع التشغيل الحلقي.
الميزات الرئيسية لتطبيق ذراع الروبوت سداسي المحاور (DIY 6-DOF)
يوفر التطبيق تحكمًا فوريًا في محركات المؤازرة عبر ستة أشرطة تمرير مُخصصة للمفاصل من 0 إلى 5. يُرسل كل شريط تمرير أمرًا مفصولًا بفواصل (مثل "2,90")، يقوم الأردوينو بتحليله لتحريك محرك المؤازرة المُناسب إلى الزاوية المُحددة. يُرسل زر الحفظ الأمر "S" لتخزين موضع الذراع الحالي. يُرسل زر التشغيل الأمر "P" لإعادة تشغيل جميع الأوضاع المحفوظة. يُرسل زر الإيقاف الأمر "St" لإيقاف التشغيل. يُرسل زر إعادة الضبط الأمر "R" لمسح جميع الأوضاع المُخزنة. يُرسل مفتاح التكرار الأمر "LoopON" أو "LoopOFF" لتفعيل/إيقاف التشغيل المُستمر.

شرح مفصل خطوة بخطوة لمكونات MIT App Inventor
بشكل عام، تم بناء منطق التطبيق باستخدام وحدات مرئية في MIT App Inventor. تقوم وحدة التهيئة العامة بإنشاء متغير يُسمى receivedText وقيمته 0، والذي يخزن البيانات الواردة من أردوينو. تقوم وحدة ListPicker BeforePicking بتعبئة قائمة أجهزة البلوتوث ليتمكن المستخدم من اختيار وحدة HC-05. تقوم وحدة AfterPicking بإنشاء اتصال تسلسلي عبر البلوتوث مع الجهاز المُختار.
بعد ذلك، تقوم وحدة PositionChanged الخاصة بكل منزلق بتنسيق مؤشر المحرك وزاويته في سلسلة نصية مفصولة بفواصل، ثم ترسلها عبر BluetoothClient.SendText. ترسل وحدات أزرار الحفظ والتشغيل والإيقاف وإعادة الضبط أوامرها المكونة من حرف واحد. تتحقق وحدة LoopSwitch.Changed من حالة المفتاح، وترسل إما "LoopON" أو "LoopOFF" وفقًا لذلك.




معايرة واختبار ذراعك الروبوتية ذات الست درجات حرية التي تصنعها بنفسك
بعد تجميع المكونات، وتحميل الكود، وتثبيت التطبيق، تأتي خطوة المعايرة. أولًا، ثبّت تطبيق RobotArmControl APK على جهازك الأندرويد. افتح إعدادات البلوتوث في هاتفك، وقم بإقرانه بوحدة HC-05 باستخدام رمز PIN الافتراضي 1234. ثم شغّل التطبيق، وانقر على قائمة أجهزة البلوتوث، واختر HC-05 من الأجهزة المقترنة.
بعد التوصيل، حرّك كل منزلق ببطء للتأكد من استجابة المفصل الصحيح. إذا تحرك مفصل في الاتجاه الخاطئ، بدّل قيمتي الحد الأدنى والحد الأقصى للمنزلق في App Inventor، أو اعكس نطاق map() في كود Arduino لتلك القناة. ثم اضبط نطاق PWM (من 150 إلى 600 في الكود) لكل محرك سيرفو على حدة. قد تحتاج بعض محركات السيرفو إلى قيم حد أدنى وحد أقصى مختلفة قليلاً لتجنب طنين نهاية التوقف. اختبر الذراع تحت الحمل عن طريق التقاط أجسام صغيرة باستخدام الملقط للتأكد من عزم الدوران والاستقرار عند كل مفصل.
بعد ذلك، لاختبار نظام الوضعيات، حرك الذراع إلى وضعية معينة ثم اضغط على "حفظ". كرر ذلك لعدة وضعيات، ثم اضغط على "تشغيل" لمشاهدة الذراع وهي تعيد عرض التسلسل بالكامل. فعّل وضع التكرار وتأكد من أن الذراع تنتقل بين جميع الوضعيات باستمرار حتى تضغط على "إيقاف".
تحسينات مستقبلية لذراع الروبوت ذات 6 درجات حرية التي يمكنك صنعها بنفسك
في الواقع، يُعدّ هذا الذراع الروبوتي الذي يُتحكّم به عبر البلوتوث منصةً متينةً لإجراء المزيد من التحسينات. يُمكنك تطبيق الحركة العكسية بحيث يتحرك الذراع وفقًا لإحداثيات XYZ بدلًا من زوايا المفاصل الفردية. كما يُمكن إضافة جيروسكوب أو مقياس تسارع لتمكين التحكم بالإيماءات عبر هاتفك. أما استبدال وحدة HC-05 بوحدة ESP32 فيُضيف اتصال Wi-Fi للتحكم عبر لوحة تحكم على الويب أو للتكامل مع أنظمة التشغيل الآلي للمنزل.
وبالمثل، من ناحية البرمجيات، يمكنك توسيع نطاق تخزين الوضعيات إلى ذاكرة EEPROM بحيث تبقى التسلسلات المحفوظة محفوظة حتى بعد انقطاع التيار الكهربائي. كما أن إضافة تحكم متغير في سرعة كل مفصل، أو تطبيق وضع "التعليم والتشغيل" حيث تقوم بتحريك الذراع فعليًا وتسجيل الوضعيات، من شأنه أن يجعل المشروع أقرب إلى وظائف الروبوتات الصناعية. لمزيد من أفكار المشاريع، تفضل بزيارة موقعنا الإلكتروني. مشروع ذراع الروبوت المتنقل (OmObiArm) وهذا يجمع بين هذا الذراع وقاعدة مركبة جوالة متنقلة.
قم بتنزيل ملفات مشروع الذراع الروبوتية ذات 6 درجات حرية (اصنعها بنفسك)
Furthermore, all project files are available on our GitHub repository. The download includes the complete Arduino sketch (.ino), all 3D-printable STL files for every arm component, the wiring diagram, and the MIT App Inventor project file (.aia) plus the compiled Android APK. The STL files are also available on Cults3D and in our متجر أومارترونيكس.
قم بتنزيل كود أردوينو، وملفات STL، ومخطط التوصيل، وتطبيق الهاتف المحمول من GitHub
Download STL Files from Cults3D | Get Project Files from OmArTronics Shop
الأسئلة الشائعة حول الذراع الروبوتية ذات 6 درجات حرية التي يمكنك صنعها بنفسك
ماذا يعني مصطلح 6-DOF في الذراع الروبوتية؟
باختصار، يشير مصطلح 6-DOF إلى ست درجات من الحرية. في روبوتنا، يعني هذا أن الذراع مزودة بخمسة مفاصل دورانية (محاور) لتحديد موضعها وتوجيهها، بالإضافة إلى مفصل ماسك واحد للإمساك بالأشياء. بالتالي، تتحكم المحاور الخمسة في وضعية الذراع، بينما تتحكم درجة الحرية السادسة في الماسك بشكل مستقل.
هل يمكنني استخدام أردوينو ميجا بدلاً من أردوينو أونو؟
نعم. في الواقع، يعمل أردوينو ميجا بنفس الكود. الفرق الوحيد هو أن منافذ I2C موجودة على المنفذين 20 (SDA) و21 (SCL) بدلاً من A4 وA5. أما منافذ SoftwareSerial فتبقى كما هي.
لماذا تهتز محركات المؤازرة أو تصدر طنيناً في أوضاع معينة؟
عادةً، يشير التذبذب إلى أن قيمة تعديل عرض النبضة (PWM) تساوي أو تتجاوز حد التوقف الميكانيكي للمحرك المؤازر. اضبط نطاق دالة map() في كود أردوينو بحيث تبقى قيمتا PWM الدنيا والقصوى ضمن نطاق التشغيل الآمن للمحرك المؤازر. تأكد أيضًا من أن مصدر الطاقة يوفر تيارًا كافيًا.
هل يمكنني التحكم في هذا الذراع الآلي باستخدام جهاز آيفون؟
بالإضافة إلى ذلك، وللأسف، تستخدم وحدة HC-05 تقنية البلوتوث التقليدية، وهي غير مدعومة أصلاً من قِبل نظام iOS. للتحكم في الذراع من جهاز iPhone، ستحتاج إلى استبدال وحدة HC-05 بوحدة HM-10 (BLE) وإعادة بناء التطبيق باستخدام منصة متوافقة مع تقنية BLE.
ما هي إعدادات الطابعة ثلاثية الأبعاد التي يجب استخدامها لأجزاء الذراع؟
استخدم خيوط PLA بارتفاع طبقة 0.2 مم ونسبة تعبئة 40% للأجزاء الهيكلية. أما الأجزاء غير الهيكلية، مثل تروس المقبض، فيمكن استخدام نسبة تعبئة 20% لها. تأكد من استواء سطح الطباعة، واستخدم حافةً للأجزاء ذات مساحات التلامس الصغيرة.
كم عدد الوضعيات التي يمكن للذراع حفظها؟
يخزن البرنامج افتراضيًا ما يصل إلى 10 وضعيات في ذاكرة الوصول العشوائي (RAM). يمكنك زيادة هذا العدد بتغيير قيمة الثابت maxConfigurations، ولكن ضع في اعتبارك أن ذاكرة الوصول العشوائي الثابتة (SRAM) في أردوينو أونو محدودة (2 كيلوبايت). للتخزين الدائم، يُنصح بحفظ الوضعيات في ذاكرة EEPROM.
لماذا يحتاج جهاز HC-05 إلى مقسم جهد على دبوس RX؟
يعمل جهاز HC-05 بشكل أساسي بمستويات منطقية تبلغ 3.3 فولت. بينما يرسل الأردوينو إشارة بجهد 5 فولت، مما قد يُتلف طرف الاستقبال (RX) الخاص بجهاز HC-05 مع مرور الوقت. لذا، يمكن استخدام مُقسّم جهد بسيط، يتكون من مقاومتين 1 كيلو أوم و2 كيلو أوم، لخفض جهد الإشارة من 5 فولت إلى حوالي 3.3 فولت.
هل يمكنني إضافة المزيد من المحركات المؤازرة إلى هذا الذراع الروبوتي؟
نعم. في الواقع، يدعم PCA9685 ستة عشر قناة لكل لوحة، لذا يمكنك إضافة ما يصل إلى عشرة محركات مؤازرة أخرى دون الحاجة إلى أي أجهزة إضافية. ما عليك سوى تحديث الثابت numServos ومصفوفة servoChannels في الكود.
ما هو أقصى مدى لذراع الروبوت هذا الذي يمكن صنعه بنفسك بست درجات حرية؟
في النهاية، يعتمد أقصى مدى على أبعاد وصلات الذراع. باستخدام ملفات STL القياسية المتوفرة، يصل الذراع إلى حوالي 40 سم من مركز القاعدة عند تمديده بالكامل. يمكنك زيادة المدى عن طريق إطالة وصلات الذراع في نموذج CAD.
كيف يمكنني حل مشاكل اتصال البلوتوث؟
أولًا، تأكد من أن مؤشر LED الخاص بوحدة HC-05 يومض بسرعة (غير مقترنة) أو ببطء (مقترنة). تحقق من تطابق معدل نقل البيانات بين البرنامج (9600) والوحدة. تأكد من عدم تبديل أسلاك الإرسال والاستقبال. افتح شاشة مراقبة المنفذ التسلسلي في أردوينو للتأكد من ظهور رسالة "في انتظار الأوامر" عند بدء التشغيل. إذا لم يتمكن التطبيق من العثور على وحدة HC-05، فأعد إقرانها من إعدادات البلوتوث في هاتفك.
ذراع روبوتية بست درجات حرية (اصنعها بنفسك): الخلاصة والمشاريع القادمة
علاوة على ذلك، تهانينا! لديك الآن جهاز يعمل بكامل طاقته. ذراع روبوتية بست درجات حرية يمكنك صنعها بنفسك مع إمكانية التحكم اللاسلكي عبر البلوتوث بالهواتف الذكية. يغطي هذا المشروع جميع التخصصات الأساسية في مجال الميكاترونيك: تصميم CAD في برنامج Autodesk Inventor، والتصنيع الإضافي باستخدام الطباعة ثلاثية الأبعاد، وتصميم الدوائر الإلكترونية باستخدام بروتوكول I2C وتقنية الاتصال التسلسلي عبر البلوتوث، والبرمجة المدمجة على منصة Arduino، وتطوير تطبيقات الهاتف المحمول باستخدام برنامج MIT App Inventor.
ونتيجة لذلك، يحول نظام حفظ الوضعية وإعادة تشغيلها هذا الذراع إلى روبوت قابل للبرمجة يمكنه تكرار تسلسلات الحركة المعقدة بشكل مستقل، مما يفتح الباب أمام تطبيقات مثل الالتقاط والوضع الآلي، والفرز، أو حتى مهام الرسم والكتابة البسيطة.
ومن هنا، تتسع الآفاق أمامك. يمكنك دمج تقنية الرؤية الحاسوبية باستخدام وحدة كاميرا، أو إضافة الحركة العكسية للتحكم في الإحداثيات الديكارتية، أو تركيب الذراع على مركبة جوالة للحصول على ذراع آلية ذاتية التشغيل بالكامل، أو توصيلها بجهاز Raspberry Pi لدمج تقنيات التعلم الآلي. أيًا كان المسار الذي تختاره، فإن هذه المنصة سداسية المحاور توفر لك أساسًا متينًا لاستكشاف أعمق في مجال الروبوتات والأتمتة.
وأخيرًا، إذا أعجبك هذا المشروع، فراجع دروسنا التعليمية الأخرى في مجال الروبوتات: روبوت تتبع الخطوط, ، ال وحدة تحكم عصا التحكم بمحرك سيرفو, و ذراع الروبوت المتحرك OmObiArm.
قم بتنزيل ملفات الطباعة ثلاثية الأبعاد (STL)
جميع ملفات STL القابلة للطباعة ثلاثية الأبعاد لهذا المشروع متاحة للتنزيل. يمكنك الحصول عليها من متجرنا أو تصفحها على موقع Cults3D.
- متجر أومارترونيكس: قم بتنزيل ملف المشروع من OmArTronics — احصل على حزمة المشروع الكاملة بما في ذلك ملفات STL ومخططات الأسلاك وشفرة المصدر التي يتم تسليمها إلى بريدك الإلكتروني.
- Cults3D: شاهد على موقع Cults3D — تصفح وقم بتنزيل ملفات النماذج ثلاثية الأبعاد على موقع Cults3D.
اشتريت هذا الطراز، لكنه لا يحتوي على تقرير قيمة قياس المحمل.
شكراً لتعليقك يا فرناندو! يرجى إضافة محمل كروي 6806ZZ بأبعاد 30*42*7.
مرحبًا،,
هل يمكنك إخباري بمكان قائمة القطع، وكيف يمكنني شراء القطع؟ لديّ ملفات STL الخاصة بك على موقع Cults.
شكرًا لك
عمدة أنطونيو
أعيش بالقرب من برشلونة
مرحباً، إنه مشروع مثير للاهتمام، خاصةً مع مراهق. بالنسبة لمحرك السيرفو MG996R، فهو متوفر بتكوينين: إما 180 درجة أو 360 درجة. ما رأيك؟
أطيب التحيات،,
إيمانويل
مرحباً إيمانويل، شكراً لك على كلماتك الطيبة! أنصحك باستخدام محرك MG996R ذي زاوية الدوران 180 درجة لهذا المشروع. ذلك لأن هذا المحرك يتيح تحكماً دقيقاً في الزاوية، وهو أمر ضروري لتحديد المواقع والحركة في الأذرع الروبوتية أو التطبيقات المشابهة. أما محرك 360 درجة فهو مصمم للدوران المستمر، وهو أنسب لمهام مثل قيادة العجلات، حيث لا يتطلب الأمر التحكم في الزاوية. مع أطيب التحيات، أومارترونيكس.
سيدي، لقد قمت بنفس التوصيل لكنه لا يعمل، أرجو إخباري بالتكلفة.
التيار الكهربائي يُعطي وحدة التحكم المؤازرة pca9685
يستهلك متحكم المؤازرة PCA9685 تيارًا ضئيلاً جدًا، عادةً أقل من 10 مللي أمبير. مع ذلك، يعتمد إجمالي التيار المطلوب على المؤازرات المستخدمة. على سبيل المثال، يمكن لكل مؤازرة MG996R أن يستهلك ما يصل إلى 2 أمبير (بحد أقصى 2.5 أمبير) تحت الحمل. تأكد من أن مصدر الطاقة لديك يوفر تيارًا كافيًا لجميع المؤازرات المتصلة، مع مراعاة الحد الأقصى لاستهلاكها مجتمعة.
أرجو من السيد الرد سريعاً في أقرب وقت ممكن
مرحباً، أحاول تشغيله لكنني أتلقى باستمرار الخطأ 507، ولا أستطيع ربط التطبيق بالروبوت. كيف يمكنني تشغيله؟
مرحباً، كيف يمكنني العثور على هذه البراغي والمسامير في مكان واحد؟ هل يوجد موقع تسوق إلكتروني يوفرها جميعاً؟
ما مقدار الطاقة اللازمة لتشغيل المحركات الستة؟ (أي الفولتية والأمبير) وما نوع المحول المستخدم؟
أستخدم ستة محركات سيرفو يتم تشغيلها من خلال مشغل PCA9685 مع مصدر طاقة خارجي 6 فولت.
يستهلك كل محرك سيرفو عادةً 300-600 مللي أمبير اعتمادًا على الحمل، لذلك بالنسبة لستة محركات سيرفو، يجب أن تخطط لتيار إجمالي يتراوح بين 3-5 أمبير.
أستخدم مصدر طاقة قابل للتعديل من نوع Hanmatek HM305P، ولكن أي محول طاقة 5 فولت - 6 فولت مصنف بقدرة 5 أمبير على الأقل سيعمل بشكل جيد.
يتم تزويد الأردوينو بالطاقة بشكل منفصل عبر منفذ USB.
مرحباً، أتمنى أن تكون بخير. لدي سؤال بخصوص البراغي، ما نوع البراغي المطلوبة لأجزاء التجميع؟ أعتقد أنني سأحصل على براغي للمحركات المؤازرة معها، لذا هل يمكنك من فضلك إخباري بنوع البراغي المطلوبة وكميتها لأجزاء التجميع؟.