سؤال

منذ فترة، حصلت على مجموعة LEGO Mindstorms NXT لعيد الميلاد، والآن أرغب في برمجتها بلغة C++.

لقد بحثت حولي وهنا وفي أماكن أخرى، ولم أتمكن من العثور على مكتبة OOP C++ متعددة المنصات ومفتوحة المصدر والتي "شعرت أنها على ما يرام"، بما في ذلك lestat وnxtOSEK.

لذا، قررت أنه ما لم أتمكن من العثور على واحدة تعجبني، فستكون تجربة تعليمية رائعة بالنسبة لي أن أكتب مكتبتي الخاصة.

لقد أجريت القليل من البحث، وقررت أنه سيكون من الأسهل التواصل معه عبر البلوتوث، بدلاً من تجميع برامجي على كود جهاز NXT.

أود أيضًا أن يتم ذلك بأسلوب OOP، مما يعني أن قوالب NXT والمحركات وأجهزة الاستشعار وما إلى ذلك ستكون موجودة ككائنات.

إذن سؤالي هو:ما الذي يجب أن أعرفه قبل الشروع في هذا؟أين يمكنني الحصول على مراجع جيدة (إلى جانب هنا، وخاصة بـ NXT)؟ما هي المكتبات "الأساسية" اللائقة الأخرى لأشياء مثل اتصال Bluetooth؟

*أنا أؤيد استخدام التعزيز والمحكمة الخاصة بلبنان، بالمناسبة، إذا لزم الأمر.

بدلاً من ذلك، أنا أؤمن بعدم إعادة اختراع العجلة إذا لم أكن مضطرًا لذلك، لذلك إذا كانت هناك مكتبة NXT مناسبة للاتصال بالبلوتوث C++ OOP، فأخبرني بذلك!

هل كانت مفيدة؟

المحلول

ولقد اتخذت نظرة على القيام بذلك من قبل.

وتبدأ في النظر هنا: http://bricxcc.sourceforge.net/

في هذه الصفحة يمكنك تحميل المصدر لذلك. ما انتهى به هو تجميع بلدي C شفرة المصدر وصولا الى رموز بايت الطوب NXT يمكن أن نفهم.

وهذا يسمح لي أن أضيف بعض ملحقات مخصصة لC الرغم من أنني لم تنفق الكثير من الوقت تجميع C وصولا الى شكل مدمج كافية في رموز البايت التي تناسب في ذاكرة NXT ل:)

إذا كنت ترغب في استخدام تنفيذ C الموجودة ثم تحقق من هذا الرسم البياني: HTTP: // www.teamhassenplug.org/NXT/NXTSoftware.html

لقائمة (رموز التالي بايت) NBC تبدأ مع هذه الصفحة. لقد وجدت أنه من المفيد للغاية.

http://bricxcc.sourceforge.net/nbc/

نصائح أخرى

ولقد استخدمت هذا واحد، وأنا لا أعرف ما إذا كنت قد تأكدت منه أم لا:

http://www.norgesgade14.dk/bluetoothlibrary.php

وتوفر هذه المكتبة الدعم لقراءة بيانات الاستشعار المختلفة عبر اتصال بلوتوث فضلا عن تقديم الدعم للسيطرة على المحركات.

وعلاوة على ذلك مكتبة يمكن تعديلها بسهولة، وجدت أنه من السهل للغاية لإعادة تكوين ذلك.

لقد صادفت هذا الموضوع العام الماضي، أثناء العمل في مشروع باستخدام لغة C++ للتحكم في ذراع الروبوت.لقد استخدمت طوبين NXT و5 محركات.

يمكنك العثور على مكتبة NXT++ 0.6 الأصلية هنا:
http://nxtpp.clustur.com
https://sourceforge.net/projects/nxtpp/forums/
للأسف لا يتم تحديث هذا الموقع.

لقد قمت بتكوين إصدار جديد من NXT++ 0.7 مع بعض الإصلاحات ودعم عدة قوالب عبر USB أو Bluetooth:https://github.com/dbworth/nxt-plus-plus
راجع الملف التمهيدي للتفاصيل.

أضاف مستخدم آخر، Piotr، دعمًا إلى NXT++ 0.6-2 لمستشعر HiTechnic المضاعف ومستشعر الألوان Lego:
http://wmii.uwm.edu.pl/~artem/downloads.html

يعتبر،
ديفيد.

ويتيح رؤية مظاهرة من إمكانيات NXT ++، وتصفية الرسم البياني، https://www.youtube.com/watch؟v=PDYtjWgvsxg لأنه يقوم على الإرسال أحدث نسخة الداعمة، من http://wmii.uwm.edu.pl/~artem و قسم التحميل،

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top