في مقالتين سابقتين ، تحدثت عن استخدام هاتف ذكي للتحكم في سيارة لعبة ، سواء عن طريق الصوت مباشرة أو باستخدام هاتف بلوتوث ذكي آخر. لكن السيطرة بدائية - تم إصدار أمر ، وأدارت السيارة الأمر ، وتوقفت وانتظرت الأمر التالي. ويرجع ذلك إلى السرعة العالية للسيارة للظروف الداخلية (حوالي 1.2 م / ث) ، بالإضافة إلى وقت القيادة الطويل وعدم القدرة على التدخل بسرعة في الحركة باستخدام القائمة. حتى جهاز التحكم عن بعد القياسي لم يسمح بالتحكم. في الإصدار الجديد من وحدة التحكم عن بعد بواجهة رسومية ، قررت استخدام PWM لضبط السرعة ومحاكاة التوجيه.

تظهر الصورة الجهاز الذي يتحكم به الهاتف الذكي ، وأسفل الهاتف الذكي مع برنامج تحكم عن بعد يعمل بالبلوتوث.
يوجد في أعلى الشاشة شريط تمرير (دائرة خضراء) ، يتم تحريكه بإصبعك.

عند إزالة إصبع من الشاشة ، يتم نقل المسافة النسبية من شريط التمرير إلى الحد الأيسر للشاشة إلى الهاتف الذكي للتحكم ، حيث يتم تشكيل التعديل العرضي لإشارة النبض.
GR.GET.POSITION c1, xx, yy r6=(xx-xc)*(xx-xc)+(yy-yc)*(yy-yc) IF r6<rkn THEN GR.TOUCH touched, x, y IF y < 120 THEN DO GR.TOUCH touched, x, y GR.GET.POSITION c1, x1,z1 GR.MOVE c1 ,x-x1, y1 GR.RENDER UNTIL !touched ENDIF GR.GET.POSITION c1, x1,z1 POPUP STR$(x1/w) BT.WRITE "#"+STR$(x1/w) ENDIF
أصغر دورة عمل للإشارة هي 20 ٪ ، أكبرها 80 ٪. التردد النظري الممكن هو 10 هرتز. في الواقع ، ربما حوالي 4-5 هرتز ، لأن إشارات التعديل تذهب في التيار العام للأوامر وبعضها أيضًا لديه تأخير زمني. لذلك ، مع دورة العمل المنخفضة ، يمكن رؤية الاهتزاز بوضوح.
زرين أخضر - أعلى إلى الأمام ، أسفل الظهر. الزر الأحمر الأيمن - قف ثابتًا. زران أبيضان - أوقف البرامج على جهاز التحكم عن بُعد وعلى الآلة الكاتبة. يوجد في الجزء السفلي من الشاشة ثلاثة أزرار أرجوانية لتحديد اتجاه الحركة إلى اليسار ، والمستقيم ، واليمين. في
عند تشغيل الوضع المطابق ، تظهر دائرة ذات قطر أصغر ونفس اللون ، ولكن لون أغمق في منتصف الزر. بالإضافة إلى الأزرار ، استخدمت أيضًا مقياس تسارع للتحكم في اتجاه الحركة. عندما يكون الهاتف الذكي أفقيًا ، يكون إسقاط متجه تسارع الجاذبية على المحور 0Y هو 0 ، وهو ما يتوافق مع الحركة مباشرة (انظر الشكل أعلاه).

إذا قمت برفع الجانب الأيسر من الهاتف الذكي ، فسيكون الإسقاط بعلامة + ، والتي تتوافق مع الحركة إلى اليمين.

إذا رفعت الجانب الأيمن ، فعندئذٍ بعلامة - تتوافق مع الحركة إلى اليسار.
يقرأ البرنامج قراءات مقياس التسارع ويرسل الأوامر المناسبة إلى الهاتف الذكي الذي يقود السيارة ، ويعرض الوضع على الأزرار.
SENSORS.READ 1, sx, sy, sz IF (sy<=1)&(sy>-1)&(lrsh) THEN rsh=1 lsh=1 lrsh=0 GR.HIDE cc13 GR.HIDE cc15 GR.SHOW cc17 GR.RENDER BT.write "f" pause 100 ENDIF IF (sy>2)&(rsh) THEN rsh=0 lsh=1 lrsh=1 GR.HIDE cc13 GR.HIDE cc17 GR.SHOW cc15 GR.RENDER BT.write "r" pause 100 ENDIF IF (sy<-2)&(lsh) THEN lsh=0 rsh=1 lrsh=1 GR.HIDE cc17 GR.HIDE cc15 GR.SHOW cc13 GR.RENDER BT.write "l" pause 100 ENDIF
هذه هي طريقة عمل جهاز التحكم عن بعد. لقد خضع تشغيل برنامج التحكم في السيارة أيضًا لتغييرات ، ولكنها ليست كبيرة جدًا. في المستقبل ، أريد استكمال البرنامج بوظائف حفظ الأوامر وتنفيذها في الوضع التلقائي.