جدول المحتويات:

لعبة الذراع الروبوتية - وحدة تحكم الهاتف الذكي: 6 خطوات
لعبة الذراع الروبوتية - وحدة تحكم الهاتف الذكي: 6 خطوات

فيديو: لعبة الذراع الروبوتية - وحدة تحكم الهاتف الذكي: 6 خطوات

فيديو: لعبة الذراع الروبوتية - وحدة تحكم الهاتف الذكي: 6 خطوات
فيديو: ازاي تحول موبايلك لريموت وتتحكم في التلفزيون من خلال موبايلك #technology #shorts #tips 2024, يوليو
Anonim
لعبة الذراع الروبوتية - وحدة تحكم الهاتف الذكي
لعبة الذراع الروبوتية - وحدة تحكم الهاتف الذكي

أهلا !

إليك لعبة صيفية ممتعة: الذراع الآلية التي يتحكم فيها الهاتف الذكي !!

كما ترى في الفيديو ، يمكنك التحكم في الذراع ببعض أذرع التحكم على هاتفك الذكي.

يمكنك أيضًا حفظ نمط ، يقوم الروبوت بإعادة إنتاجه في حلقة ، من أجل القيام ببعض المهام المتكررة كمثال. لكن هذا النمط قابل للتعديل كما يحلو لك !!!!

كن مبدعا !

الخطوة 1: المواد

المواد
المواد

هنا يمكنك رؤية المواد التي تحتاجها.

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

الخطوة الثانية: طباعة ثلاثية الأبعاد للذراع الآلي

3D طباعة الذراع الروبوتية
3D طباعة الذراع الروبوتية
3D طباعة الذراع الروبوتية
3D طباعة الذراع الروبوتية
3D طباعة الذراع الروبوتية
3D طباعة الذراع الروبوتية

تمت طباعة الذراع الآلية ثلاثية الأبعاد (باستخدام برنامج prusa i3 الخاص بنا).

بفضل موقع الويب "HowtoMechatronics.com" ، فإن ملفات STL الخاصة به رائعة من أجل بناء ذراع ثلاثي الأبعاد.

سوف يستغرق الأمر حوالي 20 ساعة لطباعة جميع القطع.

الخطوة 3: المونتاج الإلكتروني

مونتاج الكتروني
مونتاج الكتروني

المونتاج منفصل إلى جزئين:

جزء إلكتروني ، حيث يتم توصيل اردوينو بالمضاعفات عن طريق الدبابيس الرقمية ، وبجهاز البلوتوث (Rx ، Tx).

جزء الطاقة ، حيث يتم تشغيل الماكينات بشاحن هاتف (5 فولت ، 2 أمبير كحد أقصى).

الخطوة 4: تطبيق الهاتف الذكي

تطبيق الهاتف الذكي
تطبيق الهاتف الذكي

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

نقوم بتوصيل Arm و Smartphone معًا باستخدام وحدة Bluetooth (HC-06).

أخيرًا ، يتيح وضع الحفظ للمستخدم حفظ ما يصل إلى 9 وظائف للذراع.

سوف ينتقل الذراع بعد ذلك إلى الوضع التلقائي ، حيث يقوم بإعادة إنتاج المواضع المحفوظة.

الخطوة 5: كود اردوينو

كود اردوينو
كود اردوينو
كود اردوينو
كود اردوينو

// 08/19 - يتم التحكم في الهاتف الذكي ذو الذراع الآلية

# تضمين # تعريف صحيح صحيح # تعريف خطأ خطأ // ********************** الإعلانات ***************** ***********

مندوب كلمة // mot envoyé du module اردوينو au الذكي

int chiffre_final = 0 ؛ int cmd = 3 ؛ // متغير commande du servo moteur (troisième fil (البرتقالي ، jaune)) int cmd1 = 5 ؛ // servo1 int cmd2 = 9 ؛ // servo2 int cmd3 = 10 ؛ // servo3 // int cmd4 = 10 ؛ // servo4 int cmd5 = 11 ؛ // pince int activ_saving = 0 ؛ محرك مؤازر // على définit notre servomoteur Servo moteur1 ؛ مؤازر مؤازر 2 ؛ مؤازر مؤازر 3 ؛ // مؤازر moteur4 ؛ مؤازر مؤازر 5 ؛ كثافة العمليات step_angle_mini = 4 ؛ كثافة العمليات step_angle = 3 ؛ زاوية int ، زاوية 1 ، زاوية 3 ، زاوية 5 ، زاوية 2 ؛ // زاوية int pas ؛ int r ، r1 ، r2 ، r3 ؛ مسجل int زعنفة منطقية = خطأ ؛ زعنفة منطقية 1 = خطأ ؛ زعنفة منطقية 2 = خطأ ؛ زعنفة منطقية 3 = خطأ ؛ زعنفة منطقية 4 = خطأ ؛ كلمة w ؛ // متغير envoyé du للهواتف الذكية au module Arduino int sauvegarde_positions1 [5] ؛ int sauvegarde_positions2 [5] ؛ int sauvegarde_positions3 [5] ؛ int sauvegarde_positions4 [5] ؛ int sauvegarde_positions5 [5] ؛ int sauvegarde_positions6 [5] ؛ int sauvegarde_positions7 [5] ؛ int sauvegarde_positions8 [5] ؛ int sauvegarde_positions9 [5] ؛

// زاوية كثافة العمليات ؛ // زاوية الدوران (0 أ 180)

//********************اقامة*************************** ******** إعداد باطل () {sauvegarde_positions1 [0] = sauvegarde_positions1 [1] = sauvegarde_positions1 [2] = sauvegarde_positions1 [3] = sauvegarde_positions1 [4] = 0 ؛ sauvegarde_positions2 [0] = sauvegarde_positions2 [1] = sauvegarde_positions2 [2] = sauvegarde_positions2 [3] = sauvegarde_positions2 [4] = 0 ؛ sauvegarde_positions3 [0] = sauvegarde_positions3 [1] = sauvegarde_positions3 [2] = sauvegarde_positions3 [3] = sauvegarde_positions3 [4] = 0 ؛ sauvegarde_positions4 [0] = sauvegarde_positions4 [1] = sauvegarde_positions4 [2] = sauvegarde_positions4 [3] = sauvegarde_positions4 [4] = 0 ؛ sauvegarde_positions5 [0] = sauvegarde_positions5 [1] = sauvegarde_positions5 [2] = sauvegarde_positions5 [3] = sauvegarde_positions5 [4] = 0 ؛ sauvegarde_positions6 [0] = sauvegarde_positions6 [1] = sauvegarde_positions6 [2] = sauvegarde_positions6 [3] = sauvegarde_positions6 [4] = 0 ؛ sauvegarde_positions7 [0] = sauvegarde_positions7 [1] = sauvegarde_positions7 [2] = sauvegarde_positions7 [3] = sauvegarde_positions7 [4] = 0 ؛ sauvegarde_positions8 [0] = sauvegarde_positions8 [1] = sauvegarde_positions8 [2] = sauvegarde_positions8 [3] = sauvegarde_positions8 [4] = 0 ؛ sauvegarde_positions9 [0] = sauvegarde_positions9 [1] = sauvegarde_positions9 [2] = sauvegarde_positions9 [3] = sauvegarde_positions9 [4] = 0 ؛ moteur.attach (cmd) ؛ // على relie l'objet au pin de commande moteur1.attach (cmd1) ؛ moteur2.attach (cmd2) ؛ moteur3.attach (cmd3) ؛ // moteur4.attach (cmd4) ؛ moteur5.attach (cmd5) ؛ moteur.write (6) ؛ زاوية = 6 ؛ moteur1.write (100) ؛ زاوية 1 = 100 ؛ moteur2.write (90) ؛ moteur3.write (90) ؛ //moteur4.write(12) ؛ moteur5.write (90) ؛ زاوية = 6 ؛ زاوية 1 = 100 ؛ زاوية 2 = 90 ؛ زاوية 3 = 90 ؛ زاوية 5 = 90 ؛ Serial.begin (9600) ؛ // permettra de communiquer au module Bluetooth} // ********************** BOUCLE ****************** ***************** حلقة فارغة() {

// Serial.print ("زاوية") ؛

//Serial.print(angle)؛Serial.print ("\ t")؛ Serial.print (زاوية 1)؛ Serial.print ("\ t")؛ Serial.print (زاوية 2)؛ Serial.print ("\ t") ") ؛ Serial.print (زاوية 3) ؛ Serial.print (" / t ") ؛ Serial.print (زاوية 5) ؛ Serial.print (" / n ") ؛

//Serial.print("angle ") ؛

إنت أنا w = recevoir () ؛ // on recevoir une information du smart، la متغير w switch (w) {case 1: TouchDown_Release ()؛ break؛ الحالة 2: TouchDown_Grab () ؛ كسر ؛ الحالة 3: Base_Rotation () ؛ كسر ؛ الحالة 4: Base_AntiRotation () ؛ كسر ؛ الحالة 5: Waist_Rotation () ؛ كسر ؛ الحالة 6: Waist_AntiRotation () ؛ كسر ؛ الحالة 7: Third_Arm_Rotation () ؛ كسر ؛ الحالة 8: Third_Arm_AntiRotation () ؛ كسر ؛ الحالة 9: 4th_Arm_Rotation () ؛ كسر ؛ الحالة 10: 4th_Arm_AntiRotation () ؛ استراحة ؛ // الحالة 11: Fifth_Arm_Rotation () ؛ كسر ؛ // الحالة 12: Fifth_Arm_AntiRotation () ؛ استراحة ؛ الحالة 21: Serial.print ("زر الحالة 1") ؛ chiffre_final = 1 ؛ sauvegarde_positions1 [0] = زاوية ؛ sauvegarde_positions1 [1] = angle1 ؛ sauvegarde_positions1 [2] = angle2 ؛ sauvegarde_positions1 [3] = angle3_positions1 [4] = زاوية 5 ؛ Serial.println (sauvegarde_positions1 [1]) ؛ Serial.println (sauvegarde_positions1 [2]) ؛ Serial.println (sauvegarde_positions1 [3]) ؛ Serial.println (sauvegarde_positions1 [4]) ؛ استراحة؛ الحالة 22: chiffre_final = 2؛ sauvegarde_positions2 [0] = angle؛ sauvegarde_positions2 [1] = angle1؛ sauvegarde_positions2 [2] = angle2؛ sauvegarde_positions2 [3] = angle3؛ sauvegarde_positions2 [4] = angle5؛ استراحة؛ الحالة 23: chiffre_final = 3؛ sauvegarde_positions3 [0] = angle؛ sauvegarde_positions3 [1] = angle1؛ sauvegarde_positions3 [2] = angle2؛ sauvegarde_positions3 [3] = angle3؛ sauvegarde_positions3 [4] = angle5؛ break الحالة 24: chiffre_final = 4؛ sauvegarde_positions4 [0] = angle؛ sauvegarde_positions4 [1] = angle1؛ sauvegarde_positions4 [2] = angle2؛ sauvegarde_positions4 [3] = angle3؛ sauvegarde_positions4 [4] = angle5؛ استراحة؛ الحالة 25: chiffre_final = 5؛ sauvegarde_positions5 [0] = angle؛ sauvegarde_positions5 [1] = angle1؛ sauvegarde_positions5 [2] = angle2؛ sauvegarde_positions5 [3] = angle3؛ sauvegarde_positions5 [4] = angle5؛ استراحة؛ الحالة 26: chiffre_final = 6؛ sauvegarde_positions6 [0] = angle؛ sauvegarde_positions6 [1] = angle1؛ sauvegarde_positions6 [2] = angle2؛ sauvegarde_positions6 [3] = angle3؛ sauvegarde_positions6 [4] = angle5؛ استراحة؛ الحالة 27: chiffre_final = 7؛ sauvegarde_positions7 [0] = angle؛ sauvegarde_positions7 [1] = angle1؛ sauvegarde_positions7 [2] = angle2؛ sauvegarde_positions7 [3] = angle3؛ sauvegarde_positions7 [4] = angle5؛ استراحة؛ الحالة 28: chiffre_final = 8؛ sauvegarde_positions8 [0] = angle؛ sauvegarde_positions8 [1] = angle1؛ sauvegarde_positions8 [2] = angle2؛ sauvegarde_positions8 [3] = angle3؛ sauvegarde_positions8 [4] = angle5؛ استراحة؛ الحالة 29: chiffre_final = 9؛ sauvegarde_positions9 [0] = angle؛ sauvegarde_positions9 [1] = angle1؛ sauvegarde_positions9 [2] = angle2؛ sauvegarde_positions9 [3] = angle3؛ sauvegarde_positions9 [4] = angle5؛ استراحة؛

الحالة 31: Serial.print ("31") ؛ activ_saving = 1 ؛ chiffre_final = 0 ؛ كسر ؛ // ابدأ

الحالة 33: Serial.print ("33") ؛ activ_saving = 0 ؛ استراحة ؛ // BUTTON SAVE الافتراضي: استراحة ؛ } إذا (w == 32) {Serial.print ("\ nReproduce / nChiffre final:")؛ Serial.print (chiffre_final) ؛ Serial.print ("\ n Sauvegarde position 1: / n")؛ لـ (i = 0؛ i <5؛ i ++) {Serial.print (sauvegarde_positions1 )؛ Serial.print ("\ t")؛} Serial.print ("\ n Sauvegarde position 2: / n")؛ لـ (i = 0؛ i <5؛ i ++) {Serial.print (sauvegarde_positions2 )؛ Serial.print ("\ t")؛} Serial.print ("\ n Sauvegarde position 3: / n")؛ لـ (i = 0؛ i <5؛ i ++) {Serial.print (sauvegarde_positions3 )؛ Serial.print ("\ t")؛} لـ (i = 1؛ i <= chiffre_final؛ i ++) {Serial. طباعة ("\ n / n ابدأ / n حلقة:") ؛ Serial.print (i)؛ Serial.print ("\ n") ؛ التبديل (i) {الحالة 1: goto_moteur (* (sauvegarde_positions1)) ؛ تأخير (200) ؛ goto_moteur1 (* (sauvegarde_positions1 + 1)) ؛ تأخير (200) ؛ goto_moteur2 (* (sauvegarde_positions1 + 2)) ؛ تأخير (200) ؛ goto_moteur3 (* (sauvegarde_positions1 + 3)) ؛ تأخير (200) ؛ goto_moteur5 (* (sauvegarde_positions1 + 4)) ؛ تأخير (200) ؛ استراحة؛ الحالة 2: goto_moteur (* (sauvegarde_positions2)) ؛ تأخير (200) ؛ goto_moteur1 (* (sauvegarde_positions2 + 1)) ؛ تأخير (200) ؛ goto_moteur2 (* (sauvegarde_positions2 + 2)) ؛ تأخير (200) ؛ goto_moteur3 (* (sauvegarde_positions2 + 3)) ؛ تأخير (200) ؛ goto_moteur5 (* (sauvegarde_positions2 + 4)) ؛ تأخير (200) ؛ استراحة؛ الحالة 3: goto_moteur (* (sauvegarde_positions3)) ؛ تأخير (200) ؛ goto_moteur1 (* (sauvegarde_positions3 + 1)) ؛ تأخير (200) ؛ goto_moteur2 (* (sauvegarde_positions3 + 2)) ؛ تأخير (200) ؛ goto_moteur3 (* (sauvegarde_positions3 + 3)) ؛ تأخير (200) ؛ goto_moteur5 (* (sauvegarde_positions3 + 4)) ؛ تأخير (200) ؛ استراحة؛ الحالة 4: goto_moteur (* (sauvegarde_positions4)) ؛ تأخير (200) ؛ goto_moteur1 (* (sauvegarde_positions4 + 1)) ؛ تأخير (200) ؛ goto_moteur2 (* (sauvegarde_positions4 + 2)) ؛ تأخير (200) ؛ goto_moteur3 (* (sauvegarde_positions4 + 3)) ؛ تأخير (200) ؛ goto_moteur5 (* (sauvegarde_positions4 + 4)) ؛ تأخير (200) ؛ استراحة؛ الحالة 5: goto_moteur (* (sauvegarde_positions5)) ؛ تأخير (200) ؛ goto_moteur1 (* (sauvegarde_positions5 + 1)) ؛ تأخير (200) ؛ goto_moteur2 (* (sauvegarde_positions5 + 2)) ؛ تأخير (200) ؛ goto_moteur3 (* (sauvegarde_positions5 + 3)) ؛ تأخير (200) ؛ goto_moteur5 (* (sauvegarde_positions5 + 4)) ؛ تأخير (200) ؛ استراحة؛ الحالة 6: goto_moteur (* (sauvegarde_positions6)) ؛ تأخير (200) ؛ goto_moteur1 (* (sauvegarde_positions6 + 1)) ؛ تأخير (200) ؛ goto_moteur2 (* (sauvegarde_positions6 + 2)) ؛ تأخير (200) ؛ goto_moteur3 (* (sauvegarde_positions6 + 3)) ؛ تأخير (200) ؛ goto_moteur5 (* (sauvegarde_positions6 + 4)) ؛ تأخير (200) ؛ استراحة؛ الحالة 7: goto_moteur (* (sauvegarde_positions7)) ؛ تأخير (200) ؛ goto_moteur1 (* (sauvegarde_positions7 + 1)) ؛ تأخير (200) ؛ goto_moteur2 (* (sauvegarde_positions7 + 2)) ؛ تأخير (200) ؛ goto_moteur3 (* (sauvegarde_positions7 + 3)) ؛ تأخير (200) ؛ goto_moteur5 (* (sauvegarde_positions7 + 4)) ؛ تأخير (200) ؛ استراحة؛ الحالة 8: goto_moteur (* (sauvegarde_positions8)) ؛ تأخير (200) ؛ goto_moteur1 (* (sauvegarde_positions8 + 1)) ؛ تأخير (200) ؛ goto_moteur2 (* (sauvegarde_positions8 + 2)) ؛ تأخير (200) ؛ goto_moteur3 (* (sauvegarde_positions8 + 3)) ؛ تأخير (200) ؛ goto_moteur5 (* (sauvegarde_positions8 + 4)) ؛ تأخير (200) ؛ استراحة؛ الحالة 9: goto_moteur (* (sauvegarde_positions9)) ؛ تأخير (200) ؛ goto_moteur1 (* (sauvegarde_positions9 + 1)) ؛ تأخير (200) ؛ goto_moteur2 (* (sauvegarde_positions9 + 2)) ؛ تأخير (200) ؛ goto_moteur3 (* (sauvegarde_positions9 + 3)) ؛ تأخير (200) ؛ goto_moteur5 (* (sauvegarde_positions9 + 4)) ؛ تأخير (200) ؛ استراحة؛ } Serial.print ("\ n *********************** FIN REPRODUCE ***************** \ن ")؛ تأخير (500) ؛ } /*Serial.print ("debut / n") ؛ Serial.print (sauvegarde_positions1 [0]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions1 [1]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions1 [2]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions1 [3]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions1 [4]) ؛ Serial.print ("\ n") ؛ Serial.print (sauvegarde_positions2 [0]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions2 [1]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions2 [2]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions2 [3]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions2 [4]) ؛ Serial.print ("\ n") ؛ Serial.print (sauvegarde_positions3 [0]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions3 [1]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions3 [2]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions3 [3]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions3 [4]) ؛ Serial.print ("\ n") ؛ Serial.print (sauvegarde_positions4 [0]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions4 [1]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions4 [2]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions4 [3]) ؛ Serial.print ("\ t") ؛ Serial.print (sauvegarde_positions4 [4]) ؛ Serial.print ("\ n") ؛

Serial.print ("\ nfin / n") ؛ * /

تأخير (100) ؛ } // **************************** الوظائف ******************** ********************

كلمة recevoir () {// fonction permettant de recevoir l'information du phone

إذا (Serial.available ()) {w = Serial.read () ،

Serial.flush () ،

عودة ث ؛ }}

goto_moteur باطلة (int angle_destination)

{while (angle_destination angle + step_angle) {Serial.print ("\ n -------------- * * * * * * -------------- ----\ن")؛ Serial.print ("angle_destination = / t") ؛ Serial.print (angle_destination) ؛ Serial.print ("\ n angle1 = / t") ؛ Serial.print (زاوية) ؛ if (angle_destination angle + step_angle) {angle = angle + step_angle؛ moteur.write (angle)؛} delay (100)؛ } moteur.write (angle_destination) ؛ } void goto_moteur1 (int angle_destination) {while (angle_destination angle1 + step_angle) {Serial.print ("\ n -------------- * * * * * * ------- -----------\ن")؛ Serial.print ("angle_destination = / t") ؛ Serial.print (angle_destination) ؛ Serial.print ("\ n angle2 = / t") ؛ Serial.print (زاوية 1) ؛ if (angle_destination angle1 + step_angle) {angle1 + = step_angle ؛ moteur1.write (زاوية 1) ؛؛} تأخير (100) ؛ } moteur1.write (angle_destination) ؛ } void goto_moteur2 (int angle_destination) {

بينما (زاوية الوجهة 2 + الخطوة_انجل)

{Serial.print ("\ n -------------- * * * * * * ------------------ / n") ؛ Serial.print ("angle_destination = / t") ؛ Serial.print (angle_destination) ؛ Serial.print ("\ n angle3 = / t") ؛ Serial.print (زاوية 2) ؛ if (angle_destination angle2 + step_angle) {angle2 + = step_angle ؛ moteur2.write (angle2) ؛} تأخير (100) ؛ } moteur2.write (angle_destination) ؛ } void goto_moteur3 (int angle_destination) {

بينما (زاوية الوجهة 3 + مثلث الخطوة)

{Serial.print ("\ n -------------- * * * * * * ------------------ / n") ؛ Serial.print ("angle_destination = / t") ؛ Serial.print (angle_destination) ؛ Serial.print ("\ n angle4 = / t") ؛ Serial.print (زاوية 3) ؛ if (angle_destination angle3 + step_angle) {angle3 + = step_angle ؛ moteur3.write (زاوية 3) ؛} تأخير (100) ؛ } moteur3.write (angle_destination) ؛ } void goto_moteur5 (int angle_destination) {

بينما (زاوية الوجهة 5 + خطوة_انجل)

{Serial.print ("\ n -------------- * * * * * * ------------------ / n") ؛ Serial.print ("angle_destination = / t") ؛ Serial.print (angle_destination) ؛ Serial.print ("\ n angle5 = / t") ؛ Serial.print (زاوية 5) ؛ if (angle_destination angle5 + step_angle) {angle5 + = step_angle ؛ moteur5.write (زاوية 5) ؛} تأخير (100) ؛ } moteur5.write (angle_destination) ؛ }

باطل TouchDown_Release () // TouchDown Button Release

{if (angle5 <180) {angle5 = angle5 + step_angle_mini ؛ } moteur5.write (زاوية 5) ؛ }

باطل TouchDown_Grab () // انتزاع زر TouchDown

{if (angle5> 0) {angle5 = angle5-step_angle_mini ؛ } moteur5.write (زاوية 5) ؛ } void Base_Rotation () {if (angle 0) {angle = angle-step_angle؛ } زاوية أخرى = 0 ؛ moteur.write (زاوية) ؛ } void Waist_Rotation () {if (angle1 20) {angle1 = angle1-step_angle؛ } else angle1 = 20 ؛ moteur1.write (زاوية 1) ؛ } void Third_Arm_Rotation () {if (angle2 0) {angle2 = angle2-step_angle؛ } moteur2.write (زاوية 2) ؛ } void Fourth_Arm_Rotation () {if (angle3 = 0) {angle3 = angle3-step_angle_mini؛ } moteur3.write (زاوية 3) ؛ }

الخطوة 6: هذا كل شيء

شكرا للمشاهدة ، اتمنى ان تكون مقدرا!

إذا أعجبك هذا Instructable ، يمكنك بالتأكيد زيارتنا للمزيد! =)

موصى به: