تم النشر 2026-03-25
هل سبق لك أن واجهت هذا الموقف -مضاعفاتهل يمكن أن تدور في اتجاه واحد فقط، أو يمكن أن تتوقف فقط عند بضع زوايا ثابتة، غير قادر تمامًا على تحقيق تأثير التأرجح السلس ذهابًا وإيابًا؟ لا تقلق، هذه في الواقع ليست مشكلة معمضاعفاتفي حد ذاته، ولكن البرنامج الذي كتبناه ليس "ذكيا" بما فيه الكفاية. سنتحدث اليوم عن كيفية استخدام بضعة أسطر بسيطة من التعليمات البرمجية لإنشاء ملفمضاعفاتيمكن تدويره بحرية ذهابًا وإيابًا، مما يجعل اختراعك الصغير سريع الحركة على الفور.
يعتمد السبب وراء إمكانية توقف جهاز التوجيه بدقة عند زاوية معينة على المحرك الداخلي ونظام ردود الفعل الزاوية. بكل بساطة، فهو يحدد الموضع الذي يريد الانتقال إليه عن طريق استقبال إشارة PWM (أي إشارة تعديل عرض النبضة). عادةً ما تكون فترة الإشارة 20 مللي ثانية، ويتراوح وقت المستوى العالي بين 0.5 و2.5 مللي ثانية، وهو ما يتوافق مع نطاق الزاوية من 0 إلى 180 درجة. افهم هذا المنطق، عندما نكتب برنامجًا، نكون قد أتقننا "عجلة القيادة". إذا أردنا أن يدور المؤازرة، نحتاج فقط إلى إرسال قيمة الإشارة المقابلة إليه.
عند استخدام هذا النوع من لوحات التطوير للتحكم، لا تحتاج إلى حساب أوقات النبض المعقدة بنفسك، فقط اتصل بوظائف المكتبة الجاهزة. على سبيل المثال، فييكتب()وظيفة فيالمؤازرة. حالمكتبة، ما عليك سوى الكتابة.اكتب(90)، وسوف يتحول المؤازرة إلى وضع 90 درجة. لذلك، إذا كنت تريد أن تدور ذهابًا وإيابًا بحرية، فإن جوهر الأمر هو جعل قيمة الزاوية هذه تتغير بشكل متكرر ضمن النطاق المحدد.
إذا كنت جديدًا في البرمجة، فيمكنك البدء بالحركة ذهابًا وإيابًا الأساسية. نستخدم أولاً متغيرًا لتخزين الزاوية الحالية، ثم ندعها تبدأ من 0 درجة، وتزيد بمقدار درجة واحدة في كل مرة، حتى تزيد إلى 180 درجة، ثم نخفضها بمقدار درجة واحدة في كل مرة، وتعود إلى 0 درجة، وبذلك نكمل دورة تأرجح كاملة ذهابًا وإيابًا. انتبه إلى إضافة تأخير مناسب هنا، وإلا فإن المؤازرة ستدور بسرعة كبيرة وستبدو وكأنها متشنجة.
في التشغيل الفعلي، يكون هيكل الكود بسيطًا جدًا. عليك أولاً تحديد دبابيس المؤازرةيثبت()وظيفة، ثم اكتب اثنينلحلقات فيحلقة()وظيفة. حلقة واحدة تزيد الزاوية والحلقة الأخرى تقللها. كل حلقة تدعو.اكتب (زاوية)داخليا، ومن ثم يتعاون معتأخير(15)للتحكم في سرعة الدوران. التأثير المكتوب بهذه الطريقة هو أن المؤازرة تدور ذهابًا وإيابًا بسلاسة مثل البندول.
يميل العديد من الأصدقاء إلى التغاضي عن تفصيل واحد عند كتابة البرامج - التحكم في السرعة. إذا كنت تريد أن يتحول المؤازرة بشكل أبطأ، فيمكنك إضافة تأخير أطول، مثلتأخير(30)، بعد كل تغيير زاوية، ولكن هذا سيجعل الحركة العامة تبدو بطيئة. الطريقة الأفضل هي تقليل زيادة الزاوية في كل مرة، على سبيل المثال، تغييرها من درجة واحدة إلى 0.5 درجة في كل مرة. بهذه الطريقة، سيكون مسار حركة المؤازرة أكثر دقة وسيبدو أكثر جمالًا من الناحية الميكانيكية.
نطاق الزاوية أيضًا متروك لك تمامًا. ليس من الضروري أن ينتقل من 0 إلى 180، يمكنك فقط تدويره ذهابًا وإيابًا بين 90 و120 درجة. وهذا مفيد بشكل خاص في سيناريوهات تطبيق معينة للأذرع الآلية أو الحلي الصغيرة. فقط قم بتعديل قيمة البداية وقيمة النهاية فيلحلقة، مثلfor(angle=45; angle ، بحيث يتردد المؤازرة بين 45 و135 درجة.
ليس من الرائع أن تترك المؤازرة تدور ذهابًا وإيابًا من تلقاء نفسها. سيكون أكثر إثارة للاهتمام إذا كان بإمكانك إضافة بعض التحكم الخارجي. يمكنك توصيل زر والضغط على المؤازرة لبدء الدوران ذهابًا وإيابًا، والضغط عليه مرة أخرى للتوقف عند الزاوية الحالية. أو استخدم أجهزة الاستشعار بالموجات فوق الصوتية لاكتشاف الأشياء الموجودة أمامك، وبدء حركة التأرجح تلقائيًا عند اقتراب جسم ما. بهذه الطريقة يمكنك إنشاء جهاز تفاعلي "يقول مرحبًا".
لتنفيذ هذه الوظيفة، ما عليك سوى إضافة بعض شروط الحكم إلى البرنامج. قم أولاً بقراءة بيانات المستشعر، وقرر ما إذا كنت تريد تنفيذ دورة ذهاب وإياب للمؤازرة بناءً على قيمة البيانات. هنا خدعة صغيرة. لتجنب تعطل البرنامج في الحلقة، يمكنك تغليف دوران المؤازرة في وظيفة، ثم استخدامهالوالشرط في الحلقة الرئيسية لتحديد ما إذا كان سيتم استدعاء هذه الوظيفة. بهذه الطريقة، يمكن للبرنامج الرئيسي التعامل مع قراءة المستشعر والتحكم المؤازر في نفس الوقت دون التدخل مع بعضهما البعض.
في التصحيح الفعلي، قد تواجه مواقف حيث يهتز المؤازرة أو يصبح عالقًا في زاوية معينة. يحدث هذا عادة بسبب عدم كفاية إمدادات الطاقة. يكون التيار اللحظي للمؤازرة كبيرًا نسبيًا عند البدء وعكس الاتجاه. إذا كان مصدر الطاقة مدعومًا فقط بمنفذ 5 فولت الموجود على لوحة التطوير، فسيحدث عدم استقرار الجهد بسهولة. الحل هو أيضا بسيط جدا. ابحث عن مصدر طاقة خارجي، مثل أربع بطاريات 1.5 فولت أو محول طاقة 5 فولت 2 أمبير. قم بتوصيل القطبين الموجب والسالب بالأسلاك الحمراء والبنية للمؤازرة على التوالي. في الوقت نفسه، قم بتوصيل GND الخاص بلوحة التطوير وGND الخاص بمصدر الطاقة معًا لضمان اتساق الجهد المرجعي للإشارة.
الموقف الآخر هو عدم وجود تأخير كافٍ في البرنامج. إذا قمت بتغيير قيمة الزاوية مباشرة بعد ذلكيكتب()، ويتلقى السيرفو أمرًا جديدًا قبل أن يصل إلى الموضع المحدد، سيحدث شعور غريب بالوخز. اترك ما لا يقل عن 15 إلى 20 مللي ثانية من وقت الانتظار بين كل تغيير زاوية للسماح للمؤازرة بالحصول على وقت كافٍ لإكمال الإجراء. ولهذا ذكرنا من قبل أننا بحاجة إلى الإضافةتأخيرإلى الحلقة.
بمجرد إتقان أساسيات الدوران ذهابًا وإيابًا، يمكنك تجربة مجموعات أكثر إثارة للاهتمام. على سبيل المثال، دع المؤازرة تتعاون مع مصابيح LED لإضاءة مصابيح بألوان مختلفة عند الدوران إلى زاوية معينة؛ أو استخدم اثنين من الماكينات لتشكيل ذراع ميكانيكية بسيطة لتحقيق تقلبات متزامنة أو بديلة. يمكن استخدام هذه الأفكار في أدوات المنزل الذكي أو تعديلات ألعاب الأطفال أو التركيبات الفنية لتعزيز متعة المنتج وتفاعله على الفور.
علاوة على ذلك، يمكنك أيضًا حفظ أوضاع التدوير والتوقيتات لإنشاء "مكتبة إجراءات" واستخدام جهاز التحكم عن بعد الخاص بالبلوتوث أو الأشعة تحت الحمراء بهاتفك المحمول للاتصال بأوضاع التأرجح المختلفة. بهذه الطريقة، لم يعد عملك عبارة عن حركة ميكانيكية متكررة، ولكنه يحتوي على "تعبير" متغير يمكنه إظهار أوضاع حركة مختلفة وفقًا للمشهد، مما يمنح المستخدمين تجربة أكثر ثراءً.
ما هي المشاريع الصغيرة المثيرة للاهتمام التي تقوم بها باستخدام الماكينات؟ هل سبق لك أن واجهت هذا النوع من مشاكل البرمجة التي تجعل الناس غاضبين؟ مرحبًا بك لمشاركة قصتك في منطقة التعليق، أو البحث مباشرة عن "Shenzhen Hengxing Micro Motor" لتجدنا للحصول على حلول أكثر عملية للتحكم في معدات التوجيه ومراجع كود المصدر، بحيث يمكن تنفيذ الفكرة التالية بسلاسة أكبر.
وقت التحديث:2026-03-25